Re: next the good jobs will go



On Tue, 05 Aug 2008 17:30:02 -0700, Islander wrote:

Glenn wrote:
On Tue, 05 Aug 2008 13:36:26 -0700, Islander wrote:

Well, UNIX was not developed using the waterfall model and is probably
the best OS out there today (at least the derivatives of UNIX are).
One would think that a technology as old as OS could be completely
specified, but that has proved to be only in the imagination of the
software engineering past. Would you believe that there are still
research programs in operating systems?

I thought Unix was designed for telephone switching networks and its
popularity in other areas was because it was free, or at least the cost
of a tape. Neither DEC nor IBM ever considered it sufficient for a
application or development shop because it consists of whatever any
programmer thought would be a good idea, and it had too many
restrictions because of its heritage.

OS isn't all that old, as before OS were monitors and supervisors.

Rochester's first powerful OS was released with S/38 and was a subset
of the replacement proposed for 370. The large systems never replaced
their OS, but just enhanced it. Our OS migrated from S/38 to AS/400
and on to the current systems, whatever they are called. I assure you,
trial and error isn't part of its design and implementation. The
primary reason for a new operating system was the need to support a
single level view of large (64 bits at first) storage or memory space.
It was also the first to use two levels of microcode as well as other
innovations that I can't remember. If you really want to understand
commercial computers, not lab test stands, you should check out a few
books on IBM S/38.

The issue of software systems like the Mar's lander is different. You
are right in implying that we cannot keep shooting up missions until
we get the software right. The approach used here is the application
of simulators to test coupled with the ability to upload updates when
bugs are discovered. The simulators are developed in a separate
organization from the one developing the system code to give an
independent perspective. It is kind of like the old joke about when a
munitions manufacturer happened to meet an armor manufacturer at the
Defense Procurement Office. "Just when I build a better projectile,
somehow they come up with a more severe test..."

This has always been in place since the beginning but where are the
programmers coming from if structure programming isn't taught. NASA is
pinched for money without the need to retraining personnel. Simulators
have never replaced skilled technologist because they are only as good
as their designers. With programmers using faith based techniques,
Mars is out of reach. We knew this a number of years back, but like
the universities, the weapons manufactures, everyone became a optimist
to keep the money coming.

The inability to specify large complex software systems is one of the
reasons that the Strategic Defense Initiative was and is a bad idea. A
friend of mine presided over a panel of computer scientists who were
tasked with determining the technical feasibility of this part of the
SDI program. He made an interesting observation. Software developers
tend to treat software as if it were an exercise in the design of a
finely engineered watch. Every part is designed to perform a specific
function and is optimized to do that function and no other. He
concluded that software systems should be designed like communication
systems. These are designed in the anticipation that any part may and
probably will fail in unanticipated ways.

I never heard this as it is the system's architects job to optimize the
system function, not to let one function dominate. The problem with
SDI was simply too many line of complex code. It's probability, and as
humans become dumber, the probabilities become larger. We're out of
business and the fault lies with inexperience, with no curiosity, no
questioning or independent thinking. It was my job for a short time to
find a solution, but that's why it was for a short time.

UNIX is a fascinating story. Back in the late '60s and early '70s
everyone was attempting to write operating systems. We even had one
under development at NSA with the goal of replacing the GE 635 batch
system monitor with a secure time sharing system. This was in
competition with MULTICS, the ill fated Defense project which was a very
good example of how the structured programming practices of the period
produced horrible systems.

Dennis Richie and Ken Thompson, veterans of MULTICS, decided to go off
in a corner at Bell Labs and write UNICS, a pun on the name MULTICS.
There were several false starts, but with the creation of the C
programming language, UNIX was written in just a few months on a PDP-11.

Thompson took a sabbatical to teach at Berkeley and brought the
fledgling UNIX along. Bell Labs, thinking that something that could be
written by just a few people in a few months could not be worth much, so
they freely licensed it to universities. It was enthusiastically
grabbed by many universities to support their research - essentially it
was the only code around that was not proprietary. Berkeley did a great
deal of work on it, was supported by DARPA for much of that work, and
acted as distribution agent for the university community. This was the
real beginning of open source code and was very successful.

