On Oct 30, 5:00 pm, Mihai DINCA <mihai.di...@free.fr> wrote:
> ...

As a greybeard who lived through this history I have to correct some
of your misstatements.


> I personally loved Pascal - a perfect programing language to be learned
> and to be used. It's limits were largely compensated by genial
> implementations (anyone remember the most famous "TurboPascal" and its
> direct child "Delphi"?).

Niklaus Wirth's Pascal (essentially derived from Algol-60 with some
additions like enumerations) was never intended to be more than a
pedagogical instrument, to teach undergraduates the fundamentals of
procedural programming back in the heyday of structured, before object-
oriented programming which added data abstraction (data hiding,
separation of interface from implementation) and inheritance caught
on.

It was also in the era before widespread prevalence of GUIs. Graphical
programming was a natural fit for OO, even with the fact of event
handlers coming from containment hierarchies, rather than
inheritance.

There were many successors that sought to improve on Pascal and had
some success: Modula and Concurrent Pascal in academia, and of course,
the US DoD's standard language Ada.

The problem with what you call "congenial implementations" was that
they all extended the language to make it more suitable for real-world
applications. These extensions were all same but different. That is,
they did similar things differently, and thus were incompatible, with
the result that programs were not portable, and that was in an era
before the commoditization of  hardware and software, long before
today's monoculture.

PC's of the day were hobbiest machines. CP/M was in vogue. IBM had yet
to jump into the PC market. Apple's Macintosh was years away. 30 years
truly was a long time ago.


> However, the language that succeeded was the
> "C" language, a sort of a caricature of Pascal (see for example and for
> funhttp://fgouget.free.fr/fun/CScandal.shtml). Why C? C was developed
> by a hardware company, DEC (Digital Equipments Corporation) in tandem
> with Unix in order to offer an easily portable platform.

That's factually incorrect. First, C came before Pascal. Second, DEC
had nothing to do with it; Unix and C both came out of Bell Labs. The
folks involved did it as a bootleg project to support their officially
sanctioned (and funded) task, which was to produce software to control
a phototypesetter,  the venerable blue box from Compugraphics, which
had four carriers to hold four font master films and optically exposed
photolithographic media to make offset masters for printing. Different
sizes of a font face were obtained by adjusting the magnification
before exposing a letter.) Unix was created to support the TROFF (and
NROFF) markup languages, and C was the implementation language for the
whole ball of wax. TROFF's limitation of at most four different
typefaces on a page comes from the inherent limit of the Compugraphic
hardware.

In fact, they did use a mini-computer from DEC -- something bigger
than a PDP-8, but before the PDP-11, which came later, although they
did move to it, especially after the model 45 came out, PDP-11/45,
with floating point hardware and virtual memory. But that connection
with DEC was incidental. Google for more.

(The name "Unix" was a reaction to Multics, a research OS from MIT
implemented on IBM mainframes in IBM's PL/I language. Multics was
intended to be secure and robust through its innovation of "rings of
security: based on "capabilities," which is what today's access
control lists are derived from.)

Brian Kernighan and Dennis Ritchie designed C and Unix; their book
"The C Programming Language" is a classic, as are other books to come
out of that environment: "Elements of Programming Style" (Kernighan
and Plauger), Software Tools (Kernighan and Plauger) and "The Unix
Programming Environment" (Kernighan and Pike).

C++, on which C# is based, was created by another Bell Labs
researcher, , who added notions of inheritance from Simula-67.

There were other projects that added OO to C, notably Brad Davis's
Objective-C (C and Smalltalk tied together with a string -- C except
inside brackets that were not subscripts, Smalltalk, with the ability
to refer to C variables), which would be a footnote in computer
history had Steve Jobs, who after his ouster from Apple, not used it
in the NeXT system because it's the best there was at the time.
(Objective-C predates C++.) When Jobs came back to Apple, he killed
Darwin, Apple's then next-generation OS and got Apple started on what
became OS X, which at its core combined NeXTSTEP, implemented in
Objective-C, with the Mac GUI.

It's true that C# benefited from the experience of Java, but on the
downside, it carries forward some of C's liabilities, including the
pre-processor. (Bjarne Stroustrup used to begin his introductory talks
about C++ by saying:

     I have good news and bad news for you about C++.
     They're the same. C++ is based on C.

</Fred>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Java EE (J2EE) Programming with Passion!" group.
To post to this group, send email to
java-ee-j2ee-programming-with-passion@googlegroups.com
To unsubscribe from this group, send email to
java-ee-j2ee-programming-with-passion+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/java-ee-j2ee-programming-with-passion?hl=en?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to