At 02:18 PM 3/13/2007, Robert G. Brown wrote:
On
And really old people also remember Our Old Friend, PL/C, which never
met a line of code it didn't like.

Designed as competition(?) for Basic, really.. It was used for introductory programming classes at UCLA in 1977 and 1978 as an "easy" form of PL/I (q.v. below), which was mainframe oriented (UCLA having a big S/360 and not being as farthinking CS-wise as UCSD, which had a Burroughs B6700 (for which the machine language is a variant of ALGOL) and microcomputers to teach Pascal)

To draw upon another poster's comments about CS, trade schools, etc., at that time (late 70s) UCLA just had a Math/CS major, which was very heavy math, and not much CS (being in the College of Letters and Sciences, and not the College of Engineering). Programming was taught as an Engineering class (E10,E20,E30) with domain specific variants for people taking management classes, oriented towards programming to run on the machine they had (i.e. the S/360). E10 taught PL/C. E20 taught MIXAL, CALGOL, and PL/I, E30 was mostly MIXAL (which I hated, being entirely too "genericized"... I'd have rather used PDP-11 ASM) and CALGOL. It was basically aimed at EE majors who were going to design computers or who were going to run existing software.

At UCSD, on the other hand, Software development was taught as part of a CS curriculum in the School of Engineering and Applied Sciences, and so the "purity and elegance" of Pascal was appealing.


I really liked PL/1.  Again a relaxed interpolation of C and fortran, in
a lot of ways.  Fortran IV (which I learned after PL/1) really sucked in
comparison.  Noting that this was pre-1977 (wince).


You mean, of course, PL/I (roman numeral, not arabic). IBM's great hope for the future. FORTRAN with all the nifty data structures, modular flow control constructs, MUCH better string handling, pointers, recursion, macros, etc., a lot drawn from Algol. (no pointer arithmetic allowed, either!) But a honkin' huge compiler, which made it less popular (I think you had to have an H series machine to run it). It was also EVIL to write a parser for (lots of stack space needed because you're waiting for that semicolon...), so it didn't lend itself to minimalist implementations. The scientific users liked FORTRAN, and the business community was happy with COBOL and RPG.

Interestingly, it was the progenitor of HAL/S (used for spacecraft, including the shuttle), PL/M (used to write CP/M, for which we all own some debt.. thanks Gary K.!). There was a version called PL/S used by IBM to write MVS, and another version used to write PRIMOS (for PR1ME computers). It had all the nice data structures and memory management for building an OS, although I suspect that another problem was performance (because of garbage collection, although I probably didn't know that back then).


Now that I think about it, I actually quite liked working in PL/I.


 it is, in the
end, maddening.  Makes one want to commit acts of violence and drink
heavily.


And this is bad, because?

I have no problems with any of this, and there is certainly some truth
to it -- in certain arenas.  OTOH, the end stage of this attitude is, to
be frank, Vista.  A program that is so huge, kludgy, and inefficient
that it runs like a pig on the fastest, biggest hardware in existence,
and it is >>just the bloody operating system<<, the part that has to
basically manage a core execution loop, a scheduler, some devices, and
be able to load and run software.  God help anybody that actually needs
to run an application when the OS itself is designed by people that
don't give a rat's ass for elegance and efficiency.

Oddly, the OS (kernel) of Vista is fairly clean (as is the kernel of WinNT). It's the many, many layers of abstraction environment on top that you have the beef with, because that has to satisfy many, many constituencies (such as the content providers who don't want their valuable content misappropriated).



Even linux is starting to suffer from a certain amount of bloat.  The
primary difference is that linux is still designed in layers, and one
CAN run a considerably stripped linux and CHOOSE to layer on the bloat
that you need.

Indeed.. and in Vista (or any other digital rights management (DRM) compatible OS) can't provide this strippability, because then it would be easy to "strip" the DRM, or insert an extra layer to intercept protected content.

I personally think that trying to do software DRM is a fool's errand, and it should be done with hardware (after all, why do you think *people who really care* use crypto boxes and red/black separation)


I personally think that there is a relatively clean line out there
somewhere in the sand -- for quickies and one-offs, use a scripting
language (and I don't even care which one).


But one-offs have a tendency to become permanent production code. I'm having just such a discussion today vis a vis the use of LabView (a graphical tool for controlling test equipment).

<speechless gape>


We are piling the wood for the auto da fe right now...

[He pulls out the shiny cylinder, now empty, and plugs in a tall bottle
of amber fluid in its place.  Sweat is now pouring down his face.  A
steady rumble of nuclear holocaust comes from overhead, and the concrete
ceiling is starting to glow a dull red.  Taking a deep pull on the mask
nozzle, his eyes begin to glaze.  Then his fingers begin to stab blindly
at the red button, the one that launches the ultimate, world-ending
reprisal.]

Right.

How could I have been so blind?  Oh please, please, I confess!  I was
tempted away from the path of goodness and righteousness by the thought
of consorting with all of those daemons... the ones in boots of shiny
leather.  I will return to the one true faith... and go buy my copy of
Vista tomorrow!

Seriously, you and Jeff can try to find a 12-step program in your
respective geographic areas.  I'm sure there are other recovering
fortran-heads.  You can share personal stories about the horror of
hollerith and the time you managed to write a whole 500 line program
with no GOTOs!

Sure.. punching 029 codes for parens on an 026 punch and stuff like that.

it's easy to write without GOTOs in FORTRAN...

        IF (0) 902,902,902

is the same as
        GOTO 902

(won a six pack of beer as an underage youth with that one on a bet...)
(and, as a website I was just pointed to mentions: "Arithmetic IF is truly a post-modern programming construct: it does not impose the false Cartesian/Aristotelian dichotomy inherent in the IF/ELSE structure. Nor does it block nonlinear thought by the block structure inherent in the ENDIF" So there...for those of you with dual major advisees looking for something technical and something philosophical)

Otherwise your friends may have to hold an "intervention".  And you know
what that involves, don't you?

De-programming.

Think about it...;-)

The horror...


James Lux, P.E.
Spacecraft Radio Frequency Subsystems Group
Flight Communications Systems Section
Jet Propulsion Laboratory, Mail Stop 161-213
4800 Oak Grove Drive
Pasadena CA 91109
tel: (818)354-2075
fax: (818)393-6875

_______________________________________________
Beowulf mailing list, Beowulf@beowulf.org
To change your subscription (digest mode or unsubscribe) visit 
http://www.beowulf.org/mailman/listinfo/beowulf

Reply via email to