SUN Microsystems was launched with the assistance of Bill Joy from
Berkeley and wrote their own version of UNIX based on the Berkeley code.

With the advent of the Internet in the early '80s, work on UNIX really
blossomed, especially with the DEC university distribution of early VAX
machines, the 750s which really produced a lot of new work out of the
university research community, most of it on top of UNIX.

The rapid growth of the Internet produced a demand for reliable
operating systems that could be run on small machines and while SUN and
DEC dominated the server field for a while, UNIX quickly took over as
the operating system of choice since it was so easy to port to small
machines.

The interest in UNIX and the very large community of students who had
worked on UNIX during their graduate education made it natural for UNIX
to find it's way into many operating systems. Then, a guy by the name
of Linus Torvalds at Helsinki University learned how to program and
wrote LINUX, once again in just a few months, drawing heavily on the
open source software community. It was small, tight and very fast - and
he made it available for free!

Red Hat Software picked it up in '93 and gave it commercial quality
support that made it acceptable to the last holdouts in the software
industry. Other companies soon followed with a similar business
strategy.
Image this! Building a business on the basis of free software that had
evolved over 20 years, primarily by kids in universities! Enough to
make the software engineers in the old line computer manufacturers
swallow their pride and pick it up.

I would be willing to bet that most of the web sites that you visit are
running UNIX code!

Web sites are how you judge the value of OS? The last phase of program
production is called maintenance. This is where upgrades and fixes occur.
From the mortality rate of the available PC programs (X11 in my case) it
appears that bugs are best fixed by starting over (find a newer program
as the programmer has lost interest) and the upgrade requests fall on deaf
ears (the programmers have left for paying jobs). It may be satisfactory
to select the low bidder for Internet, but do you want your bank, your
hospital, or your Mars space program to rely on one person who just got a
better offer. Does anyone bother to report Mac or PC bugs more than once?
Does the application code provide what should be OS support so that rather
than modernize, Unix has regressed programming. I can only judge by
what's available to me, but I find nothing but minimum architecture
program support and geewhiz programming. Even should their be something
with "commercial quality," whatever that is, the OS is too restrictive and
fragile to support critical applications.


How can you judge Unix, when you list no comparison with OS/400 or some
of the OS's that have passed on because Unix was free. Apparently you only
know about Unix. Programming is a process of which the OS is a tool, if
the tool is faulty, so is the process. But go ahead and blame MS's
programmers for problems with your PC even when the fault really is with
the process.

--
Glenn

.



Relevant Pages

  • Re: next the good jobs will go
    ... I thought Unix was designed for telephone switching networks and its ... trial and error isn't part of its design and implementation. ... programmers coming from if structure programming isn't taught. ... grabbed by many universities to support their research - essentially it ...
    (soc.retirement)
  • Review: Art of Unix Programming by Eric S. Raymond
    ... The Art of Unix Programming ... "Eric S. Raymond (or ESR) is widely known for the groundbreaking ... In interface design, ...
    (comp.unix.programmer)
  • Re: Microsoft to release patch for IE flaw
    ... Stick with Apple or Microsoft because they, not the Unix crowd, ran IBM out of the PC business. ... I programmed a little in APL on a 5110. ... As I recall, Dijkdtra was a programmer, most noted for structured, top down programming and minimum instruction set. ... His more recent work was in the field of multi-processing including the development of fundamental algorithms and methods for interactions between operating systems that run concurrently on multiple machines. ...
    (soc.retirement)
  • Re: next the good jobs will go
    ... error isn't part of its design and implementation. ... UNIX is a fascinating story. ... Back in the late '60s and early '70s everyone was attempting to write operating systems. ... This was in competition with MULTICS, the ill fated Defense project which was a very good example of how the structured programming practices of the period produced horrible systems. ...
    (soc.retirement)
  • Re: Microsoft to release patch for IE flaw
    ... Stick with Apple or Microsoft because they, not the Unix crowd, ran IBM out of the PC business. ... I programmed a little in APL on a 5110. ... As I recall, Dijkdtra was a programmer, most noted for structured, top down programming and minimum instruction set. ... His more recent work was in the field of multi-processing including the development of fundamental algorithms and methods for interactions between operating systems that run concurrently on multiple machines. ...
    (soc.retirement)