Slashdot Mirror


The History of Programming Languages

Dozix007 writes "For 50 years, computer programmers have been writing code. New technologies continue to emerge, develop, and mature at a rapid pace. Now there are more than 2,500 documented programming languages and O'Reilly has produced a poster called History of Programming Languages, which plots over 50 programming languages on a multi-layered, color-coded timeline."

16 of 684 comments (clear)

  1. Link is a 39x17 PDF by The+Angry+Mick · · Score: 5, Informative

    You may want to "right-click, Save As" that puppy . . .

    --

    I'm not tense. I'm just terribly, terribly, alert.

  2. Re:Great! by Jaywalk · · Score: 5, Informative
    Now I need to go buy a 40" monitor to view the whole thing at once...
    Or you could buy two of their books from oreilly.com and get the poster for free by using discount code OPC79 in the shopping cart.

    Unless you need an excuse to buy a 40" monitor, in which case, just forget I said anything.

    --
    ===== Murphy's Law is recursive. =====
  3. Related by arvindn · · Score: 4, Informative
  4. Re:SmallTalk by One+Louder · · Score: 5, Informative
    The original Smalltalk-80 has a direct descendent in Squeak. The original Smalltalk guys, including Alan Kay and Dan Ingalls, still work on it.

    It's quite impressive how it has evolved, and is still one of the most entertaining software environments around.

  5. Did they give credit to the original? by sakti · · Score: 3, Informative

    Looks like they colorized the one found here: http://www.levenez.com/lang/

    --
    "It is better to die on one's feet than to live on one's knees." - Albert Camus
  6. Re:Starts with 3GLs. by Monkelectric · · Score: 3, Informative
    Because you are mistaken about the nature of computer languages. Machine code (which you refer to as binary) is not a language. Basically the binary patterns that make up machine code are read by the processor, and the processor internally reads a "table" that tells it how to configure its circuitry to perform the operation indicated by the machine code. (yes this is a gross simplification, yes I have designed *simple* processors before).

    Assembley language is simply assigning pneumonics to those binary patterns instead of binary numbers, so instead of writing "10010000" for "No Operation" (the only one I recall off hand) you write "NOP". Assemblers are relatively trivial to write, and the only other function they perform is error checking and binding variables to addresses.

    Now it is true the machine code and assembley are languages in the technical sense (they can be used to express algorithms and they are turing complete), they are useless as languages except for people writing OS's and code that needs to go as fast as possible, because by definition assembley and machine code are tied to the architecture of the specific processor/system design you have chosen. Each processor speaks its own variant of these languages although each processor family is very similiar (usually every generation of processors gets a few new instructions/capabilities added, and the timing for them varies wildly). Long story short, there is a machine code/assembley code language for EVERY type of processor out there, and they are functional languages, not expressive languages, and they are not meant to work on any different computers. It would be like if you knew a human language that you could only use to talk to people born on the same day you were, not very useful huh?

    --

    Religion is a gateway psychosis. -- Dave Foley

  7. Re:Great! by stanmann · · Score: 5, Informative
    And of course in a very small way they are correct, since that is an abridged version of the statement
    develop the first commercial programming language for a personal microcomputer.
    Which is a true statement.
    --
    Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
  8. Re:Functional programming languages dying? F# XSLT by ornil · · Score: 3, Informative

    The only date they list for Ocaml is 97 which is presumably when it was created. The latest major version of Ocaml is from 2000, and the latest minor update is from 2003.

    I bet that's not the only example. They list Java 1.4.1_2002, but don't list minor releases of more obscure languages.

  9. Re:Great! by drooling-dog · · Score: 3, Informative
    They are completely correct. It was the first programming language for a personal computer.

    That's still a far cry from the first programming language, which is what the quote actually says. Some of us were happily banging away in languages like Fortran and PL/1 well before then.

    Still, their place in history can't be denied. They were at the forefront of an industry in its infancy and did perhaps more than anyone to make it a great one.

  10. Re:Lisp by Anonymous Coward · · Score: 3, Informative
    Lisp can be interpreted or compiled. Performance is not a property of the language so much as a property of the compiler. Last time I checked, compiled Lisp can be faster than compiled C. (See these studies for example.)

    As for the peculiar syntax, you get used to it rather quickly. Just like with other languages, there are editor tools to help you be productive "in spite of the parenthesis."

  11. Re:A program written in many of them by tverbeek · · Score: 4, Informative

    It's a polyglot of only seven languages (COBOL, Pascal, Fortran, C, PostScript, sh, and 8086 assembly), but perhaps you were thinking of this?

    --
    http://alternatives.rzero.com/
  12. Re:VMs will solve this issue by Jimmy_B · · Score: 3, Informative
    One thing that has always bothered me is the lack of standards for basic syntax. Why not just have a standard for basic operators? For example does anyone really lose flexibility if we say statements are delimited by ';'? Or a standard syntax for if-then-else? e.g. perl's syntax is a pointless departure that adds no value.
    You've obviously never tried writing a language grammar. Give every language the same syntax and you have... a bunch of dialects of the same language. Standardize a few control structures and many languages won't be able to adopt your standard because it introduces conflicts or (even worse) keywords.
  13. Perl is just as wrong by ajs · · Score: 4, Informative

    Perl's history starts with nawk and sh at version 1.0 and there are no further influences listed. At least that's what's in the picture.

    A more accurate history would be:

    Perl 1.0: awk, sh, C, BASIC
    Perl 5.0: C++, LISP

    Listed as a seperate line:

    Perl6 A1-12: Perl 5.0, LISP, C#, C++, Ruby, Java, Python, SNOBOL

    To be more specific, Perl 1.0 had heavy influences from C. The most obvious influecnes were in the operator precedence, ternary operator and behavior of parens.

    In 5.0, the influence of C++ was felt strongly on the establishment of Perl 5's non-object-model object model (AKA the object model construction kit) and from LISP can the idea of closures.

    Come Perl6, of course, it's a different language which borrows most of all from Perl 5, but also heavily from the other languages listed. Adding LISP currying, Ruby mix-ins, a Java and/or C#-like VM, python-like exceptions and a number of features from C++ including templated proto-classes and iterators as well as dozens of unique features. But, ultimately I think the most world-view altering change will be the SNOBOL-like inline grammar construction.

  14. Re:Great! by dont_think_twice · · Score: 3, Informative

    And of course in a very small way they are correct, since that is an abridged version of the statement ...

    Abridged means shortened without changing the meaning. Clearly, inventing the first programming language is different than inventing the first commercial programming language for a personal microcomputer. So the statement is wrong, and in no way, even very small, is it correct.

    Of course, Gates and Allen did not invent BASIC either, so to even claim that they " develop[ed] the first commercial programming language for a personal microcomputer." is a stretch

  15. Delphi should have been the VB killer by adug · · Score: 3, Informative

    Well, there are lots of Delphi / VB comparisons and observations here so I thought I would throw in my two cents as Delphi is the environment I program in the most.

    While there are similarities between VB and Delphi there were (and I say were because VB.net is a whole new animal) some important differences. For instance:

    1. Delphi can link statically - I can hand a person a floppy disc with a program I wrote in Delphi and I know that they will be able to run it without distributing VB Runtime Libraries

    2. Object Pascal in Delphi is a strongly typed language and a true object oriented language.

    3. While Delphi applications may not be quite as fast as C++ apps the performance is certainly better than VB.

    4. One can write Assembly blocks in a Delphi unit.

    There are more but I am at work so I'll stop.

    It's fashionable to slag VB, but, really, it's done a lot. A lot of people that would never have gotten into programming were able to make apps to suit some small purpose because of VB.

    It's just too bad that most of those people did not know about Delphi and latch on to that because it really is the best RAD environment for Windows. Delphi really should have been the VB killer.

  16. Re:ActionScript?!? by mad.frog · · Score: 3, Informative

    No, ActionScript is essentially ECMAScript, aka JavaScript.

    ActionScript 1.x was the language for Flash Player 5 and 6, and corresponds to ECMAScript 3 / JavaScript 1.x, IIRC.

    ActionScript 2.x was introduced for FlashPlayer 7 and mirrors ECMAScript 4, which is actually quite a nice language, IMHO.

    ActionScript isn't 100% complete, as it omits or changes a few minor things (e.g., eval() isn't implemented in any useful way), but really, it's just trivial stuff.

    I think there's some server-side version of ActionScript, but almost all the usage I'm aware of is for programming Flash movies.