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."

684 comments

  1. Great! by Anonymous Coward · · Score: 5, Funny

    Now I need to go buy a 40" monitor to view the whole thing at once...

    1. 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. =====
    2. Re:Great! by dickeya · · Score: 1

      Time to fire up the 42" plotter! Yahoo!

    3. Re:Great! by danamania · · Score: 5, Funny

      You can view a much shorter timeline of it all, History according to Microsoft.

      One of the quotes direct from that little presentation: "Using the Altair 8800, Bill Gates and Paul Allen develop the first programming language, and begin an extraordinary, history-making journey."

      Good to know where it REALLY all started :)

    4. Re:Great! by Anonymous Coward · · Score: 0

      > Using the Altair 8800, Bill Gates and Paul Allen develop the
      > first programming language, and begin an extraordinary,
      > history-making journey.

      Technically it was the first moderm programming language much like .NET is the new one for this century so I don't think you can blame them for condensing a comment like that.

    5. Re:Great! by Anonymous Coward · · Score: 0

      Damn, and I was all set to make a sarcastic comment.

    6. Re:Great! by pottymouth · · Score: 1


      You know it printed beautifully on our color printer on 11x17. Unfortunately it still requries a magnifying glass to read (for anyone over 25).

    7. Re:Great! by Mifflesticks · · Score: 4, Interesting

      Well, that's what the scrolling text reads. The little blurb next to the picture and "1975" reads:

      "...develop a BASIC computer language for the Altair 8800."

      So at least in one place they were a little more humble....

    8. 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
    9. Re:Great! by Anonymous Coward · · Score: 1, Funny

      > "Using the Altair 8800, Bill Gates and Paul Allen develop the
      > first programming language, and begin an extraordinary,
      > history-making journey."

      They are completely correct. It was the first programming language for a personal computer.

      Your as guilty of the revisionism you claim microsoft is doing. Let them have there time in the sun, they earned this one squarely.

    10. Re:Great! by Tony-A · · Score: 2, Funny

      Hmmpf, all I got was an Unsafe ActiveX control.
      Let me know when Microsoft actually gets serious about security.

      Now seriously. I am cavalier about security. I run as root (same login Linux or domain admin). I leave my computers up and running and logged in.
      My security is rotten and it's better than Microsoft's?

    11. Re:Great! by drooling-dog · · Score: 2, Insightful
      Technically it was the first moderm programming language

      Ummm... Just how is that?

    12. 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.

    13. Re:Great! by wjwlsn · · Score: 3, Funny

      Wow, that's the first time on Slashdot I've ever seen someone use the words "Fortran" and "happily" in the same sentence!

      --
      Getting tired of Slashdot... moving to Usenet comp.misc for a while.
    14. Re:Great! by Gr8Apes · · Score: 1

      I've already got about 100 of their books, including 3 I bought last weekend. But I could always use more books. :)

      --
      The cesspool just got a check and balance.
    15. Re:Great! by bobetov · · Score: 2, Funny

      Even better:

      "With the creation of Windows 3.0, an easy-to-use and highly functional operating system, millions of people discover the empowering abilities of personal computers."

      I'm just... wow.

      --
      Looking for a Rails developer in Chapel Hill?
    16. Re:Great! by pwynne · · Score: 1

      Is it just me or do Allen and Gates look like a creepy old guy and his young boytoy in the picture on that page?

      Paging NAMBLA...

    17. Re:Great! by Gilk180 · · Score: 3, Insightful

      It was the first programming language for a personal computer.

      Well, maybe the first high-level programming language or the first language interpretter, but I'm willing to bet that the machine didn't run basic natively, so the native language must have been earlier.

    18. Re:Great! by geoffspear · · Score: 4, Funny
      I just invented the world's very first programming langauge myself, actually.

      It's just an abridged version of "world's first programming language only i've heard of."

      --
      Don't blame me; I'm never given mod points.
    19. Re:Great! by John+Courtland · · Score: 2, Funny

      Heh, I still haven't seen "COBOL" and "happily" in the same sentence. I think that when I see that, I will have seen everything.

      --
      Slashdot is proof that Sturgeon's Law applies to mankind.
    20. Re:Great! by Brandybuck · · Score: 1

      I printed it out on 11"x17" paper, and I still can't read the names on it!

      --
      Don't blame me, I didn't vote for either of them!
    21. Re:Great! by Anonymous Coward · · Score: 0

      I still haven't seen "COBOL" and "happily" in the same sentence. I think that when I see that, I will have seen everything.

      Allow me to oblige: "Only a lunatic would happily agree to program in COBOL."

    22. Re:Great! by WinDoze · · Score: 2, Funny

      I happily use my Fortran 77 reference as a doorstop.

      See, you CAN use those two words in the same sentence!

    23. Re:Great! by Phurd+Phlegm · · Score: 1
      One of the quotes direct from that little presentation: "Using the Altair 8800, Bill Gates and Paul Allen develop the first programming language, and begin an extraordinary, history-making journey."
      Damn, that sounds like fun, but I've decided I'm never viewing anything again that uses Flash animation. There's just *way* too much annoying stuff it enables....

      That is a great quote, though. I wonder if they did that before or after they invented the automobile and the airplane?

    24. Re:Great! by Phurd+Phlegm · · Score: 4, Funny
      I just invented the world's very first programming langauge myself, actually.

      It's just an abridged version of "world's first programming language only i've heard of."

      I never thought I'd say it, but "first post!"*

      -- * Abridged: meaning "first post where I said 'first post.'"
    25. Re:Great! by Oligonicella · · Score: 0, Redundant

      Bullsh*t. When Bill and Paul were doing that, I was in a career of programming. At that time alone, I knew five or six languages. Utter crap, you know not of what you speak.

    26. Re:Great! by elmegil · · Score: 2, Funny
      I happily only had to program in COBOL for about 6 months in 1988.

      See, that wasn't hard.

      --
      7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
    27. Re:Great! by turgid · · Score: 1

      And there was me thinking they actually developed said programming "language" on an 8080 emulator running on a DEC PDP-11 or something.

    28. Re:Great! by squiggleslash · · Score: 2, Informative
      Technically it was the first moderm programming language much like .NET is the new one for this century so I don't think you can blame them for condensing a comment like that.
      It was a version of BASIC, and BASIC dates back to the 1960s. It wasn't even a spectacular version of BASIC.

      And the quote isn't "the first modern programming language", it's just "the first programming language". So even if your apologism were correct, it would be irrelevent.

      About the only thing I can think of is that the writer might have meant to write "Using the Altair 8800, Bill Gates and Paul Allen wrote the first programming language for that historic platform." Or even "Using the Altair 8800, Bill Gates and Paul Allen wrote their first programming language."

      --
      You are not alone. This is not normal. None of this is normal.
    29. Re:Great! by Anonymous Coward · · Score: 0

      What? Do you disagree with that? Windows 3.0 was the first time for millions of people to discover the PC. I was a geek and even I was amazed at how cool it was to be able to run 2 programs at once.

    30. 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

    31. Re:Great! by johnnyb · · Score: 1

      I've actually met someone who was known as the "Cobol Evangelist". It's sad, really.

    32. Re:Great! by wintermute1974 · · Score: 1
      I was a geek and even I was amazed at how cool it was to be able to run 2 programs at once.

      No way. Windows 3.0 gave the appearance of running two programs at once, but it co-operatively multitasked, instead of pre-emptively multitasking, and so, by definition, sucked.

      I remember starting a file transfer from my local BBS, then switching to play that rocking good Windows game Pipes. Can you guess what happens?

      Yes, that's right. Windows 3.0 drops my BBS connection because it can't run both programs.

      The first time this happened to me, I was deeply unimpressed. I had been transferring files and playing games at the same time for years without fail with my Commodore Amiga.

      I refused to touch a Windows machine again until Windows 95. The first time I tried a friend's Windows 95 machine I remember exclaiming out loud: "What? This is Microsoft Windows?! But.. it doesn't suck."

    33. Re:Great! by wintermute1974 · · Score: 2, Insightful
      I wonder if they did that before or after they invented the automobile and the airplane?

      Pardon, Comrade? Obviously, you've forgotten to pick up those old books of yours and toss them down the memory hole. I am sure the Ministry of Love would be very interested to talk to you about your crackpot theories.

      As you know, Big Bill himself created the first programming language. That was long after he created the first automobile and aeroplane. Why, every child know this to be true. Just look at your neighbour, Parsons' boy. His multimedia website in Flash tells him this is so.

      Personally, I am looking forward to the Eleventh Edition of Windows. It's going to be the definitive one. The Eleventh Edition is going to be feature complete: There won't be one computer operation that isn't included in the operating system itself. Oh, what a glorious day this will be. It will be doubleplusgood.

      I would love to stay and talk with you, but I really must hurry to my local Community Centre, or I will be late for the Two Minutes Hate. Oh that Richard Stallman's clever face, his venomous attacks on Microsoft. We must shout him down! We must not surrender!

      Big Bill! B-B! B-B! B-B! B-B! B-B! B-B! B-B! B-B!

    34. Re:Great! by GorillaTest · · Score: 1

      >>develop[ed] the first commercial programming >>language for a personal microcomputer. >Which is a true statement. Poppycock. You are wrong.

    35. Re:Great! by GorillaTest · · Score: 1

      You don't know what you are talking about. They did not develop the first commercial programming language for a personal computer. First of all, Basic is arguably not a commercial programming language. Second, they didn't do it first.

    36. Re:Great! by Anonymous Coward · · Score: 1, Insightful
      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.

      It depends what you mean by "develop". If you mean, "ripped off public domain code for a BASIC interpreter" then you are quite correct it is a true statement.

      I always find it ironic that Microsoft were one of the first companies to attach copyright notices to their software and yet, they owe their very existance to the public domain. If we introduce to the conversation, the charade of software-idea patents, we really begin to see how useful this "intellectual property" nonsense is to the software industry -- not at all; it serves only those who wish to make money and incarcerate the user.


      Begone foul fascist programmers. We reject your proprietary code, for we no longer wish to be imprisoned in your capitalist catacombs. We are free men and women who deserve control of our lives and bow to no one but ourselves and our personal intellect.
    37. Re:Great! by glitch23 · · Score: 1

      A man without God is like a fish without a bicycle.

      Obviously you are too close-minded to realize that a bicycle might just save the fish at some point. But I'm sure you are just open-minded enough to say that anyone who has God is a lunatic but that's what happens when people who have double standards don't care that they do.

      --
      this nation, under God, shall have a new birth of freedom. -- Lincoln, Gettysburg Address
    38. Re:Great! by ultranova · · Score: 1
      Yes, that's right. Windows 3.0 drops my BBS connection because it can't run both programs.

      The funny thing is, that there was a DOS program named Cubic Player (or something like that), which allowed you to put the (mod) music playing and then drop to a command prompt. I often down- and uploaded (with Smodem, so I could use bidirectional transfers) while listening to music...

      So basically DOS multitasked better ;).

      I refused to touch a Windows machine again until Windows 95. The first time I tried a friend's Windows 95 machine I remember exclaiming out loud: "What? This is Microsoft Windows?! But.. it doesn't suck."

      How appearances can deceive :).

      I remember turning my computer on one day to find out that Windows had silently, without any error messages or any apparent reason, lost every file on one of my hard disks. The root directory had just emptied itself.

      I did get most of the files back with scandisk, except for the text files I'd downloaded in the last month or so. All other files, including other files downloaded at that time period, were just fine. But the text files had disappeared - and they weren't in a single directory, nor did the other files in the same directories disappear. The files didn't even have the same extension - some were text, some html, and there were some weird extension resulting from saving from cgi scripts. And, of course, these files turned out to be impossible to redownload...

      Spooky, isn't it ?

      I also remember the time that the C drive had all its file- and directorynames converted to weird ASCII mess. That time I had to reformat...

      So yes, it does suck.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    39. Re:Great! by Anonymous Coward · · Score: 0

      Actually, I may not have God, but I have a bicycle and a few pet fish, so, no matter how you add it up, I'm safe.
      *g*

    40. Re:Great! by Bush+Pig · · Score: 1

      > ... it was the first moderm programming language ...

      No it wasn't, it was BASIC. Even, what, 25 years ago, BASIC was not a modern language.

      --
      What a long, strange trip it's been.
    41. Re:Great! by Bush+Pig · · Score: 1

      What's wrong with FORTRAN?

      --
      What a long, strange trip it's been.
    42. Re:Great! by marshall_j · · Score: 1

      It is the Microsoft timeline so in terms of it being the first for Microsoft they are correct. However it isn't very clear.

    43. Re:Great! by EtherAlchemist · · Score: 1

      This appeared first in Wired a couple years ago (or maybe it was last year?) without all the animals and branding.

      --
      R(k)
    44. Re:Great! by Anonymous Coward · · Score: 0

      Your as guilty

      "You're".

      have there time

      "their".

      Some of your punctuation also needs work.

    45. Re:Great! by MikeCT · · Score: 1
      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.

      Not to mention assembler, which doesn't seem to have made it on to the chart. It's a lot more readable than machine code.

    46. Re:Great! by stanmann · · Score: 1

      Commercial=sold for money. personal computer= one designed and marketed to persons not businesses, and Yes, they did it first.

      --
      Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
    47. Re:Great! by CodeMonkey4Hire · · Score: 1

      Ah, you're lucky. I'm going to try to squeeze it down to 36" (from 39"). I guess I could always print the 19" side on 36" (with 17" of waste), but I didn't want to have to trim.

      --

      Let's go Hurricanes!!! 2006 Stanley Cup Champions!!!
    48. Re:Great! by Anonymous Coward · · Score: 0

      Dude, go read a history book.

    49. Re:Great! by Anonymous Coward · · Score: 0

      In the beginning, Babbage created the analytical engine, and It Computed.

      In the next era, there were switches and vacuum tubes, and They Computed.

      In the third era, there were microprocessors, and They Computed.

      In the fourth era, there was SkyNet, and It Terminated.

    50. Re:Great! by Anonymous Coward · · Score: 0

      Lisp definity came before Basic and was interpretted back then. As for high-levelness, only a fool would suggest that Basic was on the same level as Lisp.

    51. Re:Great! by jonadab · · Score: 1

      > that's the first time on Slashdot I've ever seen someone use the words
      > "Fortran" and "happily" in the same sentence!

      Fortran is actually very good at what it does (i.e., crunch numbers). It's
      completely inappropriate for most of the things most people do with computers
      most of the time (e.g., anything that involves any text processing), but for
      what it was designed for, it's excellent.

      The trouble comes when you mistake it for a general-purpose language and try
      to use it to program something you shouldn't. For example, you should not use
      it to implement a mail server (unless your goal is to impress the everliving
      daylights out of the same sort of people who think it's really cool to write
      a quine that's valid in four different languages including C and Postscript).
      No, you should use probably Perl or Python or something along those lines
      for that sort of thing, or in a pinch you could get by with C better than
      Fortran, although C isn't particularly good for text processing either.

      But that doesn't make Fortran bad, any more than Postscript is bad for being
      designed for printing. It just makes it a special-purpose language rather
      than a general-purpose one. Code written in special-purpose languages often
      has a symbiotic relationship with code written in glue languages (e.g., shell
      scripts or these days more likely Perl). There's no reason your high-end
      physics simulation couldn't use Fortran for the heavy numerical stuff and
      Perl to handle other things like I/O -- or even use Perl to glue the Fortran
      number-crunching code together to a UI written in something else, maybe XUL.

      Fortran would only be painful if you tried to use it for the parts of the
      project it's not good for. Stick to doing numbers with it and you'll be
      much happier.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    52. Re:Great! by jonadab · · Score: 1

      > 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

      I believe the correct form of the statement would be, "developed the first
      implementation of a high-level programming language for that platform". My
      first guess would be that the person who shorted that to "developed the
      first programming language" probably wasn't a programmer, in which case he
      wouldn't understand the difference between a language and an implementation
      or understand the difference between "developed the first foo for the bar
      platform" and "used the bar platform to develop the first foo". (To know
      that the difference is significant, you have to parse the first one based
      on the knowledge that an implementation may be platform-specific, something
      a lot of people wouldn't know.) In other words, it was probably written or
      edited by someone who didn't know enough to be accurate about this topic.
      I very much doubt there was any deliberate deception in the statement; it's
      more likely inaccurate due to garden-variety incompetence.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  2. Wait a minute! by th1ckasabr1ck · · Score: 5, Funny

    They forgot Steve++, the crappy C++ rip-off I wrote for an independant study project back in high school.

    1. Re:Wait a minute! by Matrix_X · · Score: 1

      Your last name doesn't happen to have the word "Clank" in it, does it? I knew a guy in HS that also wrote "Steve-DOS"

    2. Re:Wait a minute! by pilgrim23 · · Score: 1

      At first I thought mine was forgotten too, but then I finally got it: the styleized time line thing at the beginning, when viewed in pdf Page Layout mode is in reality the wire wrap program for the accounts recievable run we programmed on an old IBM 1401 on DOS/VSE with Wire Board supliments. And they say there are no conspircacies in the world...hurumph!

      --
      - Minutus cantorum, minutus balorum, minutus carborata descendum pantorum.
    3. Re:Wait a minute! by Anonymous Coward · · Score: 2, Funny
      They forgot Steve++...

      OH you mean AppleScript? it's there...

    4. Re:Wait a minute! by Anonymous Coward · · Score: 0

      "steve-clanked-us"??

      i dont get it.

    5. Re:Wait a minute! by Anonymous Coward · · Score: 1, Funny

      I bet it is him. After all, how many people are named Steve AND can code? I mean, you've got some high odds there.

    6. Re:Wait a minute! by th1ckasabr1ck · · Score: 1

      Nope, that's not me, although believe it or not I did start something called SteveOS when I was fumbling through a book about how to program an OS in C when I was far too young to understand it.

    7. Re:Wait a minute! by javax · · Score: 1

      Objective C is included - clean your glasses, man!

    8. Re:Wait a minute! by drooling-dog · · Score: 1

      I've been using that for years. Always wondered why I couldn't find an O'Reilly Nutshell book on it, though...

    9. Re:Wait a minute! by noselasd · · Score: 1

      Humm. Did they remember kvikkalkul ?

    10. Re:Wait a minute! by wan23 · · Score: 1

      Heh when I was in high school I wrote JOS - an OS that could do everything DOS could. It was only five lines of code too... PRINT "JOS V1.0" DO INPUT "command", A$ SHELL A$ LOOP

  3. Delphi from VBasic?? by PixelThis · · Score: 5, Insightful

    Somehow I think they missed the boat on that one. Delphi is Borland's Object Pascal in a GUI driven environment.

    1. Re:Delphi from VBasic?? by LincolnQ · · Score: 4, Insightful

      Which happens to "feel" exactly the same as VB. It's not simply the language syntax but also the structure, and programming in Delphi is practically the same as VB: plop objects onto a form, write code for their events. I moved from VB to Delphi with minimal effort.

    2. Re:Delphi from VBasic?? by PixelThis · · Score: 2, Interesting

      Can't speak to that, I only used VB once. I'm a bit surprised though that you could move from VB to Delphi without having some background in pascal... basic and pascal weren't all that syntactically similar.

    3. Re:Delphi from VBasic?? by Anonymous Coward · · Score: 5, Insightful

      Somehow I think they missed the boat on that one. Delphi is Borland's Object Pascal in a GUI driven environment.

      It seems to me that the arrows mean "inspired by"/"taking features from". You should have noticed that Delphi has two arrows pointing to its inception: one from VB, and one from Object Pascal. That seems reasonable. I don't think that's intended to mean that Delphi was created by MS or anything like that, just that it got inspiration from VB.

    4. Re:Delphi from VBasic?? by SoVeryWrong · · Score: 2, Insightful

      Yea, but Syntax is pretty easy to learn if you already have the development fundamentals. I had a background in VB and was able to figure out and maintain a Delphi application in about 20 minutes. Granted it wasn't incredibly complex, but the syntax was pretty easy to pick up by just looking at some existing code.

    5. Re:Delphi from VBasic?? by lvdrproject · · Score: 4, Interesting

      Coincidentally, the guy who (for the most part) made Delphi actually left Borland and went to Microsoft, and he's now the lead architect of... C#. :o

    6. Re:Delphi from VBasic?? by PixelThis · · Score: 1

      Your right, I should have noticed that. The dimmer lines (especially the lighter colored ones) are easy to lose in the background.

    7. Re:Delphi from VBasic?? by Anonymous Coward · · Score: 0

      If you look a little more closely, they have Delphi coming from both VB and Pascal. The Pascal line is a light yellow, but it is there...

    8. Re:Delphi from VBasic?? by Brannoch · · Score: 1

      Yeah, I think there are more than a few missing arrows. For instance, C# got it's properties from Delphi, which got them from Objective C (I think), not to mention all of Delphi's C++ influences over the years. Some of JavaScript's influences aren't even listed - where's NewtonScript? Icon is listed near SNOBOL, but not shown to be a derivation as it should be when much of the internal semantics were ported over by their common author. And more...

    9. Re:Delphi from VBasic?? by I_Love_Pocky! · · Score: 5, Funny

      Clearly this must mean that you had not been using VB for very long. It is a well documented fact that the longer you use VB the less intelligent you become. I know the one time I was forced to use it I could feel my mind becoming numb.

    10. Re:Delphi from VBasic?? by heffrey · · Score: 5, Insightful

      Well, in that case C# comes from VB too.

      Putting items in categories is notoriously difficult though. It's not as if one language leads to another. Language writers are influenced by all their external stimuli which will no doubt include many other programming languages not too mention beer, pizza and their families. If you accounted for all influences then the number of arrows would increase by orders of magnitude.

      There is a difference between language and IDE though. Delphi is not actually a language, rather it is a product including an IDE and a compiler for the Object Pascal language. And Borland's version of the Object Pascal language is, I believe, based on an Apple version.

      On a language basis, rather than an IDE basis, the heritage is clearly Pascal -> ObjectPascal -> Delphi. No doubt there are extra bits in between the arrows that I don't know about.

      I mean, you can take a basic Pascal program and compile it in Delphi. Pascal is a subset of Delphi in the same way as C is to C++.

    11. Re:Delphi from VBasic?? by LEgregius · · Score: 1

      I was thinking that. They didn't say that C# had ties to Delphi in the poster, but things like properties and such that came from Delphi are in C#, so they really should have added that.

    12. Re:Delphi from VBasic?? by parksie · · Score: 2, Interesting

      C is not a subset of C++, for example the following is valid C code but not C++, if C were a subset, this would be valid C++ also:

      char *x = malloc(10);

      (malloc returns void*, C++ does not allow automatic pointer promotion).

    13. Re:Delphi from VBasic?? by LincolnQ · · Score: 1

      Actually, I used it for several years (my programming formative years, from age 8 up to 14 or so -- I'm 18 now). I think it was good for me. It was a surprisingly good learning language. I also won a competition with it -- the Boston Computer Society, some ridiculously long time ago, in the Educational category, probably around age 10. Although I think me and some other guy were the only ones in that category. The year before that, I entered a QBasic program and came in second.

      I wrote a program in VB similar to Stickies on the Mac, but I lost the source to it. It was pretty good if I may say so myself -- it had a searching feature which would display all the notes by default, but you could start typing and it would make ones which did not contain the text disappear.

      I give VB a lot of credit for teaching me the concepts of object orientation, too. Admittedly, it was not full-featured OO, but it had controls, etc., all with different properties which were encapsulated into the one object. So I was used to the concept of addressing things using dot notation from the very beginning.

    14. Re:Delphi from VBasic?? by Anonymous Coward · · Score: 0

      Ummm, Delphi came out before VB.

    15. Re:Delphi from VBasic?? by lvdrproject · · Score: 1

      2. Used to express wonder, surprise, or incredulity: I actually won the lottery!

    16. Re:Delphi from VBasic?? by footNipple · · Score: 1
      Which happens to "feel" exactly the same as VB. It's not simply the language syntax but also the structure, and programming in Delphi is practically the same as VB

      LOL! 5 Insightful??? That must be some powerful whiskey you're drinking ;-) Delphi "feels" like VB about as much as my pick-up truck feels like my bicycle.

    17. Re:Delphi from VBasic?? by hsoft · · Score: 1

      I was about to answer your original comment saying that if you switched from VB to Delphi with minimal effort, it must be because you don't know Delphi. But then I see you wrote about OOP, so I guess I would have been wrong.

      VB is a child language. It is the plague of the software world because it makes mediocre programmers think they're good because they can play with a RAD tool.

      There should be a notice on the VB box saying: "If you're over 18, please don't use this language, and please, PLEASE don't use this language for production projects! And if you're thinking about using this, and Access DB for a mission critical project, you're a fool."

      I must admit that using Paradox (the sgbd shipped with Delphi (well, Delphi 5, I think they dropped it in new versions)) is also foolish.

      Of course, VB.NET isn't the same stuff. It's only C# with the VB syntax, so it isn't as bad as it used to be. Well, I guess I will have to stop ditching VB someday...

      --
      perception is reality
    18. Re:Delphi from VBasic?? by mattyrobinson69 · · Score: 1

      that'll explain why i cant write legibly with a pan or spell anymore. if i'd programmed vb for much longer i might have forgotten how to type...

      (no - it has nothing to do with the fact that i now use a computer instead of a pen and rely on spell check too much)

      incidently, see my sig (site is no longer maintained tho)

    19. Re:Delphi from VBasic?? by hawkestein · · Score: 1

      Well, in that case C# comes from VB too.

      You wouldn't be the first to suggest that. To wit, see Joel Spolsky's column, as found on Slashdot yesterday:

      And along came .NET. This was a grand project, the super-duper unifying project to clean up the whole mess once and for all. It would have memory management, of course. It would still have Visual Basic, but it would gain a new language, one which is in spirit virtually the same as Visual Basic but with the C-like syntax of curly braces and semicolons. And best of all, the new Visual Basic/C hybrid would be called Visual C#, so you would not have to tell anyone you were a "Basic" programmer any more.

      --
      -- Will quantum computers run imaginary-time operating systems?
    20. Re:Delphi from VBasic?? by plopez · · Score: 1

      >Well, in that case C# comes from VB too.
      VB was based on Basic, which was a teaching language. As a teaching language it incorporated features (flaws?) from both Fortran and COBOL. So, there's alot of COBOL code in out there disguised as VB.

      (runs, ducks, hides...)

      --
      putting the 'B' in LGBTQ+
    21. Re:Delphi from VBasic?? by Anonymous Coward · · Score: 0

      There is a difference between language and IDE though. Delphi is not actually a language, rather it is a product including an IDE and a compiler for the Object Pascal language. And Borland's version of the Object Pascal language is, I believe, based on an Apple version.

      This is incorrect.

      Both Borland and Apple developed object-oriented extensions to Pascal and called their results "Object Pascal". However, the languages are completely independent and unrelated. Round about Delphi 5, Borland renamed their language Delphi (after the environment) to end the confusion.

      This becomes obvious if you look at Kylix, their brief foray into the Linux world. Kylix is the name of the environment, and it permits you to program in the Delphi or C++ languages.

    22. Re:Delphi from VBasic?? by heffrey · · Score: 1

      I don't think this is true. If you read the Borland Object Pascal language guide you will see an attribution to Apple. What's more the OOP extensions in Apple ObjectPascal are the deprecated object statements in Delphi. Look for Apple Object Pascal on the web and it's all there.

      This is the OOP that was in TurboPascal which was then superceded by class and proper classes rather than records coerced into being classes.

    23. Re:Delphi from VBasic?? by Anonymous Coward · · Score: 0

      Not true. Delphi is Object Pascal, nothing like the shitty VB, where you can pull a variable out of the hat without delcaring it first and no type safety.

    24. Re:Delphi from VBasic?? by johnnyb · · Score: 1

      Delphi is _much_ better. The DB controls in Delphi are wondrous. I have put together some pretty nice database applications without having to write hardly any code at all. In fact, I hardly had to write any SQL code, either.

      The syntax for Object Pascal is much nicer than VB. OP supports true inheritance. VB might support that now, too, but during the wars between the two of them, they didn't.

      I've used Delphi and VB, and at the time I used them (Delphi 3 and VB 5/6), Delphi had VB beat hands down.

    25. Re:Delphi from VBasic?? by Anonymous Coward · · Score: 0

      And this is why the chart is missing Clascal.

      I also don't see HyperTalk, which should definitely come before AppleScript.

      Nor do I see NewtonScript.

    26. Re:Delphi from VBasic?? by eztcld · · Score: 0, Flamebait

      You know for some data oriented reason I still
      think of C++ as a 'stupidset' of C.
      After reviewing the apis and interfaces using
      C++ that are readily available to inquiring
      minds I believe it more than ever.
      You know shit like this was going on long
      before Stroustrop got jock itch over
      it.

      typedef struct greatidea {
      int anal_type;
      char *stupidmsg;
      void *(*consolidate_my_ass)(void *);
      } CLEVEROBJECT;

      All that C++ did, does, and makes is
      a data congested framework full of
      indigestible types influenced by the
      mode of the day.
      Java and C# suffer from the impenetrability
      of multiple archetype syndrome.

      As far as IDES go. Man what a sucker play for money. What jerkoff worth his weight can't
      write his owen after a year and a half?

      They seem like Freuds children guessing at
      how much better the next generation will
      be at ignoring their mom in the tub.

    27. Re:Delphi from VBasic?? by lachlan76 · · Score: 1

      No, C# is from Java.
      When it first came out (I can't remember when), I knew it was Java.
      I'm 14 now, and I know it's Java.

      AND I'm sure that Microsoft know that it's Java.

      I doubt that they will admit that a 14 year old knows better than them, and I think that they would say it was Java.

      C# doesn't have many advantages over Java, except that it is statically compiled (kind of) and will have higher performance on the architecture it was optimised for, while Java uses a byte-code VM, and can be optimized dynamically, to give aggressive optimisations on any platform.

      Not that like to use VMs, I program in C++.

      Help Kerino, and learn C++!!!

    28. Re:Delphi from VBasic?? by Anonymous Coward · · Score: 0

      Except for the fact that Delphi actually scales well, that is unhard of in a VB program. But it's true that VB has borrowed a lot of the RAD development from Delphi.

    29. Re:Delphi from VBasic?? by Anonymous Coward · · Score: 0
      Not that like to use VMs, I program in C++

      you don't think you use a VM? the processor that you are running on is a VM that pretends it is whatever processor that you think you running on.

      Virtually all machines are virtual. A virtual machine is an implementation of a concept.

    30. Re:Delphi from VBasic?? by jonadab · · Score: 1

      > I'm a bit surprised though that you could move from VB to Delphi without
      > having some background in pascal... basic and pascal weren't all that
      > syntactically similar.

      From what I remember (and it *has* been a while; these days I think in Perl
      or lisp), VB isn't terribly similar[1] syntactically to BASIC, either, and
      seems to borrow quite a bit from Pascal. Not everything, of course, and
      there are significant and obvious signs of a BASIC heritage (e.g., optional
      sigil-like one-punctuation-character type suffices, some of which even have
      the same meaning as in BASIC), but you also find in VB some rather unBASICish
      things like do loops and such, which smack heavily of Pascal -- and of course
      both VB and Delphi put a lot of stock in supporting the event-oriented
      paradigm, so they're also similar from that standpoint.

      [1] By "not terribly similar" I of course don't mean "completely dissimilar".
      BASIC and Pascal are similar enough to be grouped together and contrasted
      with lisp, for example. But VB is somewhere between more traditional
      BASICs and Pascal, and while it may be closer to the BASIC side, the
      differences are significant.

      --
      Cut that out, or I will ship you to Norilsk in a box.
  4. Meta Programming Language by xp · · Score: 3, Funny

    What we really need is a meta programming language of which all the other programming languages are special cases.

    ----
    Your Boss Might Be A Muppet

    1. Re:Meta Programming Language by MarkPNeyer · · Score: 5, Interesting

      You can find this meta-language you speak of, if you read Godel, Escher, Bach By Douglass Hofstadter. It's called 'GLOOP'.

      --

      My blog
    2. Re:Meta Programming Language by Anonymous Coward · · Score: 0

      There are already many such languages. C, Smalltalk, Perl and Pascal are as good as examples as anything else.

    3. Re:Meta Programming Language by dasmegabyte · · Score: 5, Funny

      Oh what, you mean like ENGLISH?

      It's a pretty good language, really. Sort of esoteric and the syntax can be inscruitable at times, but you can really get some shit accomplished with it.

      --
      Hey freaks: now you're ju
    4. Re:Meta Programming Language by Anonymous Coward · · Score: 5, Interesting

      Its called machine code. Anything else is an abstraction (for that architecture--due to different architectures there can never be a true abstraction unless you take it all the way down to the and-or-nor-nand-xor-etc circuitry).

      Its interesting to note that most people don't see history repeating itself with Java and C# (the fourth level of abstraction). The story goes as follows: in the late 60s, almost all systems programming was done in assembler(1st level), just for speed. In fact, no operating system was ever written in anything else than assembler, so there was no portable OS. People scoffed when UNIX was implemented in C (second or third level depending upon who you ask) in the mid 70s because it would be too slow. Of course computers get faster and a portable easy to edit OS took off.

      Its really funny to hear people give the same arguments against Java and C# that are word-for-word the same as what was said about C.

    5. Re:Meta Programming Language by Araneas · · Score: 1

      I was thinking that then realized that English is just a special case of the BIOS embedded in our wetware.

    6. Re:Meta Programming Language by dasmegabyte · · Score: 1

      Ah, so then the section of the brain that permits the complex symbolic associations that lead to the adoption of language is just a biochemical version of OpenFirmware. Brilliant!

      --
      Hey freaks: now you're ju
    7. Re:Meta Programming Language by WinterSolstice · · Score: 5, Insightful

      Actually, the statement
      "Its really funny to hear people give the same arguments against Java and C# that are word-for-word the same as what was said about C." is so true as to be almost scary. I recently was looking at the huge arguments against C++ (vs C) and just about died laughing.

      To me, it all comes down to two things:
      1) Can I do (x) with (new language)?
      2) Will it take me longer to do (x) with (old language) than it does with (new language)?

      The whole concept of programming can be summed up that way. I have reached the sad state of no longer caring at all about language performance. I have such incredibly tight deadlines to meet now, with so few people, I have to say that programming time is worth dollars while execution time is only worth cents. Especially since about 75% of the work we do is for "one-off" or "disposable" projects. It sucks, but it puts food on the table.

      -WS

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
    8. Re:Meta Programming Language by Anonymous Coward · · Score: 0

      Patent it! While people may be able to prove prior art, you can delay the courts long enough to get many people to settle on lawsuits that you will wage. Start by suing hospitals for failing to pay for the birth license.

    9. Re:Meta Programming Language by Anonymous Coward · · Score: 0

      GLOOP is a meta-language only insofar as that it can compute anything these other languages can; i.e., it is Turing-complete. But, so what? Most of these other languages are Turing-complete as well. GLOOP certainly bears no syntactic similarity to all these other languages, nor does it come with similar semantic constructs. If you're willing to accept GLOOP as a meta-language for all the languages on the chart, you might equally as well accept C, or Scheme, or Haskell, or FORTRAN, or JavaScript, or...

    10. Re:Meta Programming Language by Anonymous Coward · · Score: 0

      What we really need is a meta programming language of which all the other programming languages are special cases.

      For a book that discusses this concept at some length, I recommend On Lisp by Paul Graham.

    11. Re:Meta Programming Language by Srin+Tuar · · Score: 5, Interesting

      >Its really funny to hear people give the same
      >arguments against Java and C# that are
      >word-for-word the same as what was said about C.

      Not really: if java is going to replace c/c++ the way c/c++ replaced assembly for systems programming, then everyone would already be using lisp.

      If java and the like are going to replace anything, its going to be vb/pascal and friends.

    12. Re:Meta Programming Language by dasmegabyte · · Score: 1

      If you look in to how many people actually settle idiotic lawsuits like you are suggesting, versus how many have won countersuits, you will be pleasantly surprised at how ineffective these patents are. Patents, to be enforcable, must be extremely precise and the type of infringement must also be blatant. If you patent "a way to think up language," and I create English, your lawsuit will probably be thrown out.

      The whole reason we have a system of checks and balances in this country is that sometimes, the checks don't work. Luckily, the balances are there to pick up the pieces.

      --
      Hey freaks: now you're ju
    13. Re:Meta Programming Language by Anonymous Coward · · Score: 0

      Actually, C# is just fine, but Java wasn't. Why?
      Because Java came out before it's time -- computers weren't fast enough to handle it's virtual machine, the language wasn't really fully developed, not to mention the libraries which at first weren't fully developed and now have become so large and extensive that they are beyond human comprehension.
      When compared to C and C++ it seemed slower than molasses and that stigma stuck.
      Every year it got a bit faster, but it wasn't fast enough.
      Now that Java is finally on par with the speed issue, but it almost seems to be too late.
      C# on the other hand seems to have come at just the right time to not have such a negative stigma that java has.
      It's clean, fast, and very easy for C and C++ programmers to learn, not to mention Java programmers as well -- and it's a standard.
      I heard many arguments against Java, but I haven't heard many against C#, except that it's a 'Java killer, and Microsoft is bad for doing that'.
      Many times, it isn't the language that is first that wins, but the language that comes at the appropriate time that wins.
      Or, as it is said, Timing is Everything.

    14. Re:Meta Programming Language by sanityimp · · Score: 1

      I'm sorry, I'm not too familar with them but, Java and C# arnt really appropriate for OS programming are they? Or are there examples of drivers or kernels being written in these langauges. Can you do inline assembly in Java?

    15. Re:Meta Programming Language by Jareeedo · · Score: 1

      An offspring of this concept, would be the relationship between software demanding more of the hardware and the hardware offering more to the software. This relationship is obvious in the video game industry with new releases like Doom 3 pushing the envelope. (graphically intense video games, 64-bit computing, etc...)

    16. Re:Meta Programming Language by swillden · · Score: 1

      Can you do inline assembly in Java?

      You can't do inline assembly in Standard C.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    17. Re:Meta Programming Language by Anonymous Coward · · Score: 0

      I don't think Javascript is TC.

    18. Re:Meta Programming Language by sanityimp · · Score: 1

      Really, I can swear i've seen assembly in C source files. I'm defeitnly not a heavy duty coder here, so youll have to excuse me when i ask how assembly is used in the kernel and whatnot then.

    19. Re:Meta Programming Language by MarkPNeyer · · Score: 2, Insightful

      He was essentially asking for a Turing Complete language, of which all other languages were special cases. The the thign is, you can't say that FORTRAN is a special case of C, or that Scheme is a special case of Haskell. You can, however, say that all of these languages are special cases of GLOOP. The reason I mentioned GLOOP instead of a turing machine is that a turnign machine isn't a lanuages in the "programming language" sense - It's a computing framework. GLOOP is a programming language that can is Turing complete, but adds no extra functionality beyond that, so you could say that C is a special case of GLOOP.

      --

      My blog
    20. Re:Meta Programming Language by swillden · · Score: 1

      Really, I can swear i've seen assembly in C source files.

      I'm sure you have. Linux has lots of it in the architecture-specific code.

      But inline asembler support is an extension to C, not part of the standard C language. There are many compilers that provide such extensions, and there's even enough commonality in the way they implement them that the code is fairly portable across compilers. But it's still not really "C".

      If you're allowed to step outside of the language and add features line inlined assembler, there's no reason you couldn't do that with Java as well.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    21. Re:Meta Programming Language by Anonymous Coward · · Score: 0

      What is it that makes Scheme a special case of GLOOP but not a special case of Haskell? Because, as far as I can tell, the only thing that makes Scheme a special case of GLOOP is that GLOOP can compute the same functions that Scheme can. However, so can Haskell...

    22. Re:Meta Programming Language by rapete4 · · Score: 1

      I think the Burroughs 6500 OS was written in Algol. That box was around in the late 60's.

    23. Re:Meta Programming Language by Anonymous Coward · · Score: 0

      "You can't do inline assembly in Standard C."

      asm("instruction")

    24. Re:Meta Programming Language by swillden · · Score: 1

      asm("instruction")

      Which page of the ANSI C reference manual describes the asm keyword?

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    25. Re:Meta Programming Language by Octorian · · Score: 1

      But the difference is that you can write C code that talks directly to the hardware, though without inline asm I think it is limited to arbitrary memory addressing. In any case, I have written C code that ran on bare hardware without an OS or anything. I don't think you could do that in a VM-based language like Java.

      Likewise, while you could write a Java VM in Java, could it run on the machine without having to run inside yet another VM that was written in a non-VM language?

    26. Re:Meta Programming Language by turgid · · Score: 1

      And I say "foo!" to you, young whipper-snapper. Give me a Z80 and a hex loader to sail her by...

    27. Re:Meta Programming Language by Anonymous Coward · · Score: 0
      The whole concept of programming can be summed up that way. I have reached the sad state of no longer caring at all about language performance. I have such incredibly tight deadlines to meet now, with so few people, I have to say that programming time is worth dollars while execution time is only worth cents. Especially since about 75% of the work we do is for "one-off" or "disposable" projects. It sucks, but it puts food on the table.


      And we weep. I'm in the same boat, yet this is exactly why we have the bloat of today. The vast majority of consultants I've worked with also feel the same, and more programs have chunks written by consultants either on-or-off shore.


      Bring on the quantum computers, cause we'll need them to run Notepad in the future.

    28. Re:Meta Programming Language by Anonymous Coward · · Score: 0

      Which page of the ANSI C reference manual describes the asm keyword?

      It's is mentioned in Annex J(informative) Portability Issues J.5.10 as a common extension.
      It is in the ISO/IEC C++ standard in section 7.4.1

    29. Re:Meta Programming Language by Anonymous Coward · · Score: 0

      I don't think the brain is open source. If it was I'd tell people they needed to recompile.

    30. Re:Meta Programming Language by Anonymous Coward · · Score: 0

      Not really: if java is going to replace c/c++ the way c/c++ replaced assembly for systems programming, then everyone would already be using lisp.

      Please elaborate. To me, it just sounds like another "Lisp is better than everything else" comment, which is hardly interesting or insightful.

    31. Re:Meta Programming Language by ckaminski · · Score: 1

      Hence my propensity for working with that abomination known as vbscript . Die .ASP Die!

    32. Re:Meta Programming Language by Frizzle+Fry · · Score: 1
      If you're allowed to step outside of the language and add features line inlined assembler, there's no reason you couldn't do that with Java as well.

      Doing this in java would actually be less "outside of the language" than inline assembly in C, since Java provides the "native" keyword as a standard part of the langauge.
      --
      I'd rather be lucky than good.
    33. Re:Meta Programming Language by cjellibebi · · Score: 1

      Actually, GERMAN would be a better choice, as it's a more precice language. English can be a bit vague sometimes.

    34. Re:Meta Programming Language by 16K+Ram+Pack · · Score: 1
      Language performance rarely matters. I imagine network speed and database IO are far more significant now. And yes, programmers cost a lot more than hardware.

      I've seen MS Access derided on Slashdot, but for some ancillary applications, you can throw something together in very little time. Performance wise, yeah, it may not be great. But if it's just for updating a product table that happens once a month and affects a few rows in a database, who cares?

    35. Re:Meta Programming Language by swillden · · Score: 1

      But the difference is that you can write C code that talks directly to the hardware, though without inline asm I think it is limited to arbitrary memory addressing.

      Yes, to some extent. Doing thinks like using I/O ports and triggering interrupts can't be done (I don't think) without non-standard extensions, so that limits the hardware you could talk to but, yes, you can do some stuff.

      In any case, I have written C code that ran on bare hardware without an OS or anything. I don't think you could do that in a VM-based language like Java.

      Actually, Sun at one point produced a chip that executed Java bytecodes natively, so no VM was required for that environment. More generally, I have some colleagues who specialize in porting a Java VM to OS-less hardware. Obviously, the VM is not written in Java, but you definitely could (and arguably they do) write most of the operating system in java.

      Likewise, while you could write a Java VM in Java, could it run on the machine without having to run inside yet another VM that was written in a non-VM language?

      Obviously, at some point you have to get down to the hardware's native instruction set.

      What's really interesting about this idea is that there is at least a possibility that HotSpot-like technology could ultimately mean that VM-executed code is faster than pre-compiled code, meaning that something like Java could someday provide *better* performance than is achievable even with hand-coded assembler.

      I don't really expect that to happen, but it's theoretically possible.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    36. Re:Meta Programming Language by swillden · · Score: 1

      So it's not standard C but it is standard C++? Interesting. Thanks.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    37. Re:Meta Programming Language by WinterSolstice · · Score: 1

      I happen to agree. I think the killer app at our fortune 100 company is Excel... everything can go down, as long as Excel works.

      It's awful.

      -WS

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
    38. Re:Meta Programming Language by Anonymous Coward · · Score: 0

      "
      The whole concept of programming can be summed up that way. I have reached the sad state of no longer caring at all about language performance. I have such incredibly tight deadlines to meet now, with so few people, I have to say that programming time is worth dollars while execution time is only worth cents. Especially since about 75% of the work we do is for "one-off" or "disposable" projects. It sucks, but it puts food on the table."

      For one-off projects, I recommend using the meta language called "English" on a TOOL called "a subcontracting programmer corporation in India" in a recursive mode sometimes called "Try, try again; until you get it right." Oh, and bill yourself as an International Coordinator, Consultant, Project Leader, Design Expert, and Testing Methodologist - all under different names - and pay each name you work under.

    39. Re:Meta Programming Language by uid8472 · · Score: 1

      I don't think Javascript is TC.

      It most certainly is.

    40. Re:Meta Programming Language by Anonymous+Brave+Guy · · Score: 1
      And yes, programmers cost a lot more than hardware.

      Yes we do, so it's a shame that dev tools suffer from the same syndrome: pretty much all of the big name compilers now take longer to produce output code than they did a couple of years ago, for negligible real world benefits in output code quality. When it takes half an hour just to build your app for a test run, you learn how much it costs to pay developers real quick...

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    41. Re:Meta Programming Language by WinterSolstice · · Score: 1
      I know you are being sarcastic, but you surely are aware that it takes longer than two weeks to find, hire, and train contractors? Even ones in your own country? When you have requirements like, "Build me a tool that gives me (x) from (x system) but also includes (pointless metric/widget) from (y system) for this super-critical SEC/SOX/DITSCAP/DOD requirement that is due next week", it is hard enough to get people who have been doing it for a few years and already have the correct system access to figure it out.

      Worse still are the ones "Here, the contract with (consulting company in India) runs out next month. You will be assuming support of the app, and we need to you to alter it to include this new data from a new vendor..." (which happened to me just last month). Boy, that is fuuuun. I love comments like:

      /** Insert Comment Here **/ /** Comment this routine **/ /** This loads data **/ (before an 1800 line SQL statement with table aliases like 'a', and 'b', and variables named 'v1', 'v2'. )

      Yay. Maybe I should go into goat farming or something.

      -WS

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
    42. Re:Meta Programming Language by bgspence · · Score: 1

      You must not have heard of the Burroughs B5000, B5500, B6500, B6800, B7700, ... MCPs dating back to the 60s. These 'Master Control Program's were written entirely in ESPOL, an Algol varient with some additions to provide a read/lock on memory to allow multiprocessing. You might have seen a varient of them in the movie 'Tron'. ;)

      What was really useful, the additional libraries, compilers and utilities came with full Algol source. Not really 'open source', but you could patch the system to fix bugs or extend its features.

      The system architecture was very clean, and the MCP code was very straight forward and easy to read. It was by far the easiest system I've ever seen to work with. But, those were simpler times.

  5. 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.

    1. Re:Link is a 39x17 PDF by Pieroxy · · Score: 1

      I just printed it on 4 11*17 pages and nailed it on my cube. Everyone is stopping by and add its $.02. Lots of fun. ^_^

  6. A program written in many of them by openSoar · · Score: 5, Interesting

    The same program, written in 621 of the 2,500+ is here.

    1. Re:A program written in many of them by geeber · · Score: 1

      My favorite is the one written in the Cakewalk application language. It actually plays the song if you have a midi instrument. (I am assuming it is correct. I haven't bothered to run it.)

    2. Re:A program written in many of them by brakk · · Score: 1

      Where do I find a brainfuck compiler?

    3. Re:A program written in many of them by Anonymous Coward · · Score: 0

      Gee, the first result if you search google for brainfuck has a compiler. Wowzers.

    4. Re:A program written in many of them by jpetts · · Score: 4, Interesting

      I remember once seeing a single file which was a valid program in a large (~20?) number of languages, including FORTRAN, PostScript and others, due to quirks of commenting, column requirements, etc. Unfortunately I lost track of it sometime ago. Does anybody else remember this? Even better, does anybody have a pointer to it?

      --
      Call me old fashioned, but I like a dump to be as memorable as it is devastating - Bender
    5. Re:A program written in many of them by Chris+Rathman · · Score: 1

      Start here on your journey through the Turing Tarpits.

      And then go do some Object Oriented BrainF*ck just because OOP makes things so much easier.

    6. Re:A program written in many of them by nkh · · Score: 2, Interesting

      Writing a brainfuck interpreter is a good exercise that you can do in a very short time.

    7. Re:A program written in many of them by tverbeek · · Score: 1

      One version they're missing is the one I wrote in Lotus 1-2-3 (release 2.x) macro language.

      --
      http://alternatives.rzero.com/
    8. Re:A program written in many of them by johannesg · · Score: 1

      It was called "polyglot", and I'm sure if you google around a bit you'll find it. Sorry, I'm too tired to do it for you...

    9. 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/
    10. Re:A program written in many of them by Anonymous Coward · · Score: 0

      They're only missing it because you haven't submitted it to them yet.

    11. Re:A program written in many of them by Anonymous Coward · · Score: 0

      No, I submitted it to the project, years ago.

    12. Re:A program written in many of them by Anonymous Coward · · Score: 0

      Anonymously?

    13. Re:A program written in many of them by brakk · · Score: 1

      Really? google?

      i never would have thought of that.

    14. Re:A program written in many of them by bruthasj · · Score: 1

      The million dollar question is: which one's better?

  7. I don't see Ruby on there by nanter · · Score: 0

    A pure object oriented language along the lines of Smalltalk - expected to see it down there near Smalltalk.

    1. Re:I don't see Ruby on there by PixelThis · · Score: 1

      Ruby is there, just off the end of SmallTalk, just above AppleScript.

    2. Re:I don't see Ruby on there by Anonymous Coward · · Score: 0

      Follow the 'vaguely influenced by'-arrow from perl 4.000 upward. It's at Feb. 24, 1993.

      In fact it's just 2 "lines" above Smalltalk, past applescript.

    3. Re:I don't see Ruby on there by nanter · · Score: 1

      oops... thanks!

    4. Re:I don't see Ruby on there by pizza_milkshake · · Score: 3, Interesting
      i do. however, it would have been better if they grouped languages vertically by their relationship to one another... it looks like this has been done for some languages but not all... we'd see smaller vertical lines... for example, Rexx is at the top, but is linked to and links to 3 languages in the middle. it would make more sense, therefore, to have Rexx in the middle (or the others closer to the top)

      cool programming challenge: figure out the optimal vertical order for the languages so as to minimize the length of relationship indicators

    5. Re:I don't see Ruby on there by Anonymous Coward · · Score: 0

      Yes, troll, relevant languages like Self, Sather, Mesa and Fortran 2000.

      And truly efficient and elegant languages like VBscript.

      Ha!

    6. Re:I don't see Ruby on there by Short+Circuit · · Score: 1

      cool programming challenge: figure out the optimal vertical order for the languages so as to minimize the length of relationship indicators

      Which is more important, a minimum average length, or a minimum deviation from that length?

    7. Re:I don't see Ruby on there by Just+Some+Guy · · Score: 1
      cool programming challenge: figure out the optimal vertical order for the languages so as to minimize the length of relationship indicators

      And then you can send a salesman to all of them in record time!

      --
      Dewey, what part of this looks like authorities should be involved?
    8. Re:I don't see Ruby on there by Anonymous Coward · · Score: 0

      For a second year CS student maybe. I don't mean anything bad by that. I'm just saying..

    9. Re:I don't see Ruby on there by Inthewire · · Score: 1

      Which is more important, a minimum average length, or a minimum deviation from that length?

      How should I know?
      I asked your mom - she says 37.

      --


      Writers imply. Readers infer.
  8. Starts with 3GLs. by Jaywalk · · Score: 5, Interesting
    They start with FORTRAN, so they leave off the whole second generation of computer languages which was Assembler. (First generation was, of course, binary.) I remember my dad -- who was kind of a proto-geek -- talking about how excited they were when they got in a terrific new product. It was so intuitive that it was almost like talking to the computer.

    He was referring to Assembler.

    --
    ===== Murphy's Law is recursive. =====
    1. Re:Starts with 3GLs. by Anonymous Coward · · Score: 0

      A true programmer.

      After studying the electronic circuitry and in-depth assembly language programming I feel that way as well. I can talk to the computer. But unfortunately, that doesn't mean that I can do anything useful with it. It just makes you like the painter who can tell you the chemical composition of the paints and the physical laws that allow them to be applied to the canvas, yet doesn't know how to paint.

    2. Re:Starts with 3GLs. by gray+peter · · Score: 3, Insightful

      Maybe a better analogy would be a painter who only has 1 bristle. You can paint the side of a building with 1 bristle, but it would take you a really really long time. That doesn't mean you couldn't do it. You can do anything in assembler if you put your mind to it (and if your mind is good enough ;-)

      --
      May no camel spit in your yogurt soup.
    3. Re:Starts with 3GLs. by Bingo+Foo · · Score: 1

      It's also interesting that Fortran has very little cross breeding. It's like a coelacanth or a cockroach today.

      --
      taken! (by Davidleeroth) Thanks Bingo Foo!
    4. 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

    5. Re:Starts with 3GLs. by Anonymous Coward · · Score: 0

      I guess I'm always surprised at how few /.ers have coded in assembly before. I didn't even major in the sciences in school, and yet before I graduated I learned assembly languages for two processors and programmed a few simple programs in machine language for an electronics class.

      Don't they bother to teach this stuff in school anymore, or aren't people interested in it, or what?

    6. Re:Starts with 3GLs. by jtev · · Score: 1

      I've heard twins sometimes develop their own little languages. Although this realy would be more like a hand hacked network stack. Machine code is more like puting chips in peoples heads, which they do for extreme cases of Parkinsons now.

      --
      That which is done from love exists beyond good and evil
    7. Re:Starts with 3GLs. by bofkentucky · · Score: 0, Flamebait

      I worked in the Engineering computer lab during college, the fact that the people who program in Fortran can breed is a wonder to me.

      --
      09f911029d74e35bd84156c5635688c0
    8. Re:Starts with 3GLs. by blamanj · · Score: 3, Insightful

      In general assembly languages *are* more than tools that assign mnemonics (note spelling) to binary patterns, and hence do deserve to be included.

      There are macro assemblers which do preprocessing, which ranges from simple to sophisticated, and some which generate different opcodes for the same mnemonic based on what operands are present. Most assemblers also support the evaluation of expressions.

      In some cases, the very same assembler language can produce binary for different machines, so there is not necessarily a one to one mapping between assembler and processor.

    9. Re:Starts with 3GLs. by Jaywalk · · Score: 1
      Because you are mistaken about the nature of computer languages. Machine code (which you refer to as binary) is not a language.
      I suppose that's a matter of opinion, although Webster's seems to explicitly include machine code. In any case, I'm just using standard terminology; to reference FOLDOC:

      Incidently, my dad started with computers before first level languages; back when they still *shudder* had to move the wires.

      --
      ===== Murphy's Law is recursive. =====
    10. Re:Starts with 3GLs. by PurpleBob · · Score: 1

      Another interesting one is Prolog, which has no interactions with any other language on the chart, just a straight line from 1970 to the present.

      --
      Win dain a lotica, en vai tu ri silota
    11. Re:Starts with 3GLs. by Anonymous Coward · · Score: 0
      they are useless as languages except for people writing OS's and code that needs to go as fast as possible,
      ...

      All I know about Bush is I had a job when Clinton was president.

      Sounds like you know about as much about assembly language as you do about politics.
    12. Re:Starts with 3GLs. by Monkelectric · · Score: 1

      Yea but the history of machine code/assembly is the history of processors, not the history of languages. The point I was trying to make is that they have NOTHING to do with the evolution of computer languages.

      --

      Religion is a gateway psychosis. -- Dave Foley

    13. Re:Starts with 3GLs. by Anonymous Coward · · Score: 0

      probably because it sucks

    14. Re:Starts with 3GLs. by Brandybuck · · Score: 1

      Chicks dig Fortran! The problem is that no one's explained this to the chicks yet...

      --
      Don't blame me, I didn't vote for either of them!
    15. Re:Starts with 3GLs. by tverbeek · · Score: 1
      Another interesting one is Prolog, ...

      Prolog is interesting for more than its lack of interbreeding with the rest of the programming gene pool. I did a nifty project my senior year in college using Turbo Prolog to prove arguments in propositional logic.

      --
      http://alternatives.rzero.com/
    16. Re:Starts with 3GLs. by Anonymous Coward · · Score: 0

      1) programming a VCR doesn't count
      2) not everyone went to vocational classes

    17. Re:Starts with 3GLs. by Anonymous Coward · · Score: 0

      What about Matlab? We were told in class that it was an evolved form of Fortran.

    18. Re:Starts with 3GLs. by PurpleBob · · Score: 1

      Well, yes, I know Prolog is spiffy like that. And that's part of it - Prolog is just completely different than any other programming language, and it fills its niche (logic programming) extremely well, so there has never been a reason to branch a new language off of it.

      --
      Win dain a lotica, en vai tu ri silota
    19. Re:Starts with 3GLs. by Anonymous Coward · · Score: 0

      I'm serious, dammit!

    20. Re:Starts with 3GLs. by Monkelectric · · Score: 1
      Yea my spelling sucks :) I will admit that the last assembler I used with any frequency was Turbo Assembler 5, but I was trying to simplify their role for the laymen :) You must admit a compiler and assembler are two entirely different animals, if they did the same thing they would both be called compilers. A compiler generates code from a functional description of a program (a language which does not correspond to the underlying architecture). Whereas the role of the an assembler is to merely abstract the underlying architecture for human readability.

      All of this was in an attempt to illustrate that while assembly is a language it really doesn't belong on that list of computer languages for various reasons, the least of which is theres no one assembly language.

      --

      Religion is a gateway psychosis. -- Dave Foley

    21. Re:Starts with 3GLs. by blamanj · · Score: 1

      I understood your point, but I do feel that there is enought complexity in the assembler world to justify their inclusion. As far as abstraction goes, if the assembler generates different opcodes for MOV R1,R2 versus MOV R1,MEM it's abstracting as well.

      The C language isn't that far beyond assembler, or wasn't at least, in it's original incarnation. The ++ and -- operators aren't standard mathematical abstractions, they were added to C because they reflected the hardware capabilities of the PDP series of hardware C was originally implemented on.

  9. Reminds me of by WarriorPoet42 · · Score: 1

    the horrid diagram charting the evelution of *nixes. It was featured along with Sata^H^H^H^H McBride on the cover of a recent Fortune. This one seems to be slightly easier to understand, though. And it IS interesting to see where languages come from. (I imagine not everyone knows that C came from a language called B).

    1. Re:Reminds me of by fiannaFailMan · · Score: 1
      (I imagine not everyone knows that C came from a language called B).
      Ah, but where did B come from? Eh? Eh? Well? Bet you can't answer that!
      --
      Drill baby drill - on Mars
    2. Re:Reminds me of by pjt33 · · Score: 1

      BCPL. I was lectured on Comparative Programming Languages by the guy who designed it.

    3. Re:Reminds me of by WarriorPoet42 · · Score: 4, Funny

      RTA:

      FORTRAN I begot ALGOL 58 begot ALGOL 60 begot CPL begot BCPL begot B begot C begot C++

      And it was good.

    4. Re:Reminds me of by Teach · · Score: 1

      And BCPL, also Basic CPL, came from CPL (the Combined Programming Language), a collection of working papers done by Chris Strachey in the mid 60s.

      I give this lecture to my beginning comp sci students, to explain the heritage of this "C++" they're about to learn.

      :)

      --
      Graham "Teach" Mitchell, computer science teacher, Leander HS
    5. Re:Reminds me of by Anonymous Coward · · Score: 0

      Yeah, they were obviously influcened by the Unix Chart, which isn't horrid at all -- despite Darl misreading it. Groklaw is also using it for the basis of their research project.

      The original non-SCO version is here:
      http://www.levenez.com/unix/

    6. Re:Reminds me of by grahamlee · · Score: 2, Informative

      I think not sir. I think they might have been influenced by the very chart that they ripped off.

    7. Re:Reminds me of by Anonymous Coward · · Score: 0

      Except they forget to stop at C

    8. Re:Reminds me of by joib · · Score: 1


      FORTRAN I begot ALGOL 58 begot ALGOL 60 begot CPL begot BCPL begot B begot C begot C++

      And it was good.


      Fortran, yes. The rest of those languages began a slow descent into madness. Fortran forever!!!

    9. Re:Reminds me of by Anonymous+Brave+Guy · · Score: 1
      BCPL. I was lectured on Comparative Programming Languages by the guy who designed it.

      <Off-topic>

      He must be teaching a different course these days; we were lectured on co-routines by the same man. Funnily enough, our course had the same name, though... ;-)

      </Off-topic>

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  10. The text needs to be smaller by Anonymous Coward · · Score: 0

    The text should be smaller so that the target market of older geeks looking for something nostalgic need to squint more.

  11. Logo! by Xaroth · · Score: 2, Interesting

    I'm happy to see turtle-based graphics languages on there, but they appear to have missed a branch on the Logo tree. On their chart, they jump from Logo to Object Logo, but miss LogoWriter and LegoLogo.

    Ok, so maybe LegoLogo is a little iffy, but LogoWriter included some pretty significant changes to Logo as a whole.

    1. Re:Logo! by dasmegabyte · · Score: 1

      They also mixed Logo II, which introduced swatchs of BASIC into Logo itself (even the line numbers!)

      It was loading animal sprites and making them dance in Logo II that taught me how to program at the age of 8.

      --
      Hey freaks: now you're ju
  12. What about tie-ins to the systems? by 192939495969798999 · · Score: 1

    It's a little hard to understand this chart w/o understanding the systems that propagated these language shifts. Plus, it really sucks that all the versions are on the same line... it is really hard to read that information and glean any kind of useful stuff, except for the off-shoots from the other languages to form new ones. That part is cool!

    --
    stuff |
    1. Re:What about tie-ins to the systems? by Anonymous Coward · · Score: 0

      what makes you think you're supposed to get anything useful from it?

  13. From "The Tao of Programming" by Conspiracy_Of_Doves · · Score: 5, Funny

    The Tao gave birth to machine language. Machine language gave birth to the assembler.

    The assembler gave birth to the compiler. Now their are ten thousand languages.

    Each language has its purpose, however humble. Each language expresses the Yin and Yang of software. Each language has its place within the Tao.

    But do not program in COBOL if you can avoid it.

    1. Re:From "The Tao of Programming" by JCOTTON · · Score: 0, Troll

      COmmon Business Oriented Language. At least 50% of all code in the U.S. is in COBOL. Beats any other language.

    2. Re:From "The Tao of Programming" by ElderKorean · · Score: 2, Funny

      While that might be correct, I much prefer the acronym that we found while at uni learning COBOL.

      C*nt Of a Bloody hOrrible Language.

  14. Real Klingon programmers by incal · · Score: 1

    Dont use such silly concept as programming language. They manually set content of memory chips through arrays of switches :)

    Think, what Mozilla could be with this adventurous programming technique :).

    1. Re:Real Klingon programmers by RetroGeek · · Score: 1

      They manually set content of memory chips through arrays of switches

      Ah yes, paddle switches.

      I used to work on a machine where you needed to load the boot-strap manually into RAM, one hex code at a time.

      THEN, the machine could find the rest of the boot code, load from tape, then load from disk (a whopping 5 MBytes).

      --

      - - - - - - - - - - -
      I am a programmer. I am paid to produce syntax not grammar. Deal with it.
    2. Re:Real Klingon programmers by sexylicious · · Score: 1

      I can't see a Klingon having the patience to program. Nor do I see one having the patience to build a spacecraft.

      "GACK AHWWQS!!" (F'ing CHEM HOMEWORK!!)

    3. Re:Real Klingon programmers by Anonymous Coward · · Score: 0

      Functions do not have 'parameters', they have ARGUMENTS!

    4. Re:Real Klingon programmers by Conspiracy_Of_Doves · · Score: 1

      He's referring to this

    5. Re:Real Klingon programmers by Anonymous Coward · · Score: 0

      That's not an argument, it's just a simple contradiction.

  15. Do we blame the acid? by Anonymous Coward · · Score: 5, Funny

    The Forth, Logo and Smalltalk lines all start in the late Sixties.

    1. Re:Do we blame the acid? by drinkypoo · · Score: 4, Funny

      There are two major products that come out of Berkeley: LSD and [Unix] BSD. We don't believe this to be a coincidence.
      --Jeremy S. Anderson

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    2. Re:Do we blame the acid? by Anonymous Coward · · Score: 0

      I was an undergraduate in Computer Science at Berkeley in 1969 and there was a local Fortran implementation for the CDC-6400 called "ACID". Does anyone have any information on this? I swear I am not making this up, and I did NOT take any LSD at the time.

    3. Re:Do we blame the acid? by Anonymous Coward · · Score: 0

      of course, Lysergsäurediethylamid was first created by Dr. Albert Hoffman, as LSD-25 while researching for Sandoz in Basel, Switzerland.

  16. Cute, aside from the chartjunk by YetAnotherName · · Score: 1

    Of course, "chartjunk" as defined Edward Tufte. Apparently, the deriviations and timeframes of the various languages wasn't interesting enough by themselves.

    1. Re:Cute, aside from the chartjunk by Anonymous Coward · · Score: 0

      I believe it's called "advertising". Aside from the book covers and animal logos, the chart is pretty lean.

    2. Re:Cute, aside from the chartjunk by Anonymous Coward · · Score: 0

      The information is also maximized for OReilly marketing. They had to list every minor revision of PHP, Python, and Java, while skipping over numerous important versions of BASIC etc.

    3. Re:Cute, aside from the chartjunk by Anonymous Coward · · Score: 0

      there were important versions of BASIC?

  17. TMI by Warlok · · Score: 4, Interesting
    I think I'd like the chart a little better if it didn't distinguish between each version of each language. Major updates are OK (Fortran --> Fortran 4 --> Fortran 77, B --> C --> C++, Lisp ---> Common Lisp, etc.), but the dot versions just clutter things up.


    That being said, the lighter connecting arrows between languages (Lisp to Logo, Algol to almost everything else) makes the chart easy to follow and interesting to look at.

    --
    ...and you run and you run and you can't stop what's been done...
    1. Re:TMI by Anonymous Coward · · Score: 0

      I agree with the version numbers being dumb. Look at Java. Not only dot versions but also underscore versions. Sheesh!

  18. Interesting read by JohnnyComeLately · · Score: 3, Insightful
    We've been discussing this in our Software Engineering classes lately. I'm learning UML and part of the whole push to to unify all these different means and methods of software development. If you look back, it's amazing how far and how fast it's all evolved, and then subsequently, how fractured things have become as well. We can flame all day and night about Visual Basic Vs This Language or that. And no one will be definitively right. I liken it to my toolbox in the garage. I have hundreds of tools that are great in their own right. However, there's a couple dozen I use regularly.

    So which couple dozen will we continue to use?

    1. Re:Interesting read by Anonymous Coward · · Score: 0

      Don't get your hopes up with UML... it's basically a waste of your time for real development. It makes mediocre developers feel good because they think they're doing actual design, but in reality no work is accomplished. At my company we've fired all the UML users except 1 because they almost never get anything done, and if they do get something done, what they've come up with is inflexible and short-sighted.

    2. Re:Interesting read by Cthefuture · · Score: 1

      I liken it to my toolbox in the garage. I have hundreds of tools that are great in their own right. However, there's a couple dozen I use regularly.

      People always make the comparison of programming language to traditional tools. I don't understand that. A programming language, while a "tool" or sorts, is not like the tools you use to work on your house or your car.

      A programming language is more like a particular automobile. That is, they all do pretty much the same thing, the difference is in style and execution (ie. how you accomplish the task at hand).

      --
      The ratio of people to cake is too big
    3. Re:Interesting read by stanmann · · Score: 1

      Exactly, you can load a ton of bricks and take it home using visual basic, but when developing an operating system a pickup truck is much more effective.

      --
      Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
    4. Re:Interesting read by feloneous+cat · · Score: 1

      I liken it to my toolbox in the garage. I have hundreds of tools that are great in their own right.

      Yah, but only the chainsaw is that King of tools!

      Feloneous

      --
      IANAL, but I've seen actors play them on TV
    5. Re:Interesting read by Anonymous Coward · · Score: 0

      not to mention you can buy a CMM rating anyways...

    6. Re:Interesting read by Anonymous Coward · · Score: 0

      "It makes mediocre developers feel good because they think they're doing actual design"

      and it allows disconnected project managers to feel like there making a valuable technical contribution...

    7. Re:Interesting read by JohnnyComeLately · · Score: 1
      Thanks for the different point of view. It is definately different than the academia point I'm getting. I look at it and see all these graphs (8 or 9, unless you're looking at UML 2.0 or whatever V the newest is up to), and think to myself, "This is basicly overrated." But I just assumed it was my inexperience. The interaction charts are like "pong" charts used in telecom or network planning. The rest look like variations of the flow chart, which has been around longer than I've been alive.

      I was quite impressed when I was reading IBM Rational Rose info that said it could create code. I suffered through C++, and so anything bypassing me keeping track of memory and "int" versus "float" is a winner to me. Again, though, the practical side of the brain just can't believe anything automated can create good code. I use Microsoft's rendering of HTML from Word as defense exhibit A. HTML is a much simpler "language" than C++. So if it flails through that I can't see how C++ would be much different, but on a larger scale.

      I mentioned the Visual Basic flaming because there was an article on here just yesterday talking about flaming VB versus C, C++, and C#. People are hung up on "Basic".

      For the reply about tools analogy. I could say technique and the other you mention also apply to tools. This is why you have ball peen hammers, roofing hammers, sledgehammers, and mallets. Either analogy (cars V tools) can apply. It's funny you mentioned cars, I used the analogy in my database class. Using MySQL versus Oracle, I said, "There's no point in requesting a Mercedes when the budget only allows for a Kia". Subseqently, I've found MySQL can be a "Mercedes" if need be. I didn't realize it was already penetrating terabytes and large enterprise levels of capability.

  19. Incase of Slashdotting... by GillBates0 · · Score: 5, Funny
    Here's a WhiteSpace script that prints the ASCII representation:


    Enjoy!
    /ob

    --
    An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
    1. Re:Incase of Slashdotting... by Anonymous Coward · · Score: 0

      ass...

    2. Re:Incase of Slashdotting... by Anonymous Coward · · Score: 0

      There is a bug in your code...

    3. Re:Incase of Slashdotting... by armando_wall · · Score: 1

      Thank you for this link!!!

      It's soooo funny and brilliant!!!!

  20. ActionScript?!? by YetAnotherName · · Score: 5, Funny

    ActionScript 2.0 is the newest language according to this chart. And if my manager gets ahold of this, I'll end up having to program in it by the month's end!

    After all, to managers, "newer, and therefore better." *sigh*

    1. Re:ActionScript?!? by leerpm · · Score: 1, Informative

      ActionScript is JavaScript/ECMAScript repurposed for the server-side.

    2. Re:ActionScript?!? by Speare · · Score: 5, Funny

      And if my manager gets ahold of this, I'll end up having to program in it by the month's end!

      Don't worry. He'll hand it to Human Resources, and ask that they be on the lookout for candidates with six years of ActionScript 2.0 experience.

      And then you'll lose your job to some twit who claims seven years experience in ActionScript 1.0, 2.0 *and* 3.0.

      --
      [ .sig file not found ]
    3. Re:ActionScript?!? by interiot · · Score: 2, Funny

      Scott Adams, is that you?

    4. Re:ActionScript?!? by ericspinder · · Score: 1
      ActionScript is JavaScript/ECMAScript repurposed for the server-side.
      Do you mean like Server Side Java Script, my god what a mess that was, I had to support an old project written in it, it finally broke when someone unexpectedly (and irrevokably) did a database upgrade. I am a little suprised that the line for JavaScript would indicate that it is a "dead" (or dying) language. Sure there hasn't been any real developments in the language in a while, but maybe they are just trying to let the browsers catch up.

      Also I thought that Action Script is for dynamicly controlling the Flash plugin, and has very little to do with JavaScript (or ECMAScript), other than some syntax.

      --
      The grass is only greener, if you don't take care of your own lawn.
    5. Re:ActionScript?!? by Anonymous Coward · · Score: 0

      Server Side Java Script from Netscape?

      MS JScript/ASP is OK -- especially since the alternative is VBScript!

    6. Re:ActionScript?!? by Anonymous Coward · · Score: 0
      ActionScript is JavaScript/ECMAScript repurposed for the server-side.

      uhm, no. ActionScript is an ECMA 262 based language for Flash. it gets compiled into bytecode.
      ActionScript 2 is a newer version, based on the draft for the next ECMA 262 revision (.4?), introducing strong typing and classes (AS1 uses prototype based inheritance).

    7. 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.

    8. Re:ActionScript?!? by rush22 · · Score: 2, Informative

      ActionScript is JavaScript/ECMAScript repurposed for the server-side.

      ??? No it isn't, it is a Flash programming language. It is basically the same language as JavaScript, but obviously implemented differently, and compiled (afaik), not interpreted.

    9. Re:ActionScript?!? by bruthasj · · Score: 1

      some twit

      And to top it all off, it's the HR director's teenage son looking for a summer job.

    10. Re:ActionScript?!? by Anonymous Coward · · Score: 0

      i'm at least glad that AS 2.0 has some form of error reporting... i've almost killed myself on numerous occasions because of AS 1.0!

    11. Re:ActionScript?!? by Rick+BigNail · · Score: 1
      Did you use Oracle in that project?

      My application stuck on oracle 7 because of server side javascript!!!

    12. Re:ActionScript?!? by ericspinder · · Score: 1
      It was an informix database.

      For a while, I was even "stopping by" the server room on weekends just to bring that damn project back up. It was a real mess. When we took the responsability of deploying the project, one of the developers on my team, took it as a "fill-in project" to improve several problems with the code (in particualar the handling of the database connection), unfortunately as the upgrade neared deployment the business unit suddenly claimed to know nothing of the upgrade and prevented us from deploying it. While still being in production it was at the end of it's lifecycle, and they realilized (I believe) that they would need to do some testing. Trust me, we spent 10 to 20 times the effort to try to get the old "sloppy" code to work. I don't believe that our upgrade would have fixed the problem, but it would have handled the poor DB connection much cleaner. I'd like to say more, but I have already said too much.

      --
      The grass is only greener, if you don't take care of your own lawn.
  21. Plankalkül? by MuMart · · Score: 4, Insightful
    What about Konrad Zuse's Plankalkül programming language?

    There is another programming language family tree on that page aswell. This was mentioned in a previous story.

  22. "And no one will be definitely right" by Gothmolly · · Score: 5, Insightful

    People do not typically "flame" about VB's functionality, but rather the breed of programmers and the vendor,IDE and API lock-in which accompany it.

    --
    I want to delete my account but Slashdot doesn't allow it.
    1. Re:"And no one will be definitely right" by nate+nice · · Score: 1

      Yeah, I agree. As a language, it suits it's purpose as a quick prototyping language that is viable for graphical scripts or simple data I/O. Too bad it is not always used this way. And you're right about the breed of programmer. I've met enough people who picked up a book on VB, learned a thing or two and think they should be earning 60K+/year because they now understand Computer Science. Firstly, it's insulting and secondly, it's iggnorant. VB is the type of language you shouldn't try and make things work in; it's the type of language you use because what you would want to use is just too powerful for what you are doing.

      --
      "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
    2. Re:"And no one will be definitely right" by Anonymous Coward · · Score: 0

      Mod me down, and I will become more powerful than you can possibly imagine.

      Someone mod this guy down, maybe he'll be able to stop all the dupes!

    3. Re:"And no one will be definitely right" by Anonymous Coward · · Score: 0

      Actually, a lot of people flame VB's functionality -- there's a top 10 list of syntax stupidity somewhere. And these issues result in real-world buggy software. For an "easy" language, there's a long list of Gotchas.

      I've barely touched VB, but found out quickly that a lot of functionality is missing and you either need to make Win32 calls or use C++ and write a COM object. Bleck.

    4. Re:"And no one will be definitely right" by Anonymous Coward · · Score: 0

      I agree. VB6 just shows through as being rather clunky in many areas. It's an old language with new stuff mashed in everywhere and in the end it just ends up confusing.

      Haven't touched VB.net but supposidly that's all fixed now .

    5. Re:"And no one will be definitely right" by mmusson · · Score: 1

      Something I causally throw out from time to time is: You should not be a programmer if you cannot handle assembly code. This usually gets a negative reaction.

      As languages have become higher level and easier to use, the effective bar has been lowered on who is able to write code. I once worked at a company that hired french majors to be programmers. The reasoning was that you can pick up script programming pretty quickly. But these people without a basic education in computer science wrote some of the worst code I have ever seen.

      I think one reason that you see a lot of bugs in modern code is that a lot of the programmers should not be programmers. Assembly code forces you to actually understand how the machine functions. How are you going to write good code if you don't understand what the high level code you are writing actually does.

      --
      SYS 49152
    6. Re:"And no one will be definitely right" by ClosedSource · · Score: 1

      I didn't know that any programmers accompany VB. I didn't find them in the box.

      Seriously, though, this is really about elitism. What's important is the quality of the result, not the language used.

    7. Re:"And no one will be definitely right" by Anonymous Coward · · Score: 0

      "Haven't touched [new version of MS product] but supposidly that's all fixed now."

      heh, I never tire of hearing that :)

    8. Re:"And no one will be definitely right" by nate+nice · · Score: 3, Interesting

      Yeah, I actually found asm to be easier in many respects because there is so little abstraction and I can see everything piece of loogic in front of me. Obviously it is not easier to write a modest sized program in asm but reading code in assembly should be something any Computer Science graduate should be able to do rather easily. It's not too much to know what it means to load and store a word from a memory location to a particular register and store it again using *gasp* hex.

      Not to mention a fair understanding of algorithms, data structires and computation theroy not because you will remember the exact things you learned a year out of school but so you know they exist, why they exist and to prevent you from coming up with crazy ideas that are not computationaly feasable. I would love to see how many programs use a bubble sort to sort a large set of data, ya know.

      As for high level languages lowering the bar, it's marketing telling people these things that are simply not true. Marketers will tell clients "this language, anyone can write in it..". It's not that anyone can write in it, sure anyone can get a book and program some codes, but will they understad the consequence of what they are doing? It's hard for people that haven't at least had a math background or engineering (which includes much math) to really understand what they are doing unless they have done a bunch of research themselves, been trained by someone else over a period of time or gone to school for CS.

      On another rant, I really hate how the study of Computer Science has been basterdized by vocational programs and get rich quick schemes (tech skills "universities" or "schools".."start your new carrer in IT in 3 months!") such that most people think they teach you how to fix computers, install software, how to program a bit and how to become an "IT Professional" who makes sure all the computers are networked in the office. When I try and explain my fascination of algorithms, languages and computational theroy (Turing-Church Thesis) ,among other topics, and how computer science is really a subset of math that can be directly applied to modern silicon computers as well as computers being a great frontier for creating systems that can be observed to be algorithmically Turing computable, I am met with a blank face and then asked if I know why their computer crashes all the time. In short, observing the world for computation and applying that to machines that can compute quickly. Such a misunderstood study.

      --
      "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
    9. Re:"And no one will be definitely right" by ClosedSource · · Score: 1

      "And you're right about the breed of programmer. I've met enough people who picked up a book on VB, learned a thing or two and think they should be earning 60K+/year because they now understand Computer Science."

      I guess you're talking about would-be VB programmers. Few companies hire people (at any salary) to program in a particular language unless they have actual working experience in that language or are a recent CS graduate. This is no less true for VB than it is for C++, Java, Perl or any other computer language. Those who merely learned from a book need not apply.

    10. Re:"And no one will be definitely right" by dcam · · Score: 1

      I'll falme about VB's functionality, because I code using it. I've coded using mainly VB and variants from ~4 years.

      1. No early exit from conditional statements. This throws errors if Var is null:
      If (Not IsNull(Var) And IsNumeric(Var))
      The result is more bloated code.

      2. The class support is abolsolutely crap. What is with the distinction between class modules and modules? Why is there no inheritance? Crazy.

      3. There are little unexplained "features". For example not being able to pass type's into functions in certain circumstances. The solution to that one is to add another class module. Yah go code bloat.

      4. Error handling is poor. If you are writing a function with decent error handling you need something like this:

      Function Foo()

      On Error GoTo Foo_Err:

      Foo_Exit:
      Foo = ...

      Foo_Err:
      ' error handling code

      End Function

      More freaking code bloat.

      5. What is with Set? A native type is an object too.

      6. Why is there a distinction between functions and subs? A sub is just a function that doesn't return a value. I convert enough Subs to functions and vice versa to find this annoying

      7. Why do you return a value from a function by setting the name of the function to the value? What are you supposed to do when the function name changes? I like to have good descriptive names for my functions/subs and as they evolve the name changes. So you have to hunt through the code to find all instances of the old name.

      8. The editor (VB6) sucks big time. Tabs coverted to spaces. Scroll wheel doesn't work. Stupid guesses as to tabbing in. As far as text editors go (things like intellisense aside), Interdev is a far superior editor.

      Fortunately all lot of this has been fixed in .Net. My only whinge there is that are some features in C# that aren't there in VB.Net (eg operator overloading), but hey since I prefer the more terse style of the C style laguages I'm going with C# anyway.

      --
      meh
    11. Re:"And no one will be definitely right" by Anonymous Coward · · Score: 0


      When I try and explain my fascination of algorithms, languages and computational theroy (Turing-Church Thesis) ,among other topics, and how computer science is really a subset of math that can be directly applied to modern silicon computers as well as computers being a great frontier for creating systems that can be observed to be algorithmically Turing computable, I am met with a blank face and then asked if I know why their computer crashes all the time


      When you are explaining this with shining eyes, are you using a full stop more frequently than every 78.th word ? Are you using phrases like "algorithmically Turing computable" ? Are you mispronouncing words like you misspell "theory" ? Are you explaining many different ideas in the same sentence ?

      In case, that might have something to do with the blank stares.

    12. Re:"And no one will be definitely right" by yason · · Score: 1

      Seriously, though, this is really about elitism. What's important is the quality of the result, not the language used.

      The language typically has a say about part of the quality of the result. That comes from the fact that some languages+environments attract people who can write quality code, other languages and environments are used by the rest of the people.

      Sure there are people who don't mind the tools as long as they get paid for the job, but there's a minority of them among those who can write quality code. If you love hacking, you want the best tools to help you hack better and faster.

    13. Re:"And no one will be definitely right" by ClosedSource · · Score: 1

      Perhaps what you don't understand is that most software development is not about hacking, it's about business. If you want to be successful you should use the best tool for the job. Sometimes the best tool is not the politically correct one. If you just program as a hobby, use whatever you like.

    14. Re:"And no one will be definitely right" by kevinbrock · · Score: 1
      One of the changes that is inevitable as computers become commodities is the emergence of a group of people who can perform basic repairs, maintenance and operation, but who do not have a full 4-8 year degree.

      Washing machine repairmen don't need to know how to build washing machines, and a similar group is emerging for computers. It's the job of the designers and engineers to ensure that the systems can be maintained by someone without a degree in C.S. Repairs need to be within the price range of low-end users...

      I think they do qualify as "IT Professionals." Everyone involved in computers doesn't need to be a theory buff (although I tend that way myself)...

  23. oh my stars and etc ... by thunderpeel · · Score: 0, Troll

    That "map" is .. uhm well .. great. WTF does it mean to non programmers?

    --
    I really do know KungFu .. ..
    1. Re:oh my stars and etc ... by Diotallevi · · Score: 0

      it means your not reached true geekdom...now sit yoga style...take a drink of your fav caffinated bvg and repeat after me...hhhhuuuummmmmmmmmmmmmcooooooobbbballllllloooo mmmmmmmmmmmmceeeeeeeeeeeeeeooooommmmmmmmmpppaaaaas ssssccccaaaaaaallllluuuhhhhhmmmmmmmmmm

      --
      Never underestimate the logical power of sarcasm
    2. Re:oh my stars and etc ... by Anonymous Coward · · Score: 0

      Pretty much the same thing that it means to programmers, since the chart itself has little-to-no information about the languages themselves. (Only a poorly rendered vertical axis of "types" from fortran-esque up top, down through procedural, OO, scripting and finally functional stuff like LisP and Haskell.)

  24. VMs will solve this issue by Ars-Fartsica · · Score: 4, Interesting
    At some point at VM, be it JVM, Parrot, Mono/CLR runtime will become pervasive and become the de facto meta language, with specific developer-level langs simply being syntactic sugar.

    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.

    1. Re:VMs will solve this issue by Anonymous Coward · · Score: 1, Insightful

      Perhaps you should take a look at Common Lisp and its macros.

    2. Re:VMs will solve this issue by dasmegabyte · · Score: 3, Interesting

      Well, the problem is that the semi-colon is a completely arbitrary choice. And like all arbitrary choices, the only reason to continue using it is tradition. Since most of the people creating new languages are doing so to stir up tradition and do something in a way, a lot of the time the semicolon hits the cutting room floor for purely symbolic, rebellious reasons. The computer science equivalent of growing your hair out or piercing your eyebrow.

      This is how we end up with completely inscruitable languages like Visual Basic. BASIC was designed to not look like a programming language and instead look like an English sentance. When we removed the line numbers, the end of a line signified the end of a statement. Of course, adding object oriented syntax to Basic made it even more apocryphal, and we ended up with the mess we have today. We can't change it, because if we did than older stuff wouldn't work. Besides, if you want to use VB with a better syntax, you can just use C# (which is either C++ without the hassles of memory management, pointers or header files or Java without the hassles of explicit declaration of exception handling, separate Get and Set methods for properties, or cross platform execution).

      --
      Hey freaks: now you're ju
    3. Re:VMs will solve this issue by Tarantolato · · Score: 4, Funny

      At some point at VM, be it JVM, Parrot, Mono/CLR runtime will become pervasive and become the de facto meta language, with specific developer-level langs simply being syntactic sugar.

      More likely, we'll see Stupid Language Wars replaced by Stupid VM wars.

      One thing that has always bothered me is the lack of standards for basic syntax.

      You can have my parentheses when you pry them from my cold, dead hands.

      For example does anyone really lose flexibility if we say statements are delimited by ';'?

      Fuck you.

    4. Re:VMs will solve this issue by Anonymous Coward · · Score: 0

      I'm not trying to sound like an ass, but I will say this bluntly: the abstraction of a programming language doesn't have a single thing to do with syntax. None whatsoever!

      VB is nothing but style and bondage and discipline (B&D). On a side note B&D doesn't affect abstraction either. If you want to see abstraction, compare assembly language, C, C++, and C#.

    5. Re:VMs will solve this issue by stanmann · · Score: 1

      Well, since BASIC, ForTran, and COBOL are older than C and using a CR/LF pair to end a statement is much more logical, discarding such an abomination is perfectly reasonable.

      --
      Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
    6. Re:VMs will solve this issue by eyeye · · Score: 1

      Perl has a standard if-then-else construct, practically the same as C++,javascript etc..

      What are you talking about?

      --
      Bush and Blair ate my sig!
    7. Re:VMs will solve this issue by Tarantolato · · Score: 1

      I'm not trying to sound like an ass, but I will say this bluntly: the abstraction of a programming language doesn't have a single thing to do with syntax. None whatsoever!

      VB is nothing but style and bondage and discipline (B&D). On a side note B&D doesn't affect abstraction either.


      Right. So how do I write first-order functions in VB then?

    8. Re:VMs will solve this issue by Anonymous Coward · · Score: 0

      The semicolon is not a completely arbitrary choice, although I don't blame you (no one knows how to use them). It's just like it's use in English and many other languages: a signal for the end of a complete statement that could correctly be the end of a sentence (or source file), but isn't.

    9. Re:VMs will solve this issue by dasmegabyte · · Score: 1

      Not so logical -- a CR/LF pair ALWAYS translates into a new line. On systems where vertical presentation height is limited (say, on my widescreen laptop) it may be preferrable to perform more than one statement per line to get more actual code on the screen. This isn't to be overused, of course...but it you add the same thing to five differen variables, a+=1;b+=1;c+=1;d+=1;e+=1; is a pretty handy way to do it.

      --
      Hey freaks: now you're ju
    10. Re:VMs will solve this issue by dasmegabyte · · Score: 1

      The semi colon only signifies the end of an independent clause; since a clause in computing includes things NOT demarcated by semi colons, such as the start of an iteration, it's only a MOSTLY good idea.

      --
      Hey freaks: now you're ju
    11. Re:VMs will solve this issue by Anonymous Coward · · Score: 2, Interesting

      Thats why VB has the classification as a "Bondange and Discipline Language" like Pascal had before it. VB and C++ are of the same level of abstraction where they allow data and functions to be abstracted into classes, which is the abstraction of a structured language. Of course the structured language abstracts the implementation of the data and structures from assembly language. Assembly language is an abstraction of machine code in that it uses symbolic notation (syntax, but not a specific syntax) and macros to abstract 1's and 0's. And of course machine code is just the abstraction of voltages in various field effect transistors in the microprocessor (which is an abstraction of quantum theory for the operation of the transistors which cannot be further abstracted unless you consider math the abstraction of quantum theory).

    12. Re:VMs will solve this issue by Anonymous Coward · · Score: 0

      Yeah. Imagine what the Obfuscated C code contest would be like if there was never a semicolon in C!

    13. Re:VMs will solve this issue by dasmegabyte · · Score: 2, Funny

      It would look like non-obfuscated Perl code.

      --
      Hey freaks: now you're ju
    14. Re:VMs will solve this issue by mingot · · Score: 1

      No way. My problem is usually that I want to keep the width of lines to a reasonable length.

      So to have statement spanning lines you have to introduct the abomination known as _ in VB.

    15. Re:VMs will solve this issue by stanmann · · Score: 1

      I don't object to an ALTERNATE statement completion marker or a line continuation marker for readability, BUT when a statement must end in a statement completion mark and a CR/LF, thats just another thing to worry about when debugging. And of course C uses statement completion, and encapsulation with the { and ( , and suddenly programming becomes work and not fun.

      --
      Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
    16. Re:VMs will solve this issue by Christianfreak · · Score: 1

      e.g. perl's syntax is a pointless departure that adds no value.

      Huh? Perl uses ; to end statements and the same if-then-else structure as C and its dervatives. And if you're talking about embedded regexes, well I'm glad you aren't in charge of "The Standard for Language Design" since I happen to like them and Perl in general. If you would take the time to learn Perl you'd find that it can be written much like English which typically makes it easier to understand.

    17. Re:VMs will solve this issue by lazarius · · Score: 2, Informative

      he's talking about the following type: $i++ if ($i > 0); which I like - I normally prefer reading it that way than if ($i > 0) { $i ++; } which would be the "standard" way of writing it. Laz

      --
      Beware the JabberOrk.
    18. Re:VMs will solve this issue by Tarantolato · · Score: 1

      Thats why VB has the classification as a "Bondange and Discipline Language" like Pascal had before it.

      And that's why VB is less abstract than Lisp or ML etc. Abstraction means how many 1's and 0's you can model with a given length of code - we'll call that number n. With a lower-order function, where you can take values as arguments and return values as results, n is a function of the number of valid arguments.

      With higher-order functions, where you can take functions as arguments and/or return functions as results, n is a function of the number of functions that can be taken or returned times the number of valid arguments for them.

      In other words, you can model a much greater number of 1's and 0's with a language like Lisp: it is more abstract.

    19. Re:VMs will solve this issue by Anonymous Coward · · Score: 0

      "you can just use C# (which is either C++ without the hassles of memory management, pointers or header files or Java without the hassles of explicit declaration of exception handling, separate Get and Set methods for properties, or cross platform execution)."

      ahh, so C# is just compiled comments :)

    20. 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.
    21. Re:VMs will solve this issue by Anonymous Coward · · Score: 0

      If you add the same thing to five differen variables, a+=1;b+=1;c+=1;d+=1;e+=1; is a pretty handy way to do it.

      It may look handy to a C programmer, but I think I'll stick with List.iter incr [a; b; c; d; e]

    22. Re:VMs will solve this issue by sploxx · · Score: 1

      Improbable. Tastes are different.
      See, FORTRAN is still around. And new/updated compilers are released every year...

    23. Re:VMs will solve this issue by kzadot · · Score: 1

      What language is that? It looks familar, like something I leant once but havent used day to day.

    24. Re:VMs will solve this issue by squiggleslash · · Score: 1
      Speak for yourself. I'm going to use:

      for(i = 97; i<102; i++) eval(String.fromCharCode(i) + "++");
      --
      You are not alone. This is not normal. None of this is normal.
    25. Re:VMs will solve this issue by Anonymous Coward · · Score: 1, Funny

      If you would take the time to learn Perl you'd find that it can be written much like English which typically makes it easier to understand.

      $Yes, @it {$!"QTASDGSDVDXUR)" *R%war zcvaw307vt0 63 t[zxgv}}!"!"!/?!!} is.

      Much clearer than those nasty B&D languages which force you to write code instead of line noise.

    26. Re:VMs will solve this issue by eztcld · · Score: 0

      Perl is a pointless departure by an early gen visionary with glistenings of false deity upon his bald head in the un-air>conditioned env of the dataplex. Perl is without a doubt structured so a$$holes can find something to love and adopt, because that's all I've seen parading it's abilities in public.

    27. Re:VMs will solve this issue by Anonymous+Brave+Guy · · Score: 1

      I hope you're running on an ASCII system, then. ;-)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    28. Re:VMs will solve this issue by Anonymous+Brave+Guy · · Score: 1

      That specific syntax looks like OCaml to me, though pretty much any functional language is going to support a near-identical construction, and plenty of other languages let you apply a function to a series of arguments similarly elegantly.

      The AC beat me to it, but my immediate reaction was also that the line full of += expressions wasn't exactly a great argument for statement separators on this basis.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    29. Re:VMs will solve this issue by LWATCDR · · Score: 1

      Actually not the semi-colon was not a completely choice. At first glance the logcal choice would have been the period except that it is a lot harder to see a . than it is a ; Since the , was already used in functions the; is the logical way to end a statment.
      The only people that want to program in English are people that do not know how to program or have had a hard time learning to program and figure it must be the language that is holding them back. If you want to program in English get a Cobal compiler.
      Now Garbage collection is another story. It looks like it is the way to go on apps on big (PC) systems.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    30. Re:VMs will solve this issue by schnitzi · · Score: 0

      I've always wanted an "unless" statement, that means basically "if ( ! ... )". For example,

      unless ( a.contains( b ) )
      {
      a.addElement( b );
      }

      --



      I object to that article, and to the next reply.
    31. Re:VMs will solve this issue by HFXPro · · Score: 1

      Looks like OCaml to me, and even works in ocaml provided that everything is defined.

      --
      Reserved Word.
    32. Re:VMs will solve this issue by alex_tibbles · · Score: 1

      "For example does anyone really lose flexibility if we say statements are delimited by ';'?"

      What about if you don't want to have statements in your programming language? Eg. in a functional language.

    33. Re:VMs will solve this issue by jaavaaguru · · Score: 1

      At least if the deciding factor is the VM, then everyone can use their preferred VM, and the language the app was written in is still irrelevant, until someone else needs to debug/.fix it.

      Isn't the problem in this case going to be different compilers producing varying quality byte-code?

    34. Re:VMs will solve this issue by johnnyb · · Score: 1

      You can actually do this with any object-oriented programming language, although it takes more code.

    35. Re:VMs will solve this issue by CableModemSniper · · Score: 1
      A bunch of languages have this, Ruby for one I know for certain, and I believe Perl does as well.
      Or you could just do:
      #define unless(x) if(!(x))
      --
      Why not fork?
  25. SmallTalk by artlu · · Score: 1

    Hooray for smalltalk. I really miss using that old language, it was so diverse. Im glad to see some of the effects are still trickling into new langauges like C#. Cool site.

    GroupShares.com A free and interactive stock market community. It is just getting started so check it out!

    --
    -------
    artlu.net
    1. 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.

    2. Re:SmallTalk by One+Louder · · Score: 1

      Hmmm, it looks like that site is down - try here instead.

    3. Re:SmallTalk by argent · · Score: 1

      The problem is that there's a line from Smalltalk to Oak/Java. I assume that this line is supposed to imply that there's some relationship between Smalltalk and Java. If there is, it's clearly a dysfunctional relationship, because Java has none of the good features that originated in Smalltalk.

  26. Same here but much more readable by Anonymous Coward · · Score: 0

    ... and existing for a while now. The same exists for Open Systems (UNIX) and Closed Systems (Windows) history on the same site.

  27. What amazes me by sparkywonderchicken · · Score: 0

    Most languages refuse to die even when they are of no further use or I should say other languages are much more useful and efficient at doing the same job. If this were the case in "real life" we'd be speaking Celtic2004 or LatinIso3

    1. Re:What amazes me by stanmann · · Score: 1

      Um I speak English, which is a merged fork from Anglish, a german dialect; Celtic; Latin, an artificial language; and Greek the ancient trade language.

      What do you speak?

      --
      Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
    2. Re:What amazes me by sparkywonderchicken · · Score: 0

      You left out French, Spanish, Arabic, Sanskrit and Cobol. So how many of those languages are still being used as a seperate entity?

    3. Re:What amazes me by jtev · · Score: 1

      We are, and German1700 just a realy bastardised hack on all 3

      --
      That which is done from love exists beyond good and evil
    4. Re:What amazes me by stanmann · · Score: 1

      Huh? Latin 1.2a and 1.3b are included under latin, Arabic and sanskrit did not make direct contributions and WTF does cobol have to do with English.

      --
      Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
  28. How... by Hangin10 · · Score: 1

    It might have plenty of omissions but I
    still want to print it out...

    How the heck do I print it? The print
    dialog will only let me print either
    the part right in the middle taking up
    a page, or squeeze the thing on to one
    page...

    Be nice if they would let us order
    a free (real) poster...

    1. Re:How... by Anonymous Coward · · Score: 0
      Give me a break. What makes you think that you should be able to order a "free (real) poster"? There are costs associated with creating and printing a poster.

      On the other hand, it would be nice if they'd let us order a reasonably priced (real) poster . . .

    2. Re:How... by Bombcar · · Score: 1

      You could take it to Kinko's and they'll print it for you for about $50.

      Or you could find another local large format printer. They'll all take PDFs.

  29. I'm Confused. by Anonymous Coward · · Score: 0

    I don't see BrainFuck anywhere on that graph. Is this the "PG" version? And when is the movie coming out?

  30. Check out Lisp by Rhesus+Piece · · Score: 5, Interesting

    Whoa.
    It seems that Lisp holds the record for
    "Longest Lived Language That Is Still Relevant Yet Underappreciated"

    It just amazes me that something concieved that long ago is still going strong. I guess it makes sense, as it was concieved initially as a language for describing algorithms, then later implemented. With abstraction on the rise as it seems to be, this quality of being much closer to theory than practice is quite a useful one.

    1. Re:Check out Lisp by rsidd · · Score: 4, Interesting
      Lisp was ahead of its time. It did things in the 1970s that C-family languages still can't do, like exception handling: in fact, it did some things that I believe no other language can do even today (at least, without very dirty hacks), such as the macro stuff and the ability of a lisp program to rewrite itself on the fly. But it required powerful hardware. By the time general-purpose hardware caught up with lisp, Unix and C had taken over everywhere.

      From the classic essay by Richard Gabriel, Worse is better: "Unix and C are the ultimate computer viruses." (Follow the link to see why he's saying this.)

    2. Re:Check out Lisp by ari_j · · Score: 2, Interesting
      I agree on Lisp. I have been tinkering with it for years but it just started to "click" when I read
      • On Lisp
      a few months ago. You can get a copy in PDF format online for free, and it's a great book to help you start thinking in Lisp.

      I've been through a lot of languages, and I've found some favorites, but Lisp is the only one that I can't directly fault the language for anything (C++ is a close second). I haven't found anything in any other language that Common Lisp doesn't have, and a lot of things are really easy to do in Lisp compared to doing them in other languages.

      For example, years ago I started a brand-new cutting-edge object-oriented MUSE-like server in C++. Last month, I decided to try in Lisp. In 1 week of coding at most 2 hours a day, I was about twice as far along as I had gotten in months with C++. I couldn't do this in Ruby, my favorite scripting language, because of the lack of real multiple inheritance, and I couldn't do it in C#, my favorite bytecode-compiled C++ ripoff, for the same reason.

      Give Common Lisp a real, honest try. You'll be surprised.
    3. Re:Check out Lisp by Anonymous Coward · · Score: 0

      For example, years ago I started a brand-new cutting-edge object-oriented MUSE-like server in C++. Last month, I decided to try in Lisp. In 1 week of coding at most 2 hours a day, I was about twice as far along as I had gotten in months with C++. I couldn't do this in Ruby, my favorite scripting language, because of the lack of real multiple inheritance, and I couldn't do it in C#, my favorite bytecode-compiled C++ ripoff, for the same reason.

      Not to bash, but I would fault your design more than the language if that's the way it worked out. It's a balancing act, design versus implementation.

    4. Re:Check out Lisp by Anonymous Coward · · Score: 0

      If things could be better implemented in Lisp, they would have been. That is not the case however.

      The design of computers, the hardware, the machine language, etc, is not suited to Lisp. Unless a radical change in hardware occurs (hint: it will not), then Lisp is forever slated for obscurity and college kids who think they've found "the next big thing" (hint: they are idiots).

      Lisp is more mathematical while C is more practical.

    5. Re:Check out Lisp by Anonymous Coward · · Score: 0
    6. Re:Check out Lisp by ari_j · · Score: 1

      None taken. ;)

      My design is what took most of the time with the C++ implementation. The design was solid, and the implementation was fine. I'm actually a very rapid C++ programmer, but have found that Lisp gets in the way even less than C++. Also, Lisp encourages more of a bottom-up programming style and frequent testing of individual components due to its interactive programming style. In C++, for example, it's a major hassle to create a temporary set of test cases for a single method, whereas in Lisp it's very easy and quick to do.

      There are still things I use C or C++ for, and there are still things I use Ruby, Perl, or PHP for; but I'm really fond of Lisp, and I'm but a newbie to the language.

    7. Re:Check out Lisp by Anonymous Coward · · Score: 1, Insightful

      This just demonstrates that "old" is not necessarily "obsolete". (not (= 'Old 'Obsolete))

      Presumably *you* were conceived long ago and are still going strong :-).

    8. Re:Check out Lisp by GoofyBoy · · Score: 1

      >It seems that Lisp holds the record for
      >"Longest Lived Language That Is Still Relevant Yet Underappreciated"

      The fact that its still living, to me, means that its overappreciated.

      It has a syntax that only a horror fiction writer could come up with.

      --
      The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
    9. Re:Check out Lisp by SparafucileMan · · Score: 1

      Computer industry has been driven by profits, and profits come from efficiency. It just happens to be that in the past hardware efficiency was the most important feature driving the market, while now efficiency in writing software is becomming the most important. So don't worry, LISP will come back. Or become stronger--there's a reason it's been around in successful use since the 1960s.

    10. Re:Check out Lisp by incal · · Score: 1

      LISP seems very popular in community of mathematicians, logicians and philosophers, due to its structure based on so called lambda-calculus, a formal way of describing recurential functions, developed in '30 of 20th century by Alonzo Church.

      I had to learn it on seminar on artificial intelligence, and can only say its quite elegant and powerful on its own language. Maybe not something best for writing another Quake clone, but for automatic proofing of math and metamath theorems - quite nice :).

    11. Re:Check out Lisp by Jagasian · · Score: 1

      ...especially when better alternatives exist such as ML and Haskell. Both languages improved functional programming in every aspect. I would even place Haskell above ML, since Haskell is pure via Monads and has a more powerful type system.

      Lisp is like the living dead. It is really scary to look at.

    12. Re:Check out Lisp by ari_j · · Score: 2, Interesting

      You may want to check comp.lang.lisp for copious counterexamples to your assertion that "Lisp is forever slated for obscurity and college kids who think they've found 'the next big thing'".

      Saying Lisp is mathematical but not practical is the same as saying Linux is powerful but not useful. You just haven't learned how to use it, yet.

    13. Re:Check out Lisp by ari_j · · Score: 1

      Although I won't dispute the power of Haskell and its kin, Lisp's syntax is actually simpler and less ambiguous than Algol-like syntaxes. The parentheses are ugly to most people, yes, but they are not in any way bad syntax. Lisp's syntax is, indeed, much simpler than that of C++, once you see past the parentheses.

    14. Re:Check out Lisp by ari_j · · Score: 2, Insightful

      Scheme is the dialect of Lisp currently best for such mathematical stuff. Lisp itself is a lot more procedural than most people think. It's a multi-paradigm language, you just have to think outside the box to get it. (It's funny - Lispniks have been thinking outside the box since before most people knew there was even a box to think outside of. :P)

    15. Re:Check out Lisp by frank_adrian314159 · · Score: 1
      Lisp is the only one that I can't directly fault the language for anything

      That's probably because you don't know the language well enough :-). Even as a Lisp afficianado, there are issues in the dark and dingy corners that still irk me greatly. You won't run into many of them doing everyday programming, though. There is no perfect language.

      C++ is a close second.

      OK. Now I know you're kidding.

      --
      That is all.
    16. Re:Check out Lisp by Anonymous Coward · · Score: 0

      dream on.. there is no evidence to that effect at all. none. period.

      can I have a hit of that crack you're smoking?

    17. Re:Check out Lisp by Anonymous Coward · · Score: 0

      you're insane.

      humans don't think in a lisp way. lisp is some utopian vision of some perfect computer language. a language designed to be read and used by a computer that has a mathematical beauty and perfection of concept. sorta like socialism. and on top of that it doesn't even work like computers needs things to work.

      the thing is, it don't work in real life. lisp is not a practical language. in short, it sucks.

    18. Re:Check out Lisp by ari_j · · Score: 1

      Nope, no kidding necessary. C++ gives me most of what I want; Lisp just gives me more and in a much less painful form.

      There certainly is no perfect language, but so far in my journey into Lisp I have hit fewer snags than I did in any other language I got deep into. It has its shortcomings (why else would Paul Graham be cooking up his own language?), but for the most part it stays out of your way, once you learn it. Lisp syntax is far simpler than anything else, at the very least. (Some exceptions apply, but they can be learned easily enough.)

    19. Re:Check out Lisp by ari_j · · Score: 1

      Your anonymous cowardice is duly noted.

    20. Re:Check out Lisp by Anonymous Coward · · Score: 0

      lol, hard to argue with the truth, eh?

      doesn't change the fact that it's true. who cares about an ac posting?

    21. Re:Check out Lisp by ari_j · · Score: 1

      No, it's hard to argue with an idiot. You haven't proven anything, and I don't care to spend my day trying to prove to you things that you can't understand, especially when you're too afraid of the world to even post under an assumed name online, rather than as an AC.

    22. Re:Check out Lisp by Anonymous Coward · · Score: 0

      maybe i don't want to bother logging in and needing an e-mail address to setup an account and all that. my views are still valid.

    23. Re:Check out Lisp by Anonymous Coward · · Score: 0
      since Haskell is pure via Monads


      Ah yes, requiring concepts borrowed from Category Theory (the most abstract branch of mathematics), in order to do input and output. That's what I look for in a language.

    24. Re:Check out Lisp by ari_j · · Score: 1

      Then try expressing them in clear, correct, and succinct English. (Or any other language, as long as you are clear, correct, and succinct in doing so.)

    25. Re:Check out Lisp by jaaron · · Score: 1

      It seems that Lisp holds the record for "Longest Lived Language That Is Still Relevant Yet Underappreciated"

      Not to knock Lisp (which is great and all) but FORTRAN is still kicking too, though mostly it's only in the scientific computing community. Still, many are surprised to find out how much FORTRAN code is still around and how often it is still used.

      --
      Who said Freedom was Fair?
    26. Re:Check out Lisp by BlastQuake · · Score: 1

      Commodore BASIC had a dynamic keyboard feature where the program could rewrite itself on the fly. Basically you'd print the new program lines on screen, put a run command at the bottom, fill the keyboard buffer with return characters, and end the program. The returns in the buffer would input the new lines on screen, effectively rewriting the program - the run at the end restarted it. Too bad I lost the Compute! issue that discussed it.

      --
      "What use is power to the Keeps of Balance?" -Disnt of Nightmare LpMud
    27. Re:Check out Lisp by rsidd · · Score: 1
      humans don't think in a lisp way.

      Speak for yourself. To people with high-school math, lisp (and other functional languages) provide the most natural way of thinking.

    28. Re:Check out Lisp by Anonymous Coward · · Score: 0

      eh? "other functional languages"? lisp isn't a functional language. it can be used in a "functional" way, but so can lots of languages. functional languages like haskell, erlang, sml, and similar are nothing like lisp.

      i'm sorry, no normal person thinks like an rpn calculator. lisp is designed to be easily parsed by a computer and is a huge pita for humans because it forces them to do all the work. and don't get me started on the formatting.

      lets just agree that lisp sucks.

    29. Re:Check out Lisp by Yunzil · · Score: 1

      Speak for yourself. To people with high-school math, lisp (and other functional languages) provide the most natural way of thinking.

      Nah. I have a really hard time getting my brain around functional programming. I just don't think that way. And I took a lot of math. :)

    30. Re:Check out Lisp by Anonymous Coward · · Score: 0

      "Greenspun's Tenth Rule of Programming: any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp."

      More and more modern languages are introducing language concepts that began with Lisp. If all these other languages are successfully merging in Lisp features, what was wrong with Lisp in the first place? (my money's on the parentheses)

      closures, generics, runtime polymorphism, automatic memory management... hell, even XML is basically an ugly form of S-expressions.

      The design of computers, the hardware, the machine language, etc, is not suited to Lisp.

      Do you honestly think that matters, given the insane power of modern computers?

      In any case, the hardware design is in some ways shaped by what language they are most likely to be programmed with. Since C has historically been the most popular language, processors are naturally designed to run C code very well. If Lisp became the language of choice, processors would adapt to run Lisp code well.

      But again, who cares? We have desktop machines running at 3GHz.

    31. Re:Check out Lisp by Anonymous Coward · · Score: 0

      what was wrong with Lisp in the first place? (my money's on the parentheses)

      And the fact that it's ass-backwards from how we think. It's even backwards from how we do math. It's that RPN syntax that people can't grok.

      Do you honestly think that matters, given the insane power of modern computers?

      Insane power? You're nuts. Computers can never be fast enough. Sure, for people like you who only browse the web, a 90 Mhz PC is OK, but for people who use their computers to get stuff done they can never be fast enough.

      If Lisp became the language of choice, processors would adapt to run Lisp code well.

      Not true. People have tried and failed. Face the facts, it just doesn't work. It will never work.

      But again, who cares? We have desktop machines running at 3GHz.

      OK grandpa...

    32. Re:Check out Lisp by Monty · · Score: 1

      And the fact that it's ass-backwards from how we think. It's even backwards from how we do math. It's that RPN syntax that people can't grok.

      It's not RPN, it's prefix. RPN would be something more like Forth. And even RPN has its die-hard fans--quite a few, in fact. But honestly, who the hell cares about syntax anyway? It's something superficial compared to the differences in expressiveness, succinctness and overall elegance. If it did matter, I don't think perl would be as popular as it is today.

    33. Re:Check out Lisp by voodoo1man · · Score: 1
      One thing that really should be noted (and hasn't been, as far as my browsing cutoff of 1 tells me) is how different the 1958 Lisp is from ANSI Common Lisp. Lexical scoping for functions, an extensible type tower, and object-oriented exception handling are really big concepts, none of which were possible in 1958 Lisp. What today are known as macros did not appear until the late 60s, and then in a very different form.

      Someone mentioned Fortran, and the situation is exactly the same. The original Fortran was limited to 6 character variable names (the first one of which was used for manifest typing) and had no real conditionals!

      What both have in common is evolutionary growth through the support and input of their user communities. What differs between them is the relatively linear progression of Fortran, and the wild branching out and subsequent collision of Lisp (which unfortunately is completely absent from either Levenez's or O'Reilly's charts). It'll be interesting to see what will happen to the overabundant weedy garden of today's scripting languages in the same span into the future.

      --

      In the great CONS chain of life, you can either be the CAR or be in the CDR.

    34. Re:Check out Lisp by Anonymous Coward · · Score: 0

      Obviously. I mean, just look at the wide-spread popularity of Lisp... pffft...

    35. Re:Check out Lisp by Sangui5 · · Score: 2, Informative

      Unfortunately, Lisp is predated by FORTRAN.

      "I don't know what language engineers will be using in 25 years, but they will call it FORTRAN".

      I mean, a modern FORTRAN has all sorts of fancy features such as recursion and heap-based allocation. Today's FORTRAN programmers have an unprecedented level of abstraction available to them in this dynamic, high-level language.

      Plus, it's reeaallyy fast.

    36. Re:Check out Lisp by Daleks · · Score: 1

      Why couldn't you do it with Ruby? Mixins work fine.

    37. Re:Check out Lisp by ari_j · · Score: 1

      Mixins just aren't elegant enough for what I needed, and I also don't know how well Ruby handles inheritance trees like the following (in C++ syntax for greatest audience):

      class object;
      class mobile : object;
      class container : object; // contains mobiles
      class mobile_container : mobile, container; // like a box

      Lisp handles this better than C++, by far. How do Ruby's mixins stack up?

    38. Re:Check out Lisp by Anonymous Coward · · Score: 0

      backwards syntax (contrary to how humans think and how we do math) which puts all the work on the programmer. parenthesis and formatting hell. it's too flexible (yeah, you read that right), rewriting the language is a bad idea. and on top of all that it's slow.

      face the facts, dispite being one of the oldest languages, lisp has never caught on. that says something. lisp just can't work. it never will.

    39. Re:Check out Lisp by Anonymous Coward · · Score: 0

      Lisp is a simple and elegant answer in search of a simple and elegant problem. The thing is, there
      are not very many simple and elegant problems. It's just about as simple as you can possibly make a computer language. It's idealistic and an admerable goal. The problem is that in practical use it doesn't solve most problems very well.

      I'll make an analogy with transportation. What's the simplest form? Walking? Walking under your own power is a simple, perfect, and elegant solution. How many people walk everywhere they go all the time? Not many, eh? Is there maybe a problem with speed or maybe they need to carry more stuff? OK, a bicycle is better. So how many people bicycle everywhere they go all the time? Hmm, not fast enough? OK, a motorcycle is better, right? How many people ride motorcycles everywhere they go? Ah, not many again. Why is that? Of course, what I'm getting at is that cars and mass transit dominate the transportation market. They are not the most complicated form but they are way more complex and wasteful than walking, yet they answer so many problems and therefore are the most used forms of transportation.

      You see, the simple and perfect or even the fairly simple and perfect solutions do not answer the vast majority of problems. Lisp will hang around because just like walking it's a neat idea. However, it will never gain wide-spread use in practical applications.

      You will never win this, just give up already and get some work done in a pragmatic language.

    40. Re:Check out Lisp by voodoo1man · · Score: 1
      ... better alternatives exist such as ML and Haskell ... functional programming ... since Haskell is pure via Monads and has a more powerful type system.
      There seems to be some confusion. Many people think that Lisp is a functional language, for some inexplicable reason. But in Lisp, when you need goto, you've got goto. Functional purity is mighty fine if someday someone will figure out how to actually apply it to anything resembling automatic programming verification, but until that day comes, a multi-paradigm language will always be more convenient. As for having a more powerful type system, I'm sure that Haskell programmers never ever miss the ability to find the type-of an object.
      --

      In the great CONS chain of life, you can either be the CAR or be in the CDR.

    41. Re:Check out Lisp by Narchie+Troll · · Score: 1

      You're an idiot. Most languages, like LISP, use prefix notation:

      C: f(a, b, c)
      LISP: (f a b c)

      They only differ slightly. Anyone who can't transfer that notation on to mathematical operators like + shouldn't be anywhere near a programming language.

    42. Re:Check out Lisp by Anonymous Coward · · Score: 0

      alright dumbass, your one example looks similar to C. however, you're leaving out every single other case where the code looks like shit.

      example:
      (do ((x a (+ 1 x)))
      ((> x b))
      (print x))

      yeah, that looks real nice (as a lisp programmer it makes sense, but to a regular human it's organised incorrectly).

      it's not even a correct mathematical statement unless you're using rpn ("+ 1 x" that makes sense!).

      idiot

    43. Re:Check out Lisp by hding · · Score: 1

      (loop for x from a to b do (print x))

      (+ 1 x) isn't RPN, if anything, it's "PN".

      And regardless, there's little need for Lisp to look nice to anyone except a Lisp programmer, as Lisp tends to be written and read by Lisp programmers. And serious Lisp programmers will tell you that they don't have any problem reading Lisp. I generally find it easier to read Lisp written by other people (who are actually Lisp progammers) than, say, C (written by C programmers). So it's mostly a matter of experience. And people who have _no_ programming experience and then are exposed to Scheme as their first language don't really seem to have too much trouble with it (c.f. The Teach Scheme Project).

    44. Re:Check out Lisp by hding · · Score: 1

      Yep, it's pretty much only useful for simple problems like:

      . Animation & Graphics
      . Artificial Intelligence
      . BioInformatics
      . B2B & E-Commerce
      . Data Integ. & Mining
      . EDA
      . Expert Systems
      . Finance
      . Intelligent Agents
      . Knowledge Mgmt
      . Mechanical CAD
      . Modeling & Simulation
      . Natural Lang. Proc.
      . Optimization
      . Research
      . Risk Analysis
      . Scheduling
      . Telecom
      . Web Authoring

      and the like.

    45. Re:Check out Lisp by Anonymous Coward · · Score: 0

      fine, all the lisp programmers can be happy and merry together. doesn't change the fact that lisp is hardly ever used for anything.

      i'm happy that people understand lisp so quickly. but get them to write a serious application. they'll be struggling in no time.

      it's a curiosity for sure, but serious work is most often done with another language. and that is for a reason. lisp just doesn't cut it for most programmers.

    46. Re:Check out Lisp by hding · · Score: 1

      It's doubtful that you read much on the link for Teach Scheme, or you'd find that not only do students pick up Scheme faster, but that they are able to do real things with it faster and more easily.

      And take a gander at the websites of Franz, Lispworks, or Digitool to see exactly what wide variety of real things people do with Lisp.

    47. Re:Check out Lisp by Anonymous Coward · · Score: 0

      it may be good for typical "book smart" students but for intuitive programmers lisp makes no sense. i would argue that intuitive programmers are the best. "book smart" people do well in school but the geniuses of the world work on intuition.

      a truely gifted programmer, while they can easily understand lisp, are held back by lisp. lisp pushes too much parsing work off to the human. i say leave to parsing to the computer and just let me get on with the coding. lisp is backwards.

      don't get me wrong, lisp is a utopian design in simplicity but it just doesn't work when we need to get things done.

    48. Re:Check out Lisp by Jagasian · · Score: 1

      With bounded type quantification, you do not need to find the type of an object because you never lose the object's type to begin with. Hence you can do static typing, find all of your type errors during compile time, and have no type overhead during runtime.

      The fact taht Lisp has GOTO and lacks static typing are actually two reasons why the language is flawed.

    49. Re:Check out Lisp by Anonymous Coward · · Score: 0

      But you eliminate the huge class of programs where the types of most data aren't known until runtime. Static typing bigots tend to subsume them all into one catch-all type and then wonder why we don't switch to their "wonderful" language (which can't even (eval) a newly typed datum in at runtime...)

      Lisp has no hard compile-time/run-time distinction anyway, but it is worth noting that Common Lisp DOES in fact have a degree of static typing - particularly with compilers like CMUCL, which also does type-inferencing...

      I think you're just lisp-clueless.

      The other reason we don't switch to non-lisp statically typed languages tends to be because the syntax tends to suck - language designers seem to compete to find the most baroque syntax and then claim it is "natural". I find lisp almost uniquely EASY to read and write (forth is similarly easy). Maybe my brain works differently, but the monstrous syntax of ML put me right off it - I'd rather download one of the static-typed-language-in-lisp-subset environments like Qi instead.

    50. Re:Check out Lisp by Jagasian · · Score: 1

      In static typing with bounded quantification and intersection types, you don't need to subsume things to a catch-all type. That was my entire point about how a properly designed type system doesn't require you to lose type information. Yes this is done in languages like Java, for example, where you cast many things to the top "Object" type.

      In a static typed language you could use a universally quantified type variable S that is a subtype of whatever type T you need to actually get work done.

      Hence when you make use of such a type in your code, you don't cast whatever actual type you are using to T, you keep using type S.

      I also realize that anybody can make a variant of whatever language they chose to splinter. This has been done with C (objective C, C++, C--,etc) and it has been done with Lisp. However, it is wrong to say that C has templates, just because one of its splinters, C++, has them. The same goes for Lisp.

      Lisp is what you get when you take the lambda-calculus and mess things up. Lovely. Why not just code in the lambda-calculus? People have been doing that since the 1930s. Lisp did a bad job of reinventing the wheel.

    51. Re:Check out Lisp by Anonymous Coward · · Score: 0

      In a static typed language you could use a universally quantified type variable S that is a subtype of whatever type T you need to actually get work done.

      Not if you don't know what work you want to do, and have written a program that makes the types and the work up as it goes along (One of Lisp's strengths is controlled self-rewriting in programs - the "here be dragons" of programming, and one that many AI researchers still think is critical for usefully "intelligent" automatous behaviour (with the usual caveat that as soon as it works, it stops being AI)). It's this freedom that is difficult/impossible to get in any static typed language I've seen, without essentially falling back to church-turing and writing a dynamic language interpreter in the statically typed language.

      I also realize that anybody can make a variant of whatever language they chose to splinter

      But you should realise that that's what Lisp programmers pretty much always do. Non-trivial Lisp programs are usually implemented as little languages with lisp syntax, like a human learning engineering or legal jargon (note that a human can know both, just as a lisp runtime could load both eng: and law: packages.).

      Here's a vaguely related question: How do you distinguish between Lisp and Perl type systems? If the answer is "I don't, they're all the same to me", then I suggest you learn a bit more lisp before whaling on it - too many static typers can't seem to distinguish between how lisp or python typing works and how perl or tcl typing "works".

    52. Re:Check out Lisp by Anonymous Coward · · Score: 0

      That's odd. I find other languages push too much parsing work to the human - lisp is easy for me to parse, I have to remember godawful precedence rules and baroque syntax with miscellaneous punctuation with most other languages. Maybe I'm a computer or something, but lisp means LESS PARSING WORK FOR MY BRAIN, NEVER MIND THE COMPUTER!

    53. Re:Check out Lisp by Anonymous Coward · · Score: 0

      obviously a book smart person

    54. Re:Check out Lisp by Anonymous Coward · · Score: 0

      just because it's used for those things doesn't mean it's any good. sheesh, people do stupid stuff all the time.

    55. Re:Check out Lisp by Anonymous Coward · · Score: 0

      I'm both book smart and street smart. (though saying 'street smart' almost disqualifies you from being so). I use lisp. You're an idiot.

    56. Re:Check out Lisp by Anonymous Coward · · Score: 0

      lol, right. i'm sure that if i ever saw code of yours it would suck. it always does. there are just not many people who can really program. they are the geniuses. get over your god complex dumbass.

  31. Actionscript by fiannaFailMan · · Score: 1

    Interesting. I didn't know that ActionScript had derived from ECMAScript - I always thought it derived from JavaScript. And before you flame me, see my journal where I've already refuted anything you're about to say about Flash.

    --
    Drill baby drill - on Mars
    1. Re:Actionscript by rsidd · · Score: 2, Informative
  32. KSH by Anonymous Coward · · Score: 0

    They forgot ksh which had control structures based upon Algol68.

    Also ECMASCRIPT was derived from JavaScript which isn't shown that way on this.

    Publising these sorts of diagrams id fine, so long as they get it right. When its wrong/incomplete, it probably does more harm than good.

    1. Re:KSH by chill · · Score: 1

      KSH is there. Follow the sh line almost to the end.

      --
      Learning HOW to think is more important than learning WHAT to think.
  33. HyperTalk? by adavies42 · · Score: 2, Interesting

    Did anyone spot HyperTalk on there? If nothing else, it should be there as the ancestor or influence of AppleScript.

    --
    Media that can be recorded and distributed can be recorded and distributed.
    -kfg
  34. A half centry of coding! by rocjoe71 · · Score: 5, Funny
    For 50 years, computer programmers have been writing code.

    For 49.5 years, computer programmers have been saying "but it worked on *my* computer"!

    --
    Height: 38U, Weight: 0 Newtons, Eyes: #0000FF, OS: Gray Matter 1.0 (Alpha)
    1. Re:A half centry of coding! by corngrower · · Score: 1
      For 49.5 years, computer programmers have been saying "but it worked on *my* computer"!

      Actually, that's been true only for the last 25 years. Before then it was....
      "but it worked when I ran it on the big mainframe."

  35. What? No Algol 68 - C link? by jejones · · Score: 1

    If for no other reason than the "long" type modifier and the cast notion (if not the syntax).

    1. Re:What? No Algol 68 - C link? by Anonymous Coward · · Score: 1, Interesting

      You are so right !
      Similarity also includes 'union' and struct,
      use of pointers (those the syntax is different the model is similar ).
      the += family of operators,
      pragmas ,
      ( a ,b, c ) yielding the last expression,
      the stdio library borrows extensively from the formatted transput features,
      and so on.
      I think it rocked, and if you compare Algol60 to Fortran and Cobol, you have to admire its stunning elegance and influence (for its time).

      C++ is even more derivative of the algol family
      operator overloading, ref modes and all that goodness came from there.

  36. Lisp by ultrabot · · Score: 2, Interesting

    What we really need is a meta programming language of which all the other programming languages are special cases.

    Lisp is it.

    Other "modern" (higher level than C) languages are special cases of primordial Lisp, optimized for various niches and programmer mentalities.

    This does not imply that Lisp is the best programming language (Python is ;-). Common Lisp certainly isn't.

    --
    Save your wrists today - switch to Dvorak
    1. Re:Lisp by Pxtl · · Score: 5, Interesting

      I was disappointed to see Lisp not get much cred on that chart. First language with dynamic typing is worth noting. I've been reading up on Lisp (not coded a line yet) and have suddenly become disappointed in the entire programming world - right here there's a language with a featureset that it has taken other languages decades to catch up to.

      Where is a language with the power of Lisp and the ease of Python? Python has some wonderful features in terms of speed and readability, but it is too tied to its primitives. After reading on Lisp, then going back to coding Python, I was really frustrated that the language wasn't better generalized - that all statements (if, import, etc) are hard coded - what if I want to make a custom block statement (like if or while) or something similar? Can't do that in Python, because you don't really have access to parsed code objects the way you do in Lisp.

      I've looked at the modern Lisp languages (Common Lisp and Scheme) and I can't figure out which ones are worthy of my attention. Scheme seems like it has lost the intelligent simplicity of Python in favour of clumsy "special character" based syntax, while Common Lisp has many detractors that don't complain much of details. Is your complaint about Common Lisp based on all Lisp variants? Or is CL especially bad?

      I know Lisp is not the ideal language - its ugly, illegible, and slower than compiled languages - but the fact is it existed at a time so far before many languages that pathetically failed to implement its features, so I'm a little confused at the way the computing world has ignored it, instead of trying to work its principles into modern languages (Python does a little, but ends up feeling cobbled together and inconsistent).

    2. Re:Lisp by Anonymous Coward · · Score: 0

      I disagree, all programming languages are special cases of a set of field effect transistors' state. I hope this example demonstrates how inane this argument is.

    3. Re:Lisp by RickHunter · · Score: 1

      Scheme is actually pretty good, in my experience. I don't remember a lot of "special character" syntax, but I haven't poked into some of its dustier corners...

    4. Re:Lisp by ultrabot · · Score: 5, Interesting

      Is your complaint about Common Lisp based on all Lisp variants? Or is CL especially bad?

      No, I just don't think that a proper Lisp has been implemented yet - I'm thinking of a language with all of the semantics of Lisp *plus* easily readable syntactic sugar. I'd like to see a standardized lisp that I can write and read as quickly and Python.

      In Python we have a very succesful programming model, in Lisp we have potential for every conceivable programming model. Specializing the Lisp a little bit to optimize for pythonic programming would do a world of good.

      I want do do

      o = SomeClass()

      instead of

      (setq o (make-instance SomeClass) )

      The latter might be semantically more elegant, but boy, it doesn't flow like the python variant.

      As far as non-language-feature issue goes, Lisp does need a better (quantitavely and qualitatively - no "Functional Programming" people but people who can recognize the realities of programming today) community and one standard open source implementation. Availability of commercial implementations just doesn't cut it. And the one open source implementation should run on Windows too (no, Debian doesn't cut it).

      --
      Save your wrists today - switch to Dvorak
    5. Re:Lisp by Anonymous Coward · · Score: 1, Informative

      Why don't you try Ruby?

      Python's only claim to fame, in my opinion, is that it's not Perl. The syntax is somewhat heavy and there are lots of arbitrary design decisions (for instance, you can have a "finally" block and an "except" block, but not at the same time. Why? You can have a lambda expression, but only *expressions*, not arbitrary code. This distinction is pointless. To make a class member private, you put two underscores in front of it...(not very explicit).. etc).

      Ruby doesn't reach the generalized power of Lisp, but one common use of Lisp macros (to create control structures) is there. For instance in Ruby you can do this:

      def time_it {
      start = Time.now
      yield
      Time.now - start
      }

      t = time_it {
      foo()
      bar(baz)
      3.times { puts "Hello, world" }
      }

      puts "your operation took #{t} seconds"

      There you go, you've added something new to the language. Throw in first-class continuations, and you can build pretty much anything.

      Don't let the hype fool you, Python is popular, but it won't win any beauty contests, and it's nothing like Lisp (why people say that really baffles me). Ruby borrows from Perl (regular expressions are first-class objects, but amazingly are integrated even more nicely than Perl), and Scheme (continuations, "foo?" instead of "is_foo" naming conventions, and "foo!" convention for destructive, side-effect version of "foo"), and other languages like Icon (the blocks, the lack of distinction between attributes and methods on objects which I think is the probably THE coolest thing about Ruby).

      Ruby is more like Smalltalk than Lisp, but I've found that many folks who feel limited by their languages have generally found Ruby to be pretty amazing.

    6. Re:Lisp by Pxtl · · Score: 4, Interesting

      Okay, good to see someone has come to the same conclusions I have. Python is a wonderful language, but the problem is that it has grown osmotically - the language itself is good (not great, but good), but the real popularity of it comes from its incredible amount of "batteries included".

      IMHO, a real, true, ultimate pure _language_ (not standard library) needs to be polished up for an opensource successor. Something with the power of Lisp and the legibility of Python. I'm thinking of something very similar to python except that code-based blocks should be handled as custom objects like everything else in Python.

      In Python, the statement

      class foo(bar):
      def __init__(self):
      self.baz = "foo bar baz"

      is using the interpreter to auto-insance a bunch of standard Python objects (a class and a method, which is than in turn wrapped with an instancemethod) based around code objects. I can subclass the interpreter "method" object or create new substitute ones in its place, but if I want to use them in the interpreter, then I have to instance them the normal way, using

      mycustommethodinstance = mycustommethodclass(constructorarguments)

      whereas the main method object gets the nice
      def funcname(args):

      statement. This is the biggest failure of Pythons generalism - its inorexicably tied to its core objects, so that if you are using it like Lisp as a fully custom-made lexicon, you still have to either a) tear the contents out of the engine objects and relocate them into your own objects or b) use stupid constructors like

      myfunc = myfuncclass("myname", "my massivestring of text that is actually the whole code block that this contructor will compile into code but I have to enter it as a string like this its kinda stupid eh?")

      Not very nice. I want to make custom if and class statements, replace the implicit behaviour that typing i=1 creates an int object instead of some other custom object I want it to make. Likewise, I want to use other datatypes otehr than a true python Dictionary object as the local namespace or the global namespace (well, the globals can be any kind of mapping, actually).

      A generalized Python would be my dream language - Python, but where all the core objects and statements (like "if" or "class") were part of the standard library.

    7. Re:Lisp by Anonymous Coward · · Score: 0

      As far as non-language-feature issue goes, Lisp does need a better (quantitavely and qualitatively - no "Functional Programming" people but people who can recognize the realities of programming today) community and one standard open source implementation. Availability of commercial implementations just doesn't cut it. And the one open source implementation should run on Windows too (no, Debian doesn't cut it).



      I totally agree with this.. there needs to be a standard "UniLisp" (Uni meaning "one" or "unix", take your pick) which is pushed heavily as the lisp everyone should use. It should have a standard library, and it should avoid prefect implementation of ANSI standard Lisp. Basically, the Lisp incarnation of Matz or Larry Wall or Guido needs to come along and be a benevolent dictator, pushing the language in the right direction. It will piss off all, if not most, of the Lisp Weenies out there, but it has to be done. Lisp is too great a language. I can write great algorithms in Lisp, but I can't even figure out how to do something simple like run a program, collect the output, and split it on whitespace [don't flame me, I *have* written code to do that, the main problem, besides the fact it took me several days to find the necessary docs and write the program, is that CLISP doesn't have a way to reap child processes so the program fills up the process table].

      Can somebody please do this??????

    8. Re:Lisp by tfb · · Score: 4, Insightful
      I know Lisp is not the ideal language - its ugly, illegible, and slower than compiled languages

      Ugly and illegible are matters of opinion - most Lisp people will gladly trade a certain amount of syntactic suger for extensibily. `Slower than compiled languages' is just silly: modern (say, in the last 30 years) Lisp implementations are (a) compiled, and (b) not generally slow.
    9. Re:Lisp by Pxtl · · Score: 1

      Sounds good - I think Lisp might be just what I'm looking for. Except for the damn C conventions that plague our programming world (personal taste: I like Python's tab-based blocking and Pascal's ":=" assignment) it looks like it has the main feature I'm missing - custom blocks. Can those custom blocks be used for custom code-based object definitions? In Python the "class" is a kind of object. If I want to replace that with a wholly different object that implies a different class structure (like a single-inheritance-only opimized class concept), I can, but there's no statement to construct it - I have to code the functions separately and then pass them into a constructor, instead of being able to use a "class" block. Can that be done in Ruby, create a block not just to define custom flow control systems, but custom object types?

    10. Re:Lisp by Pxtl · · Score: 1

      Whoops, I meant to say that I think Ruby might be what I'm looking for.

    11. Re:Lisp by egerlach · · Score: 1

      If you like LISP, try looking at ML or Haskell. In my mind, better finctional languages than LISP. They don't have dynamic typing (both very strictly statically typed), but they have generics which are almost as useful. Plus, they are a joy to code in. I wrote a raytracer in Haskell last year. Lots of fun it was.

      --

      "Free beer tends to lead to free speech"
    12. Re:Lisp by Anonymous Coward · · Score: 3, Insightful

      A generalized Python would be my dream language - Python, but where all the core objects and statements (like "if" or "class") were part of the standard library.

      If you went that route, you would eventually realize that python-like syntax is unecessarily complicated, so you would simplify it down.. and you would have Lisp.

      I hate to sound like a Lisp weenie, but if you take all these programming ideas and take them "to the logical conclusion", you *have* have a language with a light, uniform syntax, like Lisp has. You'd have to have the same basic constructs that Lisp has. Anything else would have to have some limitations, or would have opportunities for optimization.

      Of course, do you really *need* that kind of a language? It's cool that in Lisp you can start with 2-3 constructs and build the entire language out of them, but in general that doesn't really help you write better programs.

      editorial: I think Ruby is the "best" language out there, you can't implement all of Ruby in Ruby, but you can do a heck of a lot more than most other languages. But Ruby is still easy to use in the common case, where Lisp unfortunately isn't. And Ruby comes pre-installed with Mac OS X. :-)

    13. 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."

    14. Re:Lisp by CoughDropAddict · · Score: 1

      Have you considered the fact that there is a benefit to always knowing what "if" and "class" do? I'm sure you could pull off some really clever and elegant things by redefining basic language constructs, but the cost would be predictability and readability.

    15. Re:Lisp by clgoh · · Score: 1

      Where is a language with the power of Lisp and the ease of Python?

      You should take a look at smalltalk...

    16. Re:Lisp by Pxtl · · Score: 1

      While your point is well made, the parent author does also have a good one. Lisp is basically a textual representation of a parse tree. All other languages end up converting your code into a parse tree (except for lisp-alikes). So why not try to work with a parse tree?

      The point is this - in Lisp, you can implement the full featureset of another language, the only drawback being Lisp's clumsy legibility. While I probably could implement OOP with transistors, I would never want to. With Lisp, its not that bad. With C, it hurts, badly (see the source code for a c-based OOP language like Python to find out why).

    17. Re:Lisp by ultrabot · · Score: 1

      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."

      The problem with Lisp is readability, now writeability.

      --
      Save your wrists today - switch to Dvorak
    18. Re:Lisp by GCP · · Score: 4, Insightful

      I know Lisp is not the ideal language - its ugly, illegible, and slower than compiled languages

      Wait a minute. I have serious complaints about Lisp, but those are not among them. Let me take those in reverse order:

      SLOWER THAN COMPILED LANGUAGES: No, there are compilers for both Lisp and Scheme that generate VERY fast code. There are interpreters that are as fast as Python that are nice to use during development, then you run it thru a compiler and the speed is on a par with C++, when performing similar operations. Of course a small amount of C++ code will often run much faster than a small amount of Lisp code, but that's because a small amount of Lisp code can say so much more than a small amount of C++ source can say. That shouldn't be counted against Lisp.

      ILLEGIBLE: Not really, in my experience. I know what you mean, though. After a lot of use, it's still not quite as easy to read (for me) as something like Ruby or Python, which were already pretty clear even before I had written a single line of either. But it's nowhere near as hard to read as Perl still sometimes is for me, and I've been coding in Perl (occasionally) for a decade. Even C++, which I've done a lot of over the last decade, still gets pretty darned hard to read sometimes, such as when using templates to call old-style C APIs.

      Lisp is a lot better than that. I've certainly grown to appreciate the way you can build abstractions out of abstractions and the top level is still called the same way as the bottom level. Self similarity at every level of abstraction, so you just have to think about the algorithms and not the syntax.

      Trust me that, with practice, Lisp gets much easier to read, though it never seems to get quite as easy as something like Ruby or Python.

      UGLY -- of course this is related to legibility. Again, I know what you mean, and I agree in some ways. A simple mathematical expression or loop is quite ugly, I think, compared to the same thing in Ruby or Python.

      However, as soon as you leave the simple, built-in stuff and start building your own more complex functionality, you discover that Ruby and Python get uglier and uglier but Lisp still looks the same. As soon as you start trying to express really interesting algorithms (fancy searches, AI stuff, etc.), you'll see the beauty in the simple consistency of the syntax. (Much more true of Scheme than Common Lisp, BTW.)

      So, no, I don't have any serious complaints in that regard. There's no speed problem at all and where it is harder to read, it's a small price to pay for the significant power boost that style of syntax gives you when working with really interesting problems.

      So, what don't I like? The online community of users, for one. The misanthropes that took over comp.lang.lisp are pathetic. I've never seen a techical discussion group that hostile and defensive. Don't even think of asking them questions that might clear up some of your skepticism about Lisp. The fact that you have any doubts makes you unworthy of being treated with anything other than utter hostility.

      They love Common Lisp like a religion, and hate everything, and everyONE else, even natural allies like Scheme. Common Lisp fossilized sometime back in the Reagan Administration and has since lost almost all ability to improve. As a result, the vast majority of former users have abandoned it and those who remain almost have to take a position that there is no further NEED for improvement except in trivial ways (more libraries, more "complete" implementations, etc.) that, if you think about it, are merely restatements of the "nothing needs to be improved" notion.

      And that brings me to what I like least: it seems that the fundamental ideas underlying all forms of Lisp (incl. Scheme) are fascinating, and if redone in a way such as Paul Graham's Arc (www.paulgraham.com) could turn out to be a terrific language. Unfortunately, I don't see it happening. Arc is announcementware. It has shown no signs of life since its first few weeks. Com

      --
      "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
    19. Re:Lisp by ultrabot · · Score: 1

      Whoops, I meant to say that I think Ruby might be what I'm looking for.

      Depends on whether you care about being able to use the language professionally. Ruby has some things going for it (blocks), but overall the language appears to be less "professional" and mature than Python. Check it out and you'll see what I mean. The few advantages of Ruby don't really outweigh the disadvantages. This applies especially if you are developing a large application, for minor scripts it doesn't matter.

      As the poster said, don't believe the hype. People go to ruby from perl because they feel going for Python would be too treasonous in the light of their perl past ;-). Ruby is a good language, but mostly because it is almost exactly the same as Python. Python is more mature implementation of the same ideas. Rubyistas just like to present their view like Ruby was different in some meaningful way (sometimes out of ignorance, sometimes out of advocating the language through twisting of the truth). So Ruby is not the "ideal" language you just described, it is still to be implemented.

      --
      Save your wrists today - switch to Dvorak
    20. Re:Lisp by Brandybuck · · Score: 1

      First language with dynamic typing

      Wow! Lisp must really have changed since the first time I used it twenty years ago. Back then it only had one data type, the string.

      --
      Don't blame me, I didn't vote for either of them!
    21. Re:Lisp by kmo · · Score: 1

      Many years ago, when I was just learning programming, I loved extensible languages. Languages that are extensible the way Lisp and Forth are allow wonderfully expressive core constructs. Want a for loop that runs each iteration in it's own thread? Just add it. You can basically build up your own custom language in which your application can be expressed as "do it".

      While this is great for the individual programmer, it can be horrible for multiperson projects, particularly in a commercial setting where the project members come and go. With extensible languages, you can't be sure that what you are reading does what you think it does unless you pretty much understand the entire system.

      You can see faint echos of this problem if you've ever encountered C++ code where someone thoughtfully defined "+" or "=" or a cast operation whose behavior caught you by surprise.

      Read the line
      A a = b.func( c + d);
      and tell me how many user defined functions I have to understand before I know what is going on. In Java the answer is 1 -- b.func. In a language like C++ it could be 1, 2, 3, 4 or more. In a language so extensible you can write your own loops and variable declarations, multiply the problem by at least 10.

      A program gets read much more than it gets written. Just as with prose authors, it's imperative for those software authors among us to write so that our readers understand what is going on. Remember, that reader is most likely to be you in six months.

    22. Re:Lisp by Anonymous Coward · · Score: 0

      I know Lisp is not the ideal language - its ugly, illegible, and slower than compiled languages - but the fact is it existed at a time so far before many languages that pathetically failed to implement its features, so I'm a little confused at the way the computing world has ignored it, instead of trying to work its principles into modern languages (Python does a little, but ends up feeling cobbled together and inconsistent).

      Our industry, as a whole, is not stupid :-)

    23. Re:Lisp by Pxtl · · Score: 1

      Well, Python+custom blocks is exactly what I'm looking for. Worked on an embedded platform that involved a lot of custom objects and Python's reliance on its core objects only in blocks was frustrating.

    24. Re:Lisp by Pxtl · · Score: 1

      Well, fine. I don't want to replace them, I just want to be able to create new ones. Like if I want to create a special treeclass system for non-multiple inheritence classes. This is a relevant problem for me - I was working on an embedded 3d engine, and the limitat

    25. Re:Lisp by ultrabot · · Score: 1
      Well, Python+custom blocks is exactly what I'm looking for. Worked on an embedded platform that involved a lot of custom objects and Python's reliance on its core objects only in blocks was frustrating.

      Allrighty then. Do realize, however, that the blocks really aren't that custom. In fact they are just anonymous functions that are written as inlines. So the block behaviour is basically:

      def f(x):
      print "yielded to block:",x

      call_that_takes_block(f)

      Ruby allows you to omit naming the function, and writing out the bulk of the block after naming the operation to execute. It's not as "custom" as you possibly think. In fact the Python solution is conceptually more elegant and orthogonal, while the Ruby approach is easier to type and prettier (because of the inlining, and non-significant indentation).

      As it is with everything, win some, lose some.
      --
      Save your wrists today - switch to Dvorak
    26. Re:Lisp by Anonymous Coward · · Score: 0

      Actually, yes it is. As individuals its quite smart - but as a whole? Well, look at Microsoft.

    27. Re:Lisp by Pxtl · · Score: 1

      Yes, redefining standard objects is messy, but creating new definitions is not.

      If it was A a = operatordot(b, "func")(operatorplus(c,d));

      or however in whatever language, you'd still have to look up the implementations of said functions. Operator overriding does create the problem that you have _expected_ bahaviour, just as you have an _expected_ behaviour for an if block. But what about the places where there is no appropriate epectancy for what the operator does? Should it lie useless?

      Lets say you have two sets. If a user does setA + setB it could do something intelligent like the union, or it coudl throw an error. Either way there is no expected behaviour, so the coder has to look it up anyhow.

      Same with blocks. If you redefine "if" then yes, you're an asshat. But what if you want a block for "threadfork"?

    28. Re:Lisp by Anonymous Coward · · Score: 0

      > I know Lisp is not the ideal language - its ugly, illegible, and slower than compiled languages

      The first two are merely subjective. The third is simply wrong. Most lisps are compiled now. Even the read-eval-print loop in lisp "interpreters" usually compiles incrementally. It's just so blazingly fast you don't notice it. The code cmucl produces typically runs as fast as C (and it won't segfault on you).

    29. Re:Lisp by Pxtl · · Score: 1

      bah - hit enter accidentally. Anyhow, we had a custom object framework and defining classes using only standard type functions in python was annoying - what we really needed were custom type blocks, but couldn't do that in Python.

    30. Re:Lisp by nepheles · · Score: 1
      "Python has some wonderful features in terms of speed and readability"
      Common Lisp and Scheme are both compiled, and thus substantially faster than Python. By a factor of up to 50.

      "Scheme seems like it has lost the intelligent simplicity of Python in favour of clumsy "special character" based syntax"
      Scheme syntax is the same as Common Lisp's...

      "its ugly, illegible, and slower than compiled languages"
      ...because there is no syntax, which is the point. I'm not sure how you define ugliness, but Lisp is the simplest of all languages in terms of aesthetics. Slower than compiled languages? Sorry, buddy, but Lisp has been compiled since the start. It can be interpreted, but optimised, compiled Lisp outperforms C++.

      --
      ((lambda x ((x))) (lambda x ((x))))
    31. Re:Lisp by Anonymous Coward · · Score: 0

      You're exactly right, and said it better than I could have done. That's really the problem with languages such as Lisp, and even C and C++ are victims of this. Given a preprocessor that can replace practically anything with anything else, add (in C++) operator overloads, templates, and arcane resolution rules, no two people can readily agree on what some code might do (and yes, in time they could, but who wants to WASTE that much time when it isn't necessary). It's gratifying to the individual engineer's ego, but destructive to a team's productivity. And that pretty much sums up why Lisp has never "caught on" in a big way.

    32. Re:Lisp by Anonymous Coward · · Score: 0

      The misanthropes that took over comp.lang.lisp are pathetic. I've never seen a techical discussion group that hostile and defensive. Don't even think of asking them questions that might clear up some of your skepticism about Lisp. The fact that you have any doubts makes you unworthy of being treated with anything other than utter hostility.

      I'm glad you pointed this out, as I feel the same way. Not mentioning any names, but that group is one of (but not _the_) main reasons I turned away from Lisp. But it should be mentioned that there are a few good souls in there, drowned out by the noise of the misanthropes (great name tag there :-), and I had some private communications with some of them that were pleasant and productive.

      On the whole, however, it seemed stagnant and I didn't any real positive, forward motion happening.

    33. Re:Lisp by oodl · · Score: 1
      No, I just don't think that a proper Lisp has been implemented yet - I'm thinking of a language with all of the semantics of Lisp *plus* easily readable syntactic sugar. I'd like to see a standardized lisp that I can write and read as quickly and Python.


      It sounds like Dylan is what you are looking for.
      http://www.gwydiondylan.org/

      Here's some sample code:
      define function fibo (M :: <integer>) => result :: <integer>;
      case
      M < 2 => 1;
      otherwise => fibo (M - 2) + fibo (M - 1);
      end case;
      end function fibo;
    34. Re:Lisp by oodl · · Score: 1

      Perhaps your are confusing Lisp with Tcl. hehe

    35. Re:Lisp by ultrabot · · Score: 1

      It sounds like Dylan is what you are looking for.

      I dunno - even the Lisp community seems to think Dylan is dead, so I've put off learning the language.

      Dylan also seems needlessly verbose: define funcion? otherwise? end function? Come on... Verbosity is one of the things that suck about Lisp, I would have imagined they would have fixed that.

      --
      Save your wrists today - switch to Dvorak
    36. Re:Lisp by lostguy · · Score: 1

      Take a look at Dylan.

    37. Re:Lisp by GCP · · Score: 1

      I agree with you about the few good souls. Occasionally one of them will come to the defense of a newbie whose questions have implied a less than complete faith in the fundamentalist religion that Common Lisp has become, and who has been insulted, derided, and abused instead of answered.

      On such occasions, the good souls themselves usually become the targets of the hostility for daring to defend who expressed a lack of faith. Their own faith is called into question, which often results in a display of groveling and profession of complete devotion to The Cause that is like something from the Spanish Inquisition.

      It's so absurd that they frequently congratulate each other for particularly abusive remarks, like gang members urging each other to beat up some guy who accidentally wandered into their neighborhood.

      What's most funny of all is to see them brag about how "beneficial" this pathological behavior is. They claim it sets high standards that benefit everyone, avoiding the intellectual pollution that apparently results from from weaknesses as friendliness, politeness, and patience.

      Contrast that with a group like comp.lang.python, where the language, IMHO, is a poor shadow of Lisp in so many ways, but the community is so friendly and helpful (even to those who call Python a "poor shadow of Lisp", ahem) that Python just gets better and more attractive every year as people pitch in and create libraries, answer "how do I questions", and generally try to make your Python experience successful.

      Since the Lisp emperor will verbally lop off your head if you notice his "wardrobe malfunction", I suspect I'll have to write off Common Lisp as a lost cause. There's little chance of a useful community coalescing around that rotten core, and without the community, Common Lisp has probably gone as far as it can go.

      Like so many admirers of so many generic Lisp concepts, I'm left scanning the horizon for a New Lisp to appear--and not just another 1-man Scheme science project--but the odds are heavily stacked against anyone who makes the attempt, unfortunately.

      --
      "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
    38. Re:Lisp by Anonymous Coward · · Score: 0
      I'm thinking of a language with all of the semantics of Lisp *plus* easily readable syntactic sugar.

      Dylan?

    39. Re:Lisp by Anonymous Coward · · Score: 0

      IIRC, and it has been awhile, you don't have to qualify your 'end's, so

      define function foo
      end;

      is enough. That addresses one of your concerns :)

    40. Re:Lisp by Anonymous Coward · · Score: 0

      Dear, have you got bullied again on usenet? If I have told you once, I have told you a thousand times to stay away from those usenet bullies. I can always tell when you get worked up like that. You should come home for a bit, your bed is all made up, your Mama will take care of you.

      Your Mother

    41. Re:Lisp by teval · · Score: 1

      Lisp isn't ugly, I've been writing lisp programs for quite a bit of time now and it's both amazingly fast and entirely flexible. I can do anything with it, and faster then I possibly could in C/C++/perl (and I've been working with those for.. about 4 times longer)

      I've found that after a little code-writing lisp becomes amazingly legible and simple to write.

      It's been mostly ignored because there hasn't been any serious standardisation (say.. something like the standard headers in most languages, the common lisp standard is so small that nothing like that is part of it (scheme is a tad different but not by much)), or a very good compiler. I guess the most important reason is the fact that it has been slow to run (ok.. it still kind of is) it is getting better though. I really think all lisp needs is one really good toolchain (that's free).

    42. Re:Lisp by pkhuong · · Score: 1

      standard headers? FFI? The thing is that the CL standard was designed in a machine independant way, so standardizing FFI might have been hard. Apart from that, i'd like to know whatever the hell you're smoking: the CL standard is incredibly big (google CLHS), since it covers every function in its standard library.

      --
      Try Corewar @ www.koth.org - rec.games.corewar
    43. Re:Lisp by newhoggy · · Score: 1
      Can you tell me if Lisp gives sane error messages, spurts out twisted abominations when compilation fails, or fails silently?

      One of C++'s strengths is that it catches many (but not all) typical programming errors (with type checking) while putting emphasis on extending the library rather than the language.

      On the other hand one of its main problems is that its error messages are difficult to understand. It's partly a symptom of putting more functionality and less into the library so that the compiler doesn't really have enough information and know how to give a good error message. In fact, it is one reason why there is pressure to move some C++ library features into the C++ language.

    44. Re:Lisp by NetSettler · · Score: 3, Insightful
      I know Lisp is not the ideal language - its ugly, illegible, and slower than compiled languages

      Just in case you don't know, Lisp is a compiled language and not slow, especially when compiled with appropriate type declarations. Only the very most early dialects (forty or so years ago) were interpreted-only. Some interpreted implementations exist now, but that's a choice of the implementor, not a requirement of the language.

      I disagree with your remarks about ugly and illegible, too, but that's personal taste, I guess. My views on all this are copiously documented in my Slashdot interview, Part I and Part II.

      However, what really disappointed me in this chart was its unscientific and subjective decision about what to include and how to present things.

      Some of the arrows stop mysteriously so far leftward (as if to hint "this language is no longer used). That's apparently a subjective assessment on their part offered with no foundation, and irresponsibly inappropriate in a document intended to fairly describe history. Common Lisp's arrow stops short for reasons I don't understand since it continues in commmercial use today.

      I didn't check the table thoroughtly, but the absence of mention of the fact that Scheme influences Common Lisp seems odd since it's a well-advertised truth.

      The omissions of ISLISP, an ISO standard (ISO/IEC 13816:1997) is also surprising and shows poor researching. The absence of Interlisp, Portable Standard Lisp (PSL), Eulisp, Gnu Emacs-Lisp (in spite of huge distribution world-wide as customization substrate for Emacs), and Xlisp (hugely distributed as part of Autocad) as important dialects is similarly sad.

      O'Reilly sells books and has for a long time requested outright that no Lisp authors approach them. I and others have long noted that it has an apparent chip on its shoulder about Lisp, and little surprise they couldn't help exposing that bias in their chart. They want you to think the books they sell define the market. But that's just not so, especially when they voluntarily close their eyes to what's going on around them.

      People should look skeptically at a company that wants a reputation as a "documentation" company yet so easily falls victim to its own commercial decision to close its eyes to this language family's achievements (such as an international standard).

      A quick glance at other parts of the table leave out many other important languages and dialects, with no explanation of their rationale. Just for example: Teco, which strongly influenced Emacs-Lisp. I don't see HyperTalk there, either, even though I thought it influential. And there were many dialects of BASIC and LISP that are too small to mention, yet variations on the Unix shell language like bash are apparently worth mention. I guess that more reflects O'Reilly's sales than an attempt to explain history.

      As a consequence, I have to regard this chart of theirs as commercial eye candy and not a properly scholarly work. I think it's a shame that Slashdot has chosen to give it all this free press. I'm sure that's just what they were hoping. And I'm sure they just don't care about their errors, omissions, and biases. I imagine they just want to sell books, and that all this free press will do just that.

      Me, I buy my books from other sources. And I recommend you do, too.

      --

      Kent M Pitman
      Philosopher, Technologist, Writer

    45. Re:Lisp by Brandybuck · · Score: 1

      I'm not confusing it with tcl, but perhaps I'm not remembering it right. I seem to recall that you could do anything in Lisp with just strings and lists of strings. No need for any other data type.

      --
      Don't blame me, I didn't vote for either of them!
    46. Re:Lisp by GCP · · Score: 2, Funny

      Ah, a comp.lang.lisper wants to personally demonstrate why that group is incapable of forming the core of a thriving community.

      --
      "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
    47. Re:Lisp by RAMMS+EIN · · Score: 1

      ``Where is a language with the power of Lisp and the ease of Python?''

      You mean LISP without the parentheses? See SRFI 49. This is for Scheme, but it could be done in the same way for other LISP dialects.

      Also check out the ML family of languages.

      --
      Please correct me if I got my facts wrong.
    48. Re:Lisp by GCP · · Score: 1

      The quality of error messages varies widely, but in general, error messages in functional-style programming tend not to be very informative, and though you don't have to use a functional style with Lisp, the error messages in Lisp tend to resemble those of functional languages.

      I've never seen the kind of outrageous, mile-long messages you get spewing from C++ templates, though.

      As for failing silently, that's not what happens, but a legitimate complaint is that, due to the dynamic nature of Lisp, certain types of errors that would be caught at compile time in C++ may not be caught until runtime in Lisp. Even so, I find C++ to be far more bug prone than Lisp.

      --
      "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
    49. Re:Lisp by alex_tibbles · · Score: 1

      Basically: you can do want you want, you just need to write a few macros to transform the code that you want to write into Lisp.
      Having spent a few hours writing CLOS code (probably what you'd want to do) I think that the power gained (the sheer breadth of the object model to begin with) is easily worth the cost of a syntactic change. It's just a bit different.

      "Lisp does need a better ... community and one standard open source implementation."
      I don't see how abandonning several different viable implementations would be a good thing. Eg. SBCL and CLISP are very different tools. Drop CLISP and you lose the ability to run Common Lisp on 4MB machines, drop SBCL and lose native threading. Again, this is a little different; just because Python and Perl have only on implementation, this doesn't mean all languages should have only on implementation. You can't really think that we should get rid of any of Intel's, MS's or GCC, surely?

    50. Re:Lisp by alex_tibbles · · Score: 1

      "The misanthropes that took over comp.lang.lisp are pathetic. I've never seen a techical discussion group that hostile and defensive."

      I've never seen technical discussion of such a high calibre, except perhaps lambda the ultimate, where the discussion often goes way over my head.
      cllers have to deal with many trolls and many, many I-havn't-read-the-FAQ-ers, neither of whom deserve a lot of attention. Perhaps what you would like is to see a comp.lang.lisp.learn or .newbies for people learning the language? They can get the answers they need from the FAQ, and newbies' questions do get constructive answers.

    51. Re:Lisp by Anonymous Coward · · Score: 0

      However, as soon as you leave the simple, built-in stuff and start building your own more complex functionality, you discover that Ruby and Python get uglier and uglier but Lisp still looks the same.

      For a reason it was once said (compared to APL, which now fortunately deceased):

      "APL is like a diamond. It has a beautiful crystal structure; all of its parts are related in a uniform and elegant way. But if you try to extend this structure in any way - even by adding another diamond - you get an ugly kludge. LISP, on the other hand, is like a ball of mud. You can add any amount of mud to it and it still looks like a ball of mud."
      -- Joel Moses

    52. Re:Lisp by Anonymous Coward · · Score: 0

      No, I just don't think that a proper Lisp has been implemented yet - I'm thinking of a language with all of the semantics of Lisp *plus* easily readable syntactic sugar. I'd like to see a standardized lisp that I can write and read as quickly and Python.

      That would be called "Dylan".
    53. Re:Lisp by Anonymous Coward · · Score: 0

      Yeah - the syntax looks like Ada to me, which is _not_ the language to copy.

    54. Re:Lisp by squiggleslash · · Score: 1
      Didn't the original version of GCC actually convert C into a Lisp-like language for compilation?

      I recall RMS is a big fan of Lisp...

      --
      You are not alone. This is not normal. None of this is normal.
    55. Re:Lisp by voodoo1man · · Score: 1
      I know Lisp is not the ideal language - its ugly, illegible, and slower than compiled languages
      Well, Lisp aesthetics are a personal opinion (but you really shouldn't knock it until you've tried it), but your implication that Lisp is slow and not compiled is wrong.

      The vast majority of Common Lisp implementations have either a native code or through-C compiler, and at least two (Corman Lisp and SBCL) of them only come with a native code compiler.

      Objectively, CMUCL can produce flotaing point code at least 5% faster than GCC on a non-trivial (the "Coyote Gulch" ephemeris calculator) benchmark. Of course, bechmarks are objective and misleading, and your assertion was subjective and misleading, and there's plenty of testimony (from real users writing non-trivial applications, not just some random bums paid off by the Scheme Underground) that Lisp is faster than C++.

      Scheme seems like it has lost the intelligent simplicity of Python in favour of clumsy "special character" based syntax,
      Yes, the Scheme standard certainly has a lot of "special character." But if you don't like to write '(bar baz), you can do (quote (bar baz)). Does that make it any better?
      while Common Lisp has many detractors that don't complain much of details. Is your complaint about Common Lisp based on all Lisp variants? Or is CL especially bad?
      I've looked at a lot of pro- and anti- Common Lisp propaganda, and it seems that the latter is almost entirely written by those who have no experience with the language. Many is of the type, "Oh, look, the CL spec is 1500 pages, so the language must be complex," which is of course rubbish, because for one thing it was based off of Guy L. Steele Jr.'s Common Lisp the Language book, and Harbison and Steele's C: A Reference Manual is 500 pages, while the actual C specification (not written by Guy Steele) is something like 250 pages. The ANSI Common Lisp specification also includes detailed examples for many functions. What this means is that while the C specification (only available from somewhere in ANSI/ISO for at least $20) is only useful to compiler writers, the Common Lisp specification (available in TeX and hypertext form for free over the Internet as the Hyperspec) is the definitive reference for all language users (all the Emacs-based CL IDEs have keybindings to look up terms in the Hyperspec).

      Of course, your own assertion that Lisp is ugly and slow is stated authoritatively, even while you admit that you've "not coded a line yet," certainly could give someone the wrong impression.

      --

      In the great CONS chain of life, you can either be the CAR or be in the CDR.

    56. Re:Lisp by Anonymous Coward · · Score: 0

      No, lisp started with symbols, not strings. Symbols are somewhat akin to "interned strings" - they are immutable, indivisible textual values. You can't get a "subsymbol" or process a symbol character-by-character (anymore - some primordial lisps had "explode").

      Practical Lisp actually has strings too - "this is a lisp string"
      (note the double quotes). '(THIS IS A LIST OF LISP SYMBOLS). Lisp has many other datatypes too - numbers, for example...

      The fact that symbols are "atomic" allows some important efficiency optimisations that make it possible to produce fast lisps.

      TCL is akin to lisp, but is an "everything is a string" language, and is dog-slow because of it.

    57. Re:Lisp by Anonymous Coward · · Score: 0

      That is a subjective matter. I find lisp very easy to read. Importantly, I find reading other people's lisp code easy.

      I also quite like python, but it's whitespace-sensitivity just annoys me. Just like parens seem to annoy other people.

    58. Re:Lisp by voodoo1man · · Score: 1
      Your argument is fine and dandy for many languages with syntactic hair in the drain, but unfortunately it does not apply to Lisp, because S-expressions impose a rigid grammar on the syntax. It's all (operator operands). Furthermore, the standard prohibits the redefinition of Common Lisp symbols, so any package (namespace) that wants to do so must explicitly declare those symbols it is shadowing, a list of which is also available at runtime (this applies to any other user-created packages that package is using as well). In this respect C++ is just poorly thought out. In any case, your argument is a straw man when it comes to Lisp.

      PS - If you think C++ operator overloading is confusing, wait until AOP takes off in Java-land.

      --

      In the great CONS chain of life, you can either be the CAR or be in the CDR.

    59. Re:Lisp by voodoo1man · · Score: 1
      The misanthropes that took over comp.lang.lisp are pathetic. I've never seen a techical discussion group that hostile and defensive.
      Ah, I see. You probably made the mistake of phrasing a question as an assertion that something is broken in Common Lisp. Not only do the denizens of c.l.l. look unfavorably on that, but many of them have been involved in the design of Common Lisp, and may take such inflammatory statements as reflections on the quality of their work. I see you're still upset by the experience. Grow a thicker skin, and next time read some messages in a newsgroup before posting to it.
      Common Lisp fossilized sometime back in the Reagan Administration and has since lost almost all ability to improve.
      This is why Common Lisp will still be used in the year 3000. "I tell you, two go-go 80's Reaganauts like us; we can rule this world."
      As a result, the vast majority of former users have abandoned it and those who remain almost have to take a position that there is no further NEED for improvement except in trivial ways (more libraries, more "complete" implementations, etc.) that, if you think about it, are merely restatements of the "nothing needs to be improved" notion.
      Have you ever worked with an ANSI standards committee? Do you want to pay $700 per year (travel expenses not included) to sit around while someone doesn't show up or vetoes your decision? Neither does anyone else involved with Common Lisp (that's why almost all of those involved dropped out by 1990).
      Arc is announcementware. It has shown no signs of life since its first few weeks.
      You link to Paul Graham's website, but obviously you don't realise that Arc is still in planning. The ICFP committee doesn't agree with you either, as this year Paul is one of the invited speakers.
      There are several dozen different Schemes, all incompatible, with an average of maybe 1.1 implementers each.
      You know, I'm starting to hear more and more people complain about the lack of the "one true" implementation of Lisp. This is where I think Scheme comes in. Pick one implementation and stick with it. Personally, I'm rooting for DrScheme, but the GNU people seem to be doing a mighty fine job with Guile.

      Of course, if you really want a one-implementation, brand-spanking-new (no compatibilities here, sir!) Lisp, then by all means check out newLISP.

      --

      In the great CONS chain of life, you can either be the CAR or be in the CDR.

    60. Re:Lisp by voodoo1man · · Score: 1

      Generally, error messages and debugging in Lisp are a lot better than in most other languages because it has a well specified way to print out (and read back in) many built-in data structures, and any combination thereof. In a typical Common Lisp implementation, all syntax errors are caught by the compiler (unless the function being referenced has not been defined yet). Variables not lexically bound give a warning (since they may be present when the code runs). While type checking is done at run-time, most Lisp compilers do type inference and will warn about some type errors. Since errors don't unwind the stack, you can examine the whole calling history if an error occurs (complete with printed argument lists). Many system errors are continuable - that is, you can change whatever was causing the problem in the source code, recompile the erring function, then change the data in the current invocation of the function, and the debugger will back off to the last point before the error and continue running the program with the changes. All program-generated errors can be specified to be continuable. Because macros are expanded at compile time, the regular run-time exception mechanism can be used by them to cause customized compile-time error behavior.

      --

      In the great CONS chain of life, you can either be the CAR or be in the CDR.

    61. Re:Lisp by Rick+BigNail · · Score: 1

      Never attribute to malice what can easily be explained by stupidity ...

  37. FORTRAN RULES by thbigr · · Score: 1

    Wow, I came a long and F4.0 was realy cool... if then else.

    But this was realy cool to read. I am sure most tick of the languages they have used.

    --
    Come the revolution, the Bourgeois, Capitalistic, "A PARKING STICKER HOLDERS", will be first against the wall!
  38. Functional programming languages dying? F# XSLT? by 3770 · · Score: 5, Interesting

    Aaah, the nostalgia!

    Anyway, I didn't see any programming language versions for functional languages (the ones I recognize are Haskell, ML and Miranda) after some time in -99.

    Does that mean that they are dying out?

    I've heard rumors of F# from Microsoft but I don't know if that is true.

    It would be a pity if functional languages would die at this point in time since proponents of functional languages always used the argument that "they may be slow now but they scale really well on massively parallell computer systems" (because of no side effects) and we are at the brink of seeing multi-processor systems starting to go mainstream.

    On a separate note, XSLT, which isn't a programming language in the traditional sense, is functional in its design. I think the designers of XSLT really put some thought into it. In any event, XSLT doesn't have any side effects, making it a functional language in a sense, and this means that it also should scale really well on massively parallell systems.

    So, I guess the theory behind functional languages live on in one of the hottest technologies around today.

    Also, the last version of Prolog was in -97. Pity, you can really do some magic in that language.

    --
    The Internet is full. Go Away!!!
  39. DUPE! by Kehl · · Score: 0, Troll
    1. Re:DUPE! by mtwalkup · · Score: 0, Offtopic

      ANOTHER DUPE! www.slashdot.org and slashdot.org are showing the SAME stories! Imagine that!

  40. Where's INTERCAL? by Anonymous Coward · · Score: 2, Funny

    The most important programming language of the 20th century seems to be missing from this diagram. Those wankers at O'Reilly don't know anything! Everything that I program here at work over the past seven years has been in Intercal.
    I'm guessing it would be an offshoot of BASIC.

    TDz.

    1. Re:Where's INTERCAL? by MattT · · Score: 1

      ESR seems to have the best reference to it: Intercal, a language not for the squeemish.

      --
      -MattT *** Not speaking for my employer, or any other sentient beings ***
  41. Circular... by Unnngh! · · Score: 4, Funny
    There's a lot of crossover between the languages, and a lot of hybrid influences. In fact, some of these seem to play back into each other. I predict that in another 50 years, the chart will have completed its loop and there will be only one language:

    Fortran 2060!

  42. wait for it... by ptrangerv8 · · Score: 1

    But where's *nix????

    oh wait, wrong response for the thread.... /pathetic attempt at humor

  43. AutoLisp anyone? by fiannaFailMan · · Score: 1

    I see that Lisp gets a mention there but AutoLisp doesn't. Does anyone know if AutoLisp counts as a programming language per se?

    --
    Drill baby drill - on Mars
    1. Re:AutoLisp anyone? by voodoo1man · · Score: 1

      AutoLisp is based on an early version of XLISP (which isn't on the chart either). Given that AutoLisp was probably the most widely used dialect of Lisp, it really should get it's own little box and arrow.

      --

      In the great CONS chain of life, you can either be the CAR or be in the CDR.

  44. Related by arvindn · · Score: 4, Informative
  45. O'Reilly's favorites go furthest right by DavidNWelton · · Score: 2, Insightful

    O'Reilly's favorite/bestselling books are the ones with the arrows extended furthest to the right.

  46. How could they leave off Brainf*** by kingj02 · · Score: 3, Insightful

    How could you not like a language whose syntax is > < + - . , [ ]

    Its also the smallest compiler ever written.

    --
    Ardente veritate incendite tenebras mundi
    1. Re:How could they leave off Brainf*** by Surt · · Score: 1

      That tiny compiler was why I decided to implement my new HTML editor project in BF. The BF compiler and a batch processor fit in the L1 cache of my cpu and the compile time is just nothing. Debugging is also trivial because once you get the hang of things the simplicity of BF syntax lets you be immediately familiar with what any piece of code is doing. BF is great!

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  47. Delphi is based on Pascal by nbdy · · Score: 1

    Definitely is much more Pascal than Basic.

  48. Autocode by starling · · Score: 2, Informative

    They also missed out Autocode, which was a little higher level than asembler and still predated FORTRAN.

  49. Re:Crappy fonts by Trigun · · Score: 3, Funny

    The font is too bold and too small for the size of the graphic.

    If only they would make it poster sized and ready for print!

  50. The secret to doing COBOL projects by Markvs · · Score: 0

    Need to get a project done in Cobol in a hurry?

    Step 1) Find a Russian that can program in Cobol.
    Step 2) Lock in a room with 30 PCs and 29 other (can even be previously non-computer using) Russians. Allow 48 hours, with generous room services.
    Step 3) Profit!

    Note: The Russian in step 1 must also speak your language! If not, and you speak no Russian, the project may grow or shrink in direct proportion to quality of room services in step 2!

    -Markvs

    --
    46. The Hobo smiles, his eyes glaze over, and he burps. "Beware the man who has lived longer than the Wasteland."
  51. Lifelines by foo+fighter · · Score: 1

    Does the length of each line signify anything, or is it an arbitrary design element?

    Actionscript is way over to the right, Fortran stops around 2003, but C and C++ seem to have died around 2001. Sup wit dat?

    --
    obviously no deficiencies vs. no obvious deficiencies
    1. Re:Lifelines by Phantom+of+the+Opera · · Score: 1

      I think the lines end when the language is no longer being advanced, not used.
      Bash is obviously used quite a bit.

  52. laser printer by Anonymous Coward · · Score: 1, Funny

    I printed it out on a 1200*1200 dpi laser. It printed alright and I think it is readable. I just need a microscope to do so. I am 99% sure it is actually clear enough to read, I just need to borrow someone's microscope! :)

  53. Ordering by interiot · · Score: 2, Insightful

    Why do they have to make it hard to order a copy of the poster? What if I don't want two extra o'reilly books, and just want the poster? Penny Arcade does this with some of their stuff... the only way to get some of their posters is to fly across the US to visit their conference of choice. Why do they do this?

    1. Re:Ordering by psbrogna · · Score: 1

      Their plan is to give one away with every two books ordered; offer code OPC79.

    2. Re:Ordering by interiot · · Score: 2, Informative
      For what it's worth, here is a list of the allowed books, sorted by price. The top couple are listed here, so I guess the poster costs at a minimum $12.
      • $5.95 Digital Media Collection (PDF)

      • $5.95 Java vs .NET Security (PDF)
        $5.95 PHP Security Collection (PDF)
        $5.95 Web Services Collection (PDF)
        $7.95 Smileys
        $8.95 Oracle PL/SQL Built-ins Pocket Reference
  54. Thank M$ for saving the future of programming!!! by Anonymous Coward · · Score: 0

    Thank god for this poster which is so obviously written by those completely in touch with modern-day programming language use. It confirms to us all what most of us already knew, that C and C++ use died somewhere in 2001 and that we should thank M$ for the modern VB.NET and C# languages which will carry our collective programming-language torch into the future.

  55. That might be of interest by Anonymous Coward · · Score: 0

    Unix History also following the links you might get to windows hostory as well!! somewhere in there you will find programmign languages history too!

  56. What! No TCL! by 1shooter · · Score: 1

    How dare they! Of all the nerve to not put my favorite on the map. ;)
    -

    --
    6F 9E A9 1E 96 9F 74 27 ED B8 81 6D 0C 4E 1E 78
    My other Sig is a 229.
    1. Re:What! No TCL! by dickeya · · Score: 1

      It's there above Fortran, all the way to the right (start 1988). Most of the line is Tcl/Tk, but the beginning is Tcl.

  57. 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
    1. Re:Did they give credit to the original? by jilles · · Score: 2, Insightful

      Yes they did. Bright red block at the bottom with white letters. They give full credit.

      --

      Jilles
  58. What the hell! by teamhasnoi · · Score: 0, Troll
    They left out HTML! I have been programming quantum computers in HTML since the mid 60s!

    Whth an oversight like that, I'm guessing the rest isn't very accurate.

  59. HyperApt by Anonymous Coward · · Score: 0

    No, but what I did notice: All the books have some exotic animal on the front perhaps projecting something about the language, and Applescript has a small yappy lap-dog.... ROTFLMAO!

  60. TMI? Not enough information! by Brannoch · · Score: 1

    Some languages have changed drastically in the different versions. In some cases those changes have included concepts adopted from other languages, even ones that did not serve as the initial basis of the language.

    I would have liked to see additional diagonal arrows pointing to from the new language influences to the versions of the language where the new semantics were integrated.

    While they're at it they can add an arrow to Borland Pascal from whatever language served as the inspiration for the OOP semantic model, as it certainly wasn't Visual Basic.

  61. Is it just me... by ArmenTanzarian · · Score: 3, Funny

    or after a point does this just look like the history of when O'Reilly put out books?

  62. Re:Crappy fonts by Anonymous Coward · · Score: 0

    Obviously there is plenty of room to make the font larger. If they increased the font size it would have the same effect as bold and make it more readable at the same time.

  63. As ignorant as ever by ZZeta · · Score: 2, Insightful

    Just before seeing this poster, I was feeling quite confident with my programming skills. O'Reilly just reminded me how ignorant I really am, and how many languages I haven't even heard of. They must have some smart kid working there in the marketing dept., 'couse I'm going right now to buy a few books on some of these mysterious languages... :) Way to go O'Reilly! (Shame about the small font though)

  64. Early history of Forth by Anonymous Coward · · Score: 0

    http://www.colorforth.com/HOPL.html

  65. No love? by nearlygod · · Score: 1

    What about my beloved RPG?

    --
    The Tools Of Ignorance wanna be a tool?
    1. Re:No love? by Usquebaugh · · Score: 2, Funny

      You sir are sick. Beloved RPG, an oxymoron of the highest order.

      It looks like assembler but works like COBOL. The red headed step child of programming languages.

      With each subsequent release it becomes easier and harder at the same time. Dysfunctional personified.

      I use it on a daily basis and not once have I found anything to like about it.

      And yet...there's something so right about being so wrong. It's survived for decades on a single platform. It does the job. It's easy to learn. It pays the bills.

      Now if only some fool would relase an AS/400 - ISereis - I5 emulator my world would be complete.

    2. Re:No love? by nearlygod · · Score: 1

      Amen, Brother. Those C & Java lovers don't know what they are missing.

      --
      The Tools Of Ignorance wanna be a tool?
  66. PHP from Perl but not C/C++ ? by HighOrbit · · Score: 1

    The map has no link (not even faded) between C/C++ and PHP, but does have one from Perl. Granted, PHP was orginally a wrapper for Perl scripts and it does use some Perl type syntax for regular expressions, but it's overall syntax and "look & feel" is much more C-ish than Perl-ish.

    1. Re:PHP from Perl but not C/C++ ? by stanmann · · Score: 1

      The inheritence is C->awk->nawk->perl

      --
      Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
    2. Re:PHP from Perl but not C/C++ ? by KingOfBLASH · · Score: 1

      I'd say PHP borrows more from Java than C/C++, although I don't disagree with you that PHP is a lot different than Perl...

  67. Java has nothing to to with Javascript! by cyfer2000 · · Score: 1

    I remember I saw such a slogan in sevral books, and here again.

    --
    There is a spark in every single flame bait point.
    1. Re:Java has nothing to to with Javascript! by Anonymous Coward · · Score: 0

      if (Java == Javascript) hello.frozen = true;

  68. The first half year by 3770 · · Score: 1

    And the reason that they didn't say that the first half year was because there was only one computer!

    --
    The Internet is full. Go Away!!!
  69. They left out a couple by RealAlaskan · · Score: 2, Informative

    For a start, they left out the S programming language (started in 1976), for which John Chambers won the ACM Software Systems Award. This, and its Libre dialect R (thanks to Robert Gentleman and Ross Ihaka at University of Aukland), are in daily use by folks who have to write programs to use data.

    1. Re:They left out a couple by Aidtopia · · Score: 1

      and BLISS, a DEC language used extensively on VMS

  70. Re:Functional programming languages dying? F# XSLT by rsidd · · Score: 1
    Anyway, I didn't see any programming language versions for functional languages (the ones I recognize are Haskell, ML and Miranda) after some time in -99.

    Look for Caml and OCaml. Ocaml is going strong and is a remarkable language: concise, safe, and about as fast as C. And, of course, there's always Lisp.

  71. Lingo? by Lego-Lad · · Score: 1

    I see actionScript on here, but not Lingo (for Macromedia Director). I think there are others missing, too. I guess O'Reilly hasn't published a Lingo book.

    1. Re:Lingo? by Lego-Lad · · Score: 1

      Check this out: http://www.macromedia.com/macromedia/story/

  72. Re:Wait a minute! (What about Atlas Autocode?) by waterbear · · Score: 2, Interesting

    They also forgot Atlas Autocode (the first programming language I was exposed to, back in 1965).

    -wb-

  73. Lisp++? Try Unicon instead! by phliar · · Score: 2, Informative
    ...it existed at a time so far before many languages that pathetically failed to implement its features, so I'm a little confused at the way the computing world has ignored it, instead of trying to work its principles into modern languages.
    Have you looked into Icon, or its extension Unicon? You can make custom control structures (using what are called co-expressions). It also has goal-directed evaluation (backtracking, think continuations of the LISP world) built into its expression evaluation. Of course it's dynamically typed and has all sorts of data structures like lists/trees, associative arrays, sets etc. built-in, plus X11 and Win32 graphics, automatic storage management (garbage collection) and lots of cool features for text manipulation (it's a development of the ideas in SNOBOL4). To all this Unicon adds object-orientedness, POSIX system calls and networking, message-passing, etc. All this in a easy to read block structured (C-like) syntax.
    --
    Unlimited growth == Cancer.
  74. Ha! I was right! by Anonymous Coward · · Score: 2, Interesting

    My friends and I still, to this day, argue about which came first: Pascal or C. Every single one of my friends insist that C came first. I maintain that Pascal came first, but by a small margin. I had my years wrong, thinking it was 68 that Pascal (1970) came out and 69 that C (1971) came out, but I was still right about order of generation.

    I still don't understand why people have such a burning hatred for Pascal. Is it because they were forced to learn it in school? It's a very complete language and has nice structure. It can be extremely powerful if used correctly and defines a large chunk of how the modern programming languages operate, just as Algol and Fortran have.

    I should break out my installation CD and convert some of my recent programs to Delphi, just for kicks. Man, I miss Borland.

  75. Éric Lévénez did this by wombatmobile · · Score: 2, Informative

    Éric Lévénez did this already.

    We have had his poster on our wall since last year.

    1. Re:Éric Lévénez did this by Anonymous Coward · · Score: 0

      Mod Parent UP!!!
      Damn right - saw this on his site 2 years ago!

  76. Buy the poster by Anonymous Coward · · Score: 0

    where can i buy the poster?

  77. Well, duh! by V.+Mole · · Score: 2, Interesting

    Because they want you to by more books. They are not in the poster business, they are in the book business.

    1. Re:Well, duh! by clintp · · Score: 1

      And I thought it was all just publishing. Silly me.

      --
      Get off my lawn.
  78. Now We Can Play... by th1ckasabr1ck · · Score: 1
    ... "The Six Degrees of C++"!

    Look out, Kevin Bacon.

  79. Re:Functional programming languages dying? F# XSLT by no+soup+for+you · · Score: 2, Informative

    Lahey has a Fortan for .NET Compiler

    I think this is what you meant by F#, right? Fortrant.NET wasn't written by microsoft, they just used the specs to write to IL (or so I think).

    --
    If you blog it...
  80. M$ DOESN'T COUNT WINDOWS 98???? by Anonymous Coward · · Score: 0

    I wonder why they billed it as a new OS when it went to market if it wasn't anything new, oh wait, win 95, ME, win2k pro,

  81. Java - Not everyone's favorite apparently. by Sunkist · · Score: 1

    I just did a search for Java on The Language List and here is the result:

    Result of search for "Java":

    No matching entries found.

    --
    No, Vern. They just let him in.
    1. Re:Java - Not everyone's favorite apparently. by LQ · · Score: 1

      Doesn't have C# either.

  82. Re:Functional programming languages dying? F# XSLT by Anonymous Coward · · Score: 0

    I remember the Miranda days. Programmed in for just about year. I think that I was the only one to get anything to work in it. Still not really productive but it was time well wasted.

    Ahhh the good old days. Now I just spend time reading Slashot articles.

  83. Re:Functional programming languages dying? F# XSLT by 3770 · · Score: 1

    Oh man, how could I be so ignorant as to not know that OCaml was a functional language. God knows I've heard it thrown around in forums enough.

    The shame!

    Anyway, thanks!

    --
    The Internet is full. Go Away!!!
  84. only 50 years? Ada Lovelace? by Sebastopol · · Score: 2, Interesting

    Didn't Ada Lovelace write "code" for Babbages machine in 1899? I thought she invented the subroutine?

    --
    https://www.accountkiller.com/removal-requested
    1. Re:only 50 years? Ada Lovelace? by Mad+Bad+Rabbit · · Score: 2, Interesting

      Earlier than that: she translated an article on the Analytical Engine (written by L. F. Menebrea) with several added notes of her own, including a sample program to compute Bernoulli numbers. This was published in the October 1843 issue of Scientific Memoirs.

      See http://psychclassics.yorku.ca/Lovelace/lovelace.ht m#G

      --
      >;k
    2. Re:only 50 years? Ada Lovelace? by Sebastopol · · Score: 1

      "This was published in the October 1843 issue of Scientific Memoirs"

      She's so hot.

      --
      https://www.accountkiller.com/removal-requested
  85. They forget by denisbergeron · · Score: 1

    QuickBasic arround 1985 On MsDos 4 !
    UCSD Pascal arround 1982 On apple II

    --
    Ceci n'est pas une Signature !
  86. Re:Functional programming languages dying? F# XSLT by 3770 · · Score: 1

    I should point out that I'm only reiterating a rumour, but F# is supposedly a functional language that Microsoft Research is working on.

    It may not be true, and even if it is, it might never amount to a real product.

    If anyone can confirm or refute this I'd be happy to hear about it.

    --
    The Internet is full. Go Away!!!
  87. They should tree it out. by gurps_npc · · Score: 2, Interesting

    They should tree it out, showing how C+ came from C, etc, instead of just showing the languages "appearing".

    --
    excitingthingstodo.blogspot.com
    1. Re:They should tree it out. by gurps_npc · · Score: 1

      They did, just lightly. OK, they should DARKEN the tree lines, so they are visible.

      --
      excitingthingstodo.blogspot.com
  88. I don't see Progress on there by Murgalon · · Score: 1

    It's similar to Delphi and has been around for a while. Take a look here : http://www.progress.com/index.ssp

  89. Cue VB inbreeding jokes by FuzzyBad-Mofo · · Score: 1

    That family tree doesn' branch..

  90. Where's MUMPS? by modulo · · Score: 1

    I mean, M...?

    (I use IS ObjectScript myself, real hard-core M gives me the chills)

    --

    ...but the language is MUMPS, which I will not utter here

    1. Re:Where's MUMPS? by bandy · · Score: 2, Informative

      MUMPS is in the top quarter of the chart in dark purple. ISO M ["M ISO" on the chart] pops up at '99. Frankly, I'm surprised it's lasted this long.

      --
      "You might as well get your son a ticket to hell as give him a five string banjo." -unknown minister
    2. Re:Where's MUMPS? by princewally · · Score: 1

      M/MUMPS is still in active use in a lot of places. It's the functional backbone of one of most widely used software systems in the collection industry.

      --

      -
      "Vengeance is fine," sayeth the Lord.
  91. Is there a "fourth generation" language? by peter303 · · Score: 1

    I've heard a number of candidates claiming the title of "4th generation", but nothing definitive. The earlier generations include:
    -Machine language; panel switch or re-wiring programming; (gen 0?)
    -Assembly language and assemblers; (gen 1?)
    -Early compiled languages; (gen 2?)
    -Structured programming; (gen 2.5?)
    -Object-oriented programming; (gen 3?)

    Each generation makes the claim: "programs that practically write themelves!" :-) :-) :-)

    Some next-gen candidates I've heard include:
    -Flexible applications like spreadsheets and databases;
    -More abstraction, such as when Patterns and Aspects become integrated into OOPS;
    -Interactive development environments such as integrated compilers-editors-developers;
    -Visual generators from icons, flowcharts, UML diagrams;
    -Scripting languages;
    -Auto-learning programs from examples (neural net, A.I., google sets);
    -Natural human language; domain-languages like mathematics;
    -Your_favourite_pet_idea_here.

    1. Re:Is there a "fourth generation" language? by Anonymous Coward · · Score: 0

      "Forth" is a language that gets its name from the fact that it is a "fourth generation" language.

    2. Re:Is there a "fourth generation" language? by cruachan · · Score: 1

      I first started coding professionaly in the mid-80s at which point '"4th generation" language was the new buzz word. The schema then was

      1st - Machine Code
      2nd - Assembler
      3rd - High level - COBOL, FORTRAN

      The '4th' generation was then used to mean something that tried to be more English like - what we'd now call a scripting language - typically for use against a database/development environment. The one I did a lot of coding with was NATURAL, which ran against ADABAS (an early semi-relational database)

      Basically when it came down to it '4th generation' was really marketing-speak. Made the suits think they were really clever as they we going to get these new found computer thingies cracked by a pseudo-english command language.

  92. Basic??? by confused+one · · Score: 1

    They did a crappy (Microsoft-centric) job of the Basic language time-line.

    1. Re:Basic??? by HotNeedleOfInquiry · · Score: 1

      The BASIC timeline totally sucked. No mention of any of these much-used verisons:

      Basic-E - Gordan Eubank's p-code Basic
      CBasic - A commercial Basic based on Basic-E, zillions of lines of code written
      RSTS-E - Dec timesharing basic
      Northstar Basic - The first affordable language (bundled with hardware) that provided file reads and writes
      HP Basic - A whole line of calculators and computers
      Tiny Basic - Several versions largly fueled the home computer movement in the 70's and 80's
      Lawrence Hall Of Science Basic - Timeshared Basic hosted on DG Novas, introduced thousands SF bay-area kids to programming in the 70's

      --
      "Eve of Destruction", it's not just for old hippies anymore...
    2. Re:Basic??? by confused+one · · Score: 1
      Those were a lot of the important early ones. There were lots more including examples like:

      TrueBasic - the modern remake by Kemeny and Kurtz at Dartmouth.
      TurboBasic - Borland's answer to QuickBasic.
      etc, etc,

      There's even XBasic or wxBasic which promise cross platform compatibility between win32 and *nix. Basic may not be the most elegant language but it's fast and gets the job done.

    3. Re:Basic??? by rush22 · · Score: 1

      Applesoft Basic - Apple's Basic for the Apple II series
      Integer Basic - Apple's earlier version of Basic which didn't have floating point numbers

    4. Re:Basic??? by rush22 · · Score: 1

      WATCOM Basic - (I think it ran on UNIX)

    5. Re:Basic??? by Anonymous Coward · · Score: 0

      BBC BASIC certainly deserves a mention, and is still in use today as ARM BBC BASIC V (BBC micro compatible FP) and VI (IEEE FP.) (Dare I mention it's bastard cousin BBC BASIC for Windows? Oops, guess I just did.)

  93. Re:Functional programming languages dying? F# XSLT by snkline · · Score: 1

    Just because there havn't been any new standards for functional languages doesn't mean that they are dying out. When you see that the last version of Haskell was 98, that means the last Standard Definition of the language was established then. Haskell environments like Hugs, ghc, etc... continue producing new versions, and providing extensions to the 98 standard. The same holds true for most other functional languages. Also F# isn't simply a rumor, you can use it if you want. It is based on Objective Caml, so if you know OCaml syntax, you should have little problem with F#. It can be found at: http://research.microsoft.com/projects/ilx/fsharp. aspx

  94. where is IPL? by pioneer · · Score: 1

    they are missing IPL which predated LISP? am i right?

  95. What do they mean by programming language? by KevinDumpsCore · · Score: 4, Interesting

    They didn't define what they consider a programming language (Turing complete? General purpose?). Powerbuilder and m4 are general purpose languages but I didn't see them on the diagram.

    If domain-specific languages are allowed, I think these were overlooked:

    • JCL
    • Music V (including Csound)
    • pd
    • RPG
    • SQL (including PL/SQL)
    • SuperCollider
    • troff (chem/grap/groff/pic/tbl/et al.)
    • Xbase (dBASE/Clipper/FoxPro/et al.)
    • XSLT

    BTW, you can download a more printer-friendly version here: Eric Levenez's Computer Languages History

    Also, a German version is available here: German PDF

    1. Re:What do they mean by programming language? by stanmann · · Score: 1

      powerbuilder isn't a language. I've checked.

      If you wish to counter, write the powerbuilder code to display "hello, world"

      --
      Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
    2. Re:What do they mean by programming language? by RicochetRita · · Score: 1
      powerbuilder isn't a language. I've checked.

      If you wish to counter, write the powerbuilder code to display "hello, world"

      The language used in PowerBuilder IDE is technically called, PowerScript. But unless you schlog through it on a daily basis, you're not likely to know this. So, everyone else just calls it PowerBuilder.

      And assuming you had the supporting objects/framework instantiated, it's no different than say, VB--you just need something to print on or to. I'd use a MessageBox:

      MessageBox("My first app", "hello, world")
      R3
      --
      Stuff that matters: circuitbreakers, vacuum-cleaners coffee makers, calculators generators, matching salt+pepper shakers
    3. Re:What do they mean by programming language? by corngrower · · Score: 1

      Since they included rexx, sh and bash on the chart, they could have included JCL and others as well. VAX -VMS had a good command line intrepreter. Other OS's did as well. Maybe they left out JCL because it was the worst thing that ever happened to computers.

    4. Re:What do they mean by programming language? by Anonymous Coward · · Score: 0

      Well, since there are 2,500 languages and 50 on the chart, gradeschool math tells me that there may be some languages that aren't on the chart.

      Oh, and I see your "Turing Complete" and raise you a "Von Neuman Machine". Random use of technical terms are always good for a few mod points.

    5. Re:What do they mean by programming language? by keefey · · Score: 1

      I wish I had the magical ability to mod, because that Von Neuman Machine comment made me laugh very loudly. I'm guessing that ObjectPAL didn't make it onto the chart either...

  96. One last option... by Anonymous Coward · · Score: 1, Informative

    If everyone is done whining about the historical accuracy and omissions, Kinkos charges $10/sqft to print this and FedEx shipping will be about $10 -- that's about $56. I suspect it's a better deal to buy two books from O'Reilly's.

  97. Re:Functional programming languages dying? F# XSLT by Anonymous Coward · · Score: 0

    I believe that it has been demonstrated that not all functional languages are slow.

  98. Where the hell is my Lingo!?! by TempusMagus · · Score: 1

    Come on! I mean they even have O'reilly books on it.

    --
    -_-
  99. CHEAP PRINTS by GoClick · · Score: 1

    I work for a publishing company with a wide format printer and I can get you cheap printouts of this if you like at full size. Call (780) 425-9303 the company is PageMaster ask for Noah (that's me) It should be around $20 plus postage to get to you, the printing will only take 1 day

  100. 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.

  101. how do you interpret this chart? by anomalous+cohort · · Score: 1

    I don't get it. The arrows for C and C++ stop before 2002. Does that mean those languages are dead? News to me.

  102. BASIC is incomplete by Anonymous Coward · · Score: 1, Interesting

    The history of basic is worng -- typical to attribute it to MS. Digital Equipment was the first corporation to use BASIC as a system level programming language (on PDP-11's -- RSTS), and then the first compiler version (BP2).

    BASIC -> DEC BASIC-PLUS -> DEC BASIC-PLUS2 -> VAX BASIC -> then around here is when it appeared in MS Windows.

    1. Re:BASIC is incomplete by stanmann · · Score: 1

      And every for every microcomputer created before 1984 microsoft either bundled(sold to manufacturer) or sold directly a BASIC interpreter. SO MS does have the claim to PC(not IBM) BASIC

      --
      Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
    2. Re:BASIC is incomplete by Anonymous Coward · · Score: 0

      I suspect I am violating CJ Date's Incomprehensibilty Rule here, but from what I understood: No, not all PCs ran Microsoft BASICs. Particularly in countries outside the US. Amstrad CPCs ran Locomotive Software's Amstrad BASIC and BBC Microcomputers ran BBC BASIC. Even Apple had their own BASIC of the US PCs.

  103. What about ColdFusion!!!!!! by deepfusion · · Score: 0

    <cfloop>Well, what about it??</cfloop>

  104. In the beginning, God created the 1's and the 0's by Anonymous Coward · · Score: 0

    And the program was without form, and void, and darkness was on the face of the monitor. And the spirit of God was moving over the bits of the data.

    And God said "Let there be FORTRAN" and there was FORTRAN. And God saw that the language was good; and God separated the text from the binaries. God called the text ASCII, and the binaries he called compiled. And there was evening and there was morning on the first day.

  105. Re:Functional programming languages dying? F# XSLT by (a*2)+(ron) · · Score: 1

    It's no rumor: find it here.

  106. ... and where's Wouter? by kwench · · Score: 1

    Wouter van Oortmerssen has created several programming languages...

    Some of them were plain beauty, others had a quite small compiler, others were a proof of concept of his PhD-thesis.

    Granted, none of them ever became famous, but I still miss the ease and power of AmigaE on my Gentoo box.

  107. over-simplification by bandy · · Score: 1

    It's missing oodles of history, including two revisions of ANSI-standard FORTH, on the FORTH branch, mention of APL/SV on the APL branch, and Cthulu knows what else.

    Nice shot. Probably impractical for a full-blown history chart.

    --
    "You might as well get your son a ticket to hell as give him a five string banjo." -unknown minister
  108. The liniage sucks by Anonymous Coward · · Score: 0

    Their liniage sources blow.

  109. Lisp bad, python good? by alispguru · · Score: 2, Insightful

    I'd like to see a standardized lisp that I can write and read as quickly and Python.

    It's been tried - see Dylan. As near as I can tell, Dylan didn't take off because:

    The Lisp people saw no major advantages to it other than the syntax, and they'd already gotten past that barrier

    The non-Lisp people apparently didn't understand that it really was better than C++/Java


    Lisp does need a better ... community ...

    Like the one growing here?

    and one standard open source implementation.

    Now I'm really confused. Multiple implementations with a common specification hurt Lisp, but Jython and stackless python are not drawbacks for Python?
    --

    To a Lisp hacker, XML is S-expressions in drag.
    1. Re:Lisp bad, python good? by Anonymous Coward · · Score: 0

      Now I'm really confused. Multiple implementations with a common specification hurt Lisp, but Jython and stackless python are not drawbacks for Python?

      There is only one standard implementation of Python, that's the one you probably have installed on your computer right now. Those other two are "branches" for certain special circumstances. If I go on my Gentoo box, I type "emerge python" and it does something, but "emerge lisp" gives an error.

      Lisp's multiple implementations are a serious problem. Look at 3rd-party Lisp libraries (on sourceforge, etc).. they are full of conditionals to deal with the differences between all the "standard" lisp variations.

      And the standard is incomplete (no modern features like threading for instance). So there are all kinds of ad-hoc, un-standard extensions. If there was a single reference implementation for Lisp, then whatever *it* does would be the de-facto standard. Makes the academics cringe, but that's how things work in the real world.

      Lisp will simply not grow until there is a single, modern, relatively complete (threads, sockets, CGI, regexps, standard Unix libraries) open-source implementation that is pushed down everyone's throats. I need to be able to take my Ruby or Python programs and convert them directly to Lisp. Only then can I go further and use the power of Lisp. Today, writing a program in Lisp is difficult because my programs need to open sockets, download URLs, and interact with Unix stuff like umasks and passwd file. I don't know how to do that stuff in Lisp, and I don't find many web sites with that kind of information, just "abstract" stuff.

    2. Re:Lisp bad, python good? by ultrabot · · Score: 2, Insightful

      Now I'm really confused. Multiple implementations with a common specification hurt Lisp, but Jython and stackless python are not drawbacks for Python?

      CPython is still the "standard" implementation of Python. Stackless is just some patches on CPython, and Jython is of interest mostly to Java community. There is no CPython equivalent for Lisp. Jython basically extends the scope of CPython, it doesn't compete with it. The multitude of Lisp implementations don't really have that excuse.

      Also, all the Python implementations are Open Source. Lisp community, OTOH, seems to think that only commercial implementations are worthwhile.

      Twist it any way you want, one standard open source implementation would guarantee better library and tool support. Then people might even start talking about Lisp standard library, with modern stuff to do things people do with e.g. Python standard library (or perl, or ruby, or...)

      I wish my sentiments are not interpreted as attacks against Lisp - I wouldn't mind Lisp getting more popular, and would probably change my current job for a Lisp one if such was available to me. Just pointing out that Common Lisp is not as great as Lispnicks suggest themselves, and Lisp could be much more alive if things were... well, not the way they are.

      --
      Save your wrists today - switch to Dvorak
    3. Re:Lisp bad, python good? by alispguru · · Score: 2, Insightful

      Lisp community, OTOH, seems to think that only commercial implementations are worthwhile.

      CMUCL and SBCL and OpenMCL and CLISP aren't exactly chopped liver. Steel Bank Common Lisp might be of particular interest to you, since it runs on most modern architectures and pretty much anything Unix-ish, and a Windows port is limping (see here for details). Or maybe CLISP - it compiles to byte codes, like Python, so it runs everywhere, at about Python speed.

      Twist it any way you want, one standard open source implementation would guarantee better library and tool support.

      You're probably right, but the other languages you mention that have one standard implementation also have a benevolent dictator/gatekeeper that "owns" that implementation, and by extension the standard for the language. They can evolve faster than Common Lisp or Scheme, which are defined by published specifications that aren't owned by one person, but that one person becomes a single point of failure for the language. None of them has yet had to survive the loss of their gatekeeper, and it's not clear to me that they can do so. All of them have problems that might have been avoided with a slower, spec-based evolution (rant - all of them do variable scoping wrong).

      Being defined by a reference implementaton also holds languages back - the language is defined by the reference implementaton, warts and all. Take Python speed - CPython is slow compared to Lisps that compile to native code. Python compilers help, but as long as CPython is the reference, everything else (including compilers) will be non-"standard", and Python the language will still be thought of as slow. The Lisp community can't coalesce around one portable implementation like CLISP, because they'd have to give up the high-performance high ground.

      Lisp turns 46 this year. It's behind the curve in recent protocols and libraries, but it's still here, and will likely still be around 46 years from now.
      --

      To a Lisp hacker, XML is S-expressions in drag.
  110. B-O by Esion+Modnar · · Score: 1

    Funny. I always thought of it as less of a language and as more of a lifestyle. Things get pretty rough when you've been coding for the last 20 hours.

    --

    They say the first thing to go is your penis. Well, it's either that or your brain. I forget which...
  111. uh? by toeofdestiny · · Score: 0

    from the in-the-beginning-was-the-command-line dept.

    uh?

    1. Re:uh? by Inthewire · · Score: 1

      In the Beginning was the Command Line is a short book / long essay by Neal Stephenson, available for download here.
      It deals with many things, mainly with the power of detail over abstraction.

      --


      Writers imply. Readers infer.
  112. I feel slighted.. by keithcstone · · Score: 1

    No Jovial or PLUS, it's like half my life disappeared in the blink of a PDF.

  113. I actually think it makes sense. by Ayanami+Rei · · Score: 2, Interesting

    The use of ',' and ';'. Generally, you use ',' to indicate a list. Therefore it makes perfect sense it is used to create parameter lists, and when used as an operator, "returns" the expression to the right.
    The semicolon is often used at the end of a clause or list, therefore it does not defer to the right and thus is a suitable indicator for a logical break.
    I would think language programmers at some point flirted with the idea of using the period for an end-of-statement marker, but perhaps because it is also used as a decimal point in the ASCII character set, they might have been worried about determining whether a trailing decimal point after a numeric expression indicated end-of-statement or a decimal point missing the rest of it's significand.

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
    1. Re:I actually think it makes sense. by ckaminski · · Score: 1

      I've been working with Progress 4GL for the past 1 and a half, give or take, and it does just that, use a '.' for a statement terminator.

      It's quite disturbing, actually.

  114. BASICally isolated by epohs · · Score: 1

    so, BASIC has been around for 40 years, but it has neither recieved influence from, nor influenced any other language?

  115. Re:Functional programming languages dying? F# XSLT by WWWWolf · · Score: 1

    Well, I don't think they're dying - it's just that well-designed languages don't need that many revisions.

    Besides, even if the language itself isn't evolving, the implementations and the libraries are. Common Lisp may not have too modern string mess-up tools, but it didn't take too long for me to find a cool regex library that does everything I could ever desire. (Look hard enough, and you can find libraries doing *everything*, for *everything*. Let's see, a quick google search for "cobol cgi library"... 22800 hits. damn.)

  116. Re:Ha! I was right! by stanmann · · Score: 1
    Man, I miss Borland.
    Why? have they gone somewhere?
    --
    Food not Bombs is a nice platitude but it breaks down when you notice that the Bombees are usually well fed
  117. I'm dying to know... by copypaste · · Score: 1

    why they added the extra x to Rexx in 1984, which happens to be the year I learned it in. You'd think that the Rexx programmers at the time would have be notified of such a fundamental change.

  118. Easier to Read Version by Anonymous Coward · · Score: 0
  119. A timeline? Oh-oh... by Anonymous Coward · · Score: 0

    So, which programming languages does SCO own?

  120. Then there is Clean by Anonymous Coward · · Score: 0

    Less free, but produces some of the most easily readable functional code Ive seen (name says it all).

  121. Where's DIBOL ? by Sarrek · · Score: 1

    DEC's verison of Fortran/COBOL mix.

  122. Re:Functional programming languages dying? F# XSLT by rsidd · · Score: 2, Informative
    Lahey has a Fortan for .NET Compiler

    I think this is what you meant by F#, right?

    Certainly not. It's a Caml for .NET thing. Here's a link.

  123. RUBY by Anonymous Coward · · Score: 1, Informative

    sounds like you want ruby.
    http://www.rubycentral.com/

  124. History of (some) programming languages. by wcrowe · · Score: 1

    I program in RPG, you insensitive clods!

    --
    Proverbs 21:19
  125. Re:Functional programming languages dying? F# XSLT by Brandybuck · · Score: 1

    I've heard rumors of F# from Microsoft but I don't know if that is true.

    It is true. Microsoft is F###ed up beyond all recognition...

    --
    Don't blame me, I didn't vote for either of them!
  126. Oh, really? by Anonymous Coward · · Score: 0

    but you can really get some shit accomplished with it.

    Name one.

    1. Re:Oh, really? by dasmegabyte · · Score: 1

      Well, back in the 17th century, a country called "Britain" issued commands to their infrastructure in English and damn near took over the world.

      --
      Hey freaks: now you're ju
    2. Re:Oh, really? by Anonymous Coward · · Score: 0

      no. in the 17th century, a country called england (which owned the rest of britain) invaded most of the world and took over most of it. we're still in the process of giving it back (damn government)

  127. It makes me remember something ... by LeonOnSlashdot · · Score: 1

    I already saw this somewhere ... http://www.levenez.com/lang/ And there is the same thing for the Unixes http://www.levenez.com/unix/ And the Windows http://www.levenez.com/windows/ Now you know what you can put on your sad white walls ...

  128. Pity they left the names off by Tim+Ward · · Score: 1

    If the names of the authors had been on there it would have been fun? frightening? to see how many of them one actually knew.

  129. Re:Functional programming languages dying? F# XSLT by Anonymous Coward · · Score: 0

    Anyway, I didn't see any programming language versions for functional languages (the ones I recognize are Haskell, ML and Miranda) after some time in -99.

    Does that mean that they are dying out?


    The latest version of the ANSI C standard is C99. Does that mean that C is dying out?

  130. Arrow lengths misleading by akratic · · Score: 1

    Objective Caml has an arrow stretching from 1996 to 2002. The arrow for bash is very short (1989 to 1990). Why this difference? Is the chart saying that O'Caml has been more popular or more successful than bash? Is it saying that the development of O'Caml ended in 2002, or that it stopped being important in 2002?

    The last new version for Basic listed on the chart is VB.NET (2000), but the arrow keeps going until 2003. The arrow for Javascript stops immediately after the latest version (1.5, 2000). Does it mean anything that the arrow for Basic goes past the arrow for Javascript?

    My guess is that the chart's creator(s) chose the lengths of the arrows for purely aesthetic reasons: if all the arrows for currently used languages went to the right edge of the chart, it would have been a less attractive diagram. But designing the chart this way is very misleading.

  131. PL/I? by Baldrake · · Score: 1

    Definitely a quirky list. How NetRexx gets in but PL/I is left out is puzzling.

    1. Re:PL/I? by corngrower · · Score: 1

      I thought I saw PL/I squeeking in there somewhere. There was a branch off to PL/M as well. I took a course in PL/I once.

    2. Re:PL/I? by kmankmankman2001 · · Score: 1

      PL/1 is in there. However PL/S isn't.

      --
      "The bigger the lie, the more they believe." - Det. Bunk
    3. Re:PL/I? by Baldrake · · Score: 1

      I must be blind. :-) Yes, I think there was a generation of us who used PL/I in intro to computing. (Actually PL/C, the Cornell variant.)

  132. Not lifelines, updates... by SuperKendall · · Score: 1

    That confused us a little at first as well - don't think of the end of an arrow as the end of a language. Rather, the end of an arrow is the last time that language saw a major update in specification. So as soon as a new spec came out the arrow would extend to meet it.

    I'll bet there are is still active development going on in just about every language on the chart.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  133. APL by corngrower · · Score: 1

    APL - Now there's a language that had a lot of influence on todays languages. You'll note that today's languages are pretty much the exact opposite of this one.

    How many of you out there are familiar with the one line programs of APL, complete with the cryptic runes?

    1. Re:APL by Anonymous Coward · · Score: 0

      APL is still in use. But I'm dissapointed that the
      language "J" was not included: It's an advanced APL
      without the non-ASCII character set. I use it every
      day...

    2. Re:APL by bandy · · Score: 1

      I'm a native speaker of APL! It was the first programming language I learned and it still influences my thinking today.

      --
      "You might as well get your son a ticket to hell as give him a five string banjo." -unknown minister
  134. Uhmm...The original was better by trainsnpep · · Score: 3, Insightful

    Don't tell me no one here has ever seen this. I can get my own copy there and print it. O'Reilly merely remade it, and gave a small credit to Eric Levenez.

    --
    --<Mike>--
  135. Forgot Cold Fusion by thejuggler · · Score: 1

    Since they did include other web based scripting languages like JavaScript, PHP and VBScript they should have included ColdFusion, which came about in 1994. ColdFusion was the first commercially available Web Application Development language and is still used in very large numbers today.

  136. Rebol by 12357bd · · Score: 1

    My .02..
    I like Rebol one of those 'personal' ideas from Carl Sassenrath (the maker of Amiga OS).
    In Rebol, code is data, data is code, and usually its only text. Beautifull, refreshing language, try-it for a change.

    --
    What's in a sig?
  137. Lambda-calculi by Jagasian · · Score: 1

    What about lambda-calculi and recursive functions? The lambda-calculus was a language for describing algorithms, it had a formal syntax and semantics... so why is it not listed? Does a programming language require a compiler or an interpreter on a physical machine to be considered a programming language?

    If all physical computers were somehow destroyed tomorrow, would programming languages cease to exist?

  138. VB6 -- VB.Net by fumanchu32 · · Score: 1

    Aren't they really two seperate languages? They are similar on the surface. I just don't think they should be on the same line.

  139. I've seen that by Anonymous Coward · · Score: 0

    The sentence was:

    Heh, I still haven't seen "COBOL" and "happily" in the same sentence.

  140. Revisionist History by pyrrhonist · · Score: 1

    // It's not a C++-style comment, it's an Algol-style comment.

    --
    Show me on the doll where his noodly appendage touched you.
  141. 1942: Plankalkul by Anonymous Coward · · Score: 0

    What about Zuse's Plankalkul? Although it doesn't have any descendants (because of the scientist's isolation), it can be considered the first high-level language, which already had a lot of features only added much later in other languages.

  142. Programming Languages History and Family Tree by Pan+T.+Hose · · Score: 1

    You can learn a lot about programming languages history and family tree from this slides from a conference by Larry Wall.

    --
    Sincerely,
    Pan Tarhei Hosé, PhD.
    "Homo sum et cogito ergo odi profanum vulgus et libido."
    1. Re:Programming Languages History and Family Tree by Tarantolato · · Score: 1

      Dr. Hose:

      Pan Tarhei Hose =

      panta rhei hws =

      "everything flows thusly"?

      Sir, you are a crafty philologist.

  143. VisualBasic from Pascal by solprovider · · Score: 2, Interesting

    Delphi from VBasic?

    Which happens to "feel" exactly the same as VB. It's not simply the language syntax but also the structure, and programming in Delphi is practically the same as VB


    This is backwards. VB and Delphi both came from Pascal, although Delphi was an improvement and VB was a translation.

    In the late 80s, Pascal was the language being taught at most colleges, although C was starting to gain some marketshare. Microsoft needed to replace BASIC with a functional language. They took Pascal, changed the keywords to the ones from BASIC, added line numbers, and called it VisualBasic. This had the effect of killing the market for Pascal programmers. The good ones upgraded to Delphi; the rest moved to MS VB.

    VB 1.0 had much more in common with Pascal than it did with BASIC. "Pascal format function calls" are still used by VB, in contrast to "C format function calls". Pascal and VB have "procedures" (or "subroutines") which allow the values of parameters to be overwritten in calling routine. C requires that one and only one value can be returned, which must be explicitly assigned in the calling routine (although fun with pointers can cause many other effects.) BASIC did not have procedures, and subroutines overwrote the global variables, because BASIC was also missing local variables.

    --
    I spend my life entertaining my brain.
    1. Re:VisualBasic from Pascal by TheRealMindChild · · Score: 1, Interesting

      That is Cliff Clavin bullshittery right there. Visual Basic 1.0 for DOS was PDS (QBasic package) with form, button, etc objects. You COULD use it as your Qbasic environment... from there it got a windows port... and up until VB 6, even microsoft ADMITS to (search the MSDN) still using legacy Qbasic code in there.

      Qbasic NEVER NEEDED line numbers... that was GWBasic, halfwhit. You COULD use line numbers, if you wanted too... hell, you STILL CAN in VB.

      I trust you work for Borland... that, or you are one of the poor suckers too stupid to REALLY understand anything but Delphi, and even then the concepts past their VCL/CLX boggle you. Never in my life have I read such completely made up crap

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    2. Re:VisualBasic from Pascal by solprovider · · Score: 2, Interesting

      (Responding to a flame that was just modded Interesting.)

      I did not mention QuickBasic because it is not on the chart, but most of my previous post really applied to QuickBasic since it was not called VB until it moved to Windows.

      I did not state that QuickBasic or VB "required" line numbers. I stated that MS added the ability to use line numbers as part of the transition from Pascal to QuickBasic.

      When I first encountered QuickBasic, I already knew BASIC, Pascal, and C. I could replace the keywords in my Pascal programs and then do minor debugging to have functional QuickBasic programs. The API for VB has grown since then, but it still looks like Pascal with different keywords.

      It was a smart move for MS. Most college grads were learning Pascal, and the transition to developing in the MS-proprietary language was easy since few of the rules were different.

      ---
      Today I work with Java and LotusScript with Domino because it is allows much faster business application development than any other platform. LotusScript was based on VB, and still looks similar: same keywords, different API, and it has the List variable type. I also use Java for applets, servlets, and server applications; and one of my Java projects will require a GUI-based client, although I have not written it yet. (I prefer Java over C/C++ because the native memory management saves development and QA time.) I have never developed with Delphi, although several friends are good with it, and their code looks like super-charged Pascal.

      ---
      Fun fact: One of my IBM redbooks states that VisualBasic is a trademark of IBM. I think it was a misprint.

      ---
      BTW, there is only one 'h' in "half-wit".

      --
      I spend my life entertaining my brain.
    3. Re:VisualBasic from Pascal by TheRealMindChild · · Score: 3, Funny

      I did not state that QuickBasic or VB "required" line numbers. I stated that MS added the ability to use line numbers as part of the transition from Pascal to QuickBasic.

      BZZZZZZZZZZZZT. Wrong. Now take 3 seconds out of your life... wouldn't you think... LOGICALLY... that line numbers would be supported as backward compatibility to GWBasic? I think so. As a matter of fact, I have seen several schools teach Qbasic classes, using GWBasic text books... see where this goes, and your bullshit doesnt?

      When I first encountered QuickBasic, I already knew BASIC, Pascal, and C. I could replace the keywords in my Pascal programs and then do minor debugging to have functional QuickBasic programs. The API for VB has grown since then, but it still looks like Pascal with different keywords.

      You mean like StrLen? C had to have RIPPED THAT OFF TOO! Oh, let me illustrate how much they are the same:

      If You = Retarded Then
      Print "Retard"
      Else
      Print "Still Retarded"
      End If


      vs.

      If You = Retarded Then
      Begin
      writeln('Retard');
      End Else Begin
      writeln('Still Retarded');
      End


      Yep.... identical all right *ugh*.

      It was a smart move for MS. Most college grads were learning Pascal, and the transition to developing in the MS-proprietary language was easy since few of the rules were different

      Do you even live in the same universe as the rest of us?

      Today I work with Java and LotusScript with Domino because it is allows much faster business application development than any other platform. LotusScript was based on VB, and still looks similar: same keywords, different API, and it has the List variable type. I also use Java for applets, servlets, and server applications; and one of my Java projects will require a GUI-based client, although I have not written it yet. (I prefer Java over C/C++ because the native memory management saves development and QA time.) I have never developed with Delphi, although several friends are good with it, and their code looks like super-charged Pascal.

      Ok, thanks for clearing up why you are completely unqualified to even exist.

      Also, it looks like Super Charged pascal, because its simple Object Pascal.

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    4. Re:VisualBasic from Pascal by squidinkcalligraphy · · Score: 1

      Actually, Visual Basic for DOS appeared _after_ Visual Basic for Windows.

      --
      "I think it would be a good idea" Gandhi, on Western Civilisation
    5. Re:VisualBasic from Pascal by TheRealMindChild · · Score: 1

      This guy actually contacted me VIA ICQ, during WORK, crying, because I tore down his wonderful Delphi. Enjoy.

      25706723: So you were the one who wrote those mindless comments on slashdot about Delphi vs VB?
      MindChild: Nothing about it was mindless
      MindChild: but of course
      25706723: I beg to differ, i think it was an utter waste of time from somebody who doesn't know jack shit about it.....
      MindChild: Obviously
      MindChild: Because I gave my backed up, useful retort
      25706723: yepper, there you have it....
      MindChild: and you seek me out on ICQ?
      25706723: obviuously i must have too much spare time...
      25706723: Although you shouldn't think so...
      MindChild: **I** have too much free time
      MindChild: and you are "trying" to troll me on ICQ during work hours
      MindChild: I think someone needs some pespective
      25706723: Yeah its a waste of time as i said before i shouldn't get carried away every time a little loud mouth script kiddie writes some bullshit which he doesn't know the first thing about.
      MindChild: To put your mind at ease, where I work, we are FORCED to use nothing but Borland development tools.
      MindChild: Sorry that everyone that disagrees with you is a "kiddie"
      MindChild: I mean, OBVIOUSLY I dont know what I am talking about

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
  144. Timeline includes 50 of the more than 2500 ... by thejuggler · · Score: 1

    documented programming languages. It is based on an original diagram created by Eric Levenez (http://www.levenez.com)

    If you read the lower left-hand side of the poster you'll see this statement plus more.

  145. Re:Functional programming languages dying? F# XSLT by iabervon · · Score: 1

    Functional languages, once created, don't change except by replacing the implementation with an equivalent one, obviously.

    The thing about functional languages is that they frequently don't act like programming languages are expected to. A Turing machine is a poor description of a functional programming environment, for example. This means that most of the influence that functional languages have is on things that aren't generally considered programming languages. They're great for the formal specification of things that process information, while allowing you to completely ignore the question of how they could possibly be implemented.

    Interestingly, as computer-generated code improves, it becomes increasingly possible to just let the compiler figure out how to write the (imperative) program, while just writing a functional specification for it. How does it work? Who cares, so long as it does what it's supposed to?

  146. Re:Functional programming languages dying? F# XSLT by RPoet · · Score: 2, Informative

    I don't see functional programming languages as dying at all. Caml has already been pointed out as a modern and viable language, and although F# is pointed to as an example of a functional language for .NET, I think Nemerle is every bit as cool.

    Also, although purely or almost-purely functional languages aren't that common or popular with the coding masses, the ideas and principles of the paradigm are slowly trickling down to the common languages. Things like algebraic datatype construction/deconstruction, as well as functions as first-class citizens aren't that uncommon any more.

    --
    "Oppression and harassment is a small price to pay to live in the land of the free." -- Montgomery Burns.
  147. You WIN! by danharan · · Score: 1
    What the hell! (Score:5, Troll)

    by teamhasnoi (554944) FriendFriend of a Friend on Thursday June 17, @02:26PM (#9454062)
    Heh, obviously marking insightful people at +3, FOAFs at +2 had something to do with the fact that I see a +5 Troll.

    And I think some mods here need to get laid more often. OK, I know, this is /., but obviously those mods have no sense of humour.
    --
    Information: "I want to be anthropomorphized"
    1. Re:You WIN! by teamhasnoi · · Score: 1
      I can get the shirt at last!

      Thank you sir, I will continue to post edutaining posts as long as I have strength in my fingers :)

  148. OCCAM not mentioned by ploppy · · Score: 2, Insightful

    OCCAM isn't mentioned (nor CSP from which it was derived). OCCAM was the parallel programming language of choice for the transputer back in the late 80s. While it was a little too PASCAL like it had some nice concepts borrowed from CSP. I'm surprised it didn't get a mention because at one time the transputer was the most advanced and innovative parallel processor around. But there again, both the transputer and OCCAM were British. Enough said.

    1. Re:OCCAM not mentioned by TwistedSquare · · Score: 2, Informative

      Nice to see someone else thinking that occam got missed. Incidentally it is still alive and well, one implementation is KRoC.

  149. Java in 1991!? by mackman · · Score: 2, Funny

    Of course it was called Oak back then. I guess I should update my resume to show 13 years Java experience instead of the lackluster 9 I lied about on my current one. Take that all you Java coders trying to find a job!

    1. Re:Java in 1991!? by Anonymous+Brave+Guy · · Score: 1
      I guess I should update my resume to show 13 years Java experience instead of the lackluster 9 I lied about on my current one.

      It won't help; all the Java job ads want 15+ years now. I hear you can get a job programming C# if you've got 9 years' experience in that, though.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  150. Re:Ha! I was right! by corngrower · · Score: 1
    When Pascal came out, it lacked a library of supporting functions, unlike the 'C' with the standard UNIX library. The proponents of Pascal were rather oblivious to the problem of using the language in a lot of practical applications.

    With 'C' and the supporting libraries you had interprocess communication, serial I/O, and better control of file I/O. Remember also back in those days that you could not link 'C' and Pascal modules together.

    When managers made plans to use Pascal on projects and the projects encountered major problems because of the limitations of the language, you can bet people were upset and bitter at those who had hawked the language as the best thing since sliced bread.

    Certainly Delphi doesn't have those problems. I think Delphi is a great programming environment, but alas, like you, it's pretty much relegated for stuff I do for fun.

  151. Rexx roots wrong by therexxman · · Score: 2, Informative

    Unfortunately there are a few glaring errors with the O'Reilly chart regarding Rexx.
    First is the roots of Rexx on the O'Reilly chart are from csh and awk (these languages have nothing to do with Rexx), but on the original chart from Éric Lévénez, it correctly states the roots of Rexx from PL/1.
    The second item missing is the 1996 ANSI Standard. Other languages have ANSI standard milestones, but not Rexx? It IS the only ANSI standard scripting language.
    Why the arrow for Rexx doesn't continue is also odd; I just released 3.3 of the ANSI standard Regina Rexx Interpreter in May 2004.
    Apart from these errors its good to see Rexx where it should be; ON TOP!!! :-)

    1. Re:Rexx roots wrong by dpigott · · Score: 1

      I thought Rexx came from EXtended EXecutor 2, but was heavily influenced by PL/I

      ref http://hopl.murdoch.edu.au/rexx

  152. Another one... by cheesy9999 · · Score: 2, Informative

    This has been around for awhile: http://www.levenez.com/lang/

    --
    -tom
  153. Mod Parent Up by corngrower · · Score: 1

    I remember seeing this before. It's easier to read than O'Reilly's copy as well.

  154. 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.

    1. Re:Perl is just as wrong by gauchopuro · · Score: 1
      Ruby, which is accurately reported as being a decendent of perl, could also have been graphed out better.

      In the Lightweight Languages 2 conference, "Matz," the creator of Ruby, said that Ruby has been accused of being a ripoff of Scheme, and he admitted that it is a ripoff of Scheme.

      A chart like this is interesting, and does show some patterns between languages, where did they get their data? Was it fabricated by some person or group of people, based on similarities and temporal proximities of languages?

      Computer languages all seem to borrow heavily from each other. No one starts from scratch when building languages; they take the best ideas from mathematics and from other existing computer languages to fit whatever need they are trying to fill.

    2. Re:Perl is just as wrong by voodoo1man · · Score: 2, Informative

      Currying didn't come from Lisp, but from ML or maybe Haskell (certainly the Haskell proponents seem to emphasize the wonders of currying a lot more than their ML counterparts). I'm familiar with a number of Lisp dialects, and none feature currying as a built-in feature, as it's mostly regarded as infrequently used syntactic sugar (between macros and good old fashioned sequential assignment, there's not a whole lot that can be done nearly as efficiently or succinctly with currying, and of course the currying operator itself is easy enough to implement using the former).

      --

      In the great CONS chain of life, you can either be the CAR or be in the CDR.

    3. Re:Perl is just as wrong by Anonymous Coward · · Score: 0

      Currying didn't come from Lisp, but from ML or maybe Haskell (certainly the Haskell proponents seem to emphasize the wonders of currying a lot more than their ML counterparts).

      Depends which ML you're talking about. SML programmers tend to pass arguments as tuples, but in the OCaml world currying is the standard way of passing multiple values to a function.

      And currying certainly came from Haskell - Haskell Curry the man, that is, not the language named after him!

    4. Re:Perl is just as wrong by that+_evil+_gleek · · Score: 1

      You left off forth; its forth like with it' respect to weird and a little hard to learn operators.
      And preponderance of. It's also forth-like w/ respect to its interpreter speed.

  155. Forth? by michael_cain · · Score: 1
    A quick check with Google didn't provide an answer -- does anyone know what was the earliest implementation of Forth for the 8080? It might not have been as early as Gates' BASIC, but given the ease of implementation, I would expect it to have appeared fairly quickly.

    Also, a similar and more complete language chart is available here.

  156. And Cube! by Anonymous Coward · · Score: 0

    Of course, I haven't publicised it, but I've been working on Cube for a while--a programming language for project management...it has basic concepts of cubes, cube farms, resources, tasks, schedules, etc..

  157. BASIC and Fortran by erice · · Score: 1

    I thought it was rather obvious that BASIC was derived from Fortran. But it is not on the chart that way.

  158. Brainf*** compiler for PPC by hak+hak · · Score: 1
    Here is a Brainf*** compiler for PowerPC. (You still need an assembler and C library, though (gcc works), and it's written in C.)
    #define X);break;case
    #define Y:printf(
    int c,l[99],n,p;main(){for(puts(".globl main;main:li 4,9999;bl calloc;mr 31,3");(c=getchar())+1;)switch(c){case'<':case'>'Y "addi 31,31,%s1;",c-'<'?"":"-"X'+':case'-'Y"lbz 3,0(31);addi 3,3,%s1;stb 3,0(31);",c-'-'?"":"-"X'.'Y"lbz 3,0(31);bl putchar;"X','Y"bl getchar;stb 3,0(31);"X'['Y"b%i:lbz 3,0(31);cmpi 0,3,0;beq e%1$i;",l[p++]=n++X']'Y"b b%i;e%1$i:",l[--p]);}puts("b exit");}

    (419 bytes; if you see &lt; and &gt; it should be < and >, of course.)

    I also made an optimising version of the compiler (not so obscured, though, and a lot bigger).

  159. So it was IBM all along and not microsoft by voss · · Score: 1

    Lets See IBM employees invented Fortran the worlds first programming language.

    IBM invented the PC as we know it.

    Now IBM is fighting to save linux from SCO.

    this almost makes up for the PCjr ;-)

  160. 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.

    1. Re:Delphi should have been the VB killer by Anonymous Coward · · Score: 0

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

      According to the Win32 port of the Great Computer Language Shootout, Delphi is faster than C++ for most purposes.

  161. Hypertalk is the ancestor of Applescript by Anonymous Coward · · Score: 0

    Yet it doesn't get a mention.

  162. GOO by Anonymous Coward · · Score: 0

    True, Arc is currently vapor, but GOO, a project in the same vein, is already functional (pardon the pun).

  163. Did too. by jellybear · · Score: 1

    They developed the first the first commercial programming language for a personal microcomputer by:

    1. taking a non-commercial programming language for a personal microcomputer

    2. commercializing it

    3 ...

    bah... I'm not even going to bother saying it...

  164. Why is this important? by Anonymous Coward · · Score: 0

    Why is this important?

    People are dying, starving, killing one another, put in prisons, tortured - huge injustices being perpetrated as we read and write here - and you want to talk about a freaking poster?

    Slashdot has the power to be relevant. All it is right now is silly.

  165. Algol 60 and Latin by dbk25 · · Score: 1

    A very nice chart. In many ways, Algol 60 is the Latin of programming languages. It's effectively a dead language (how much new programming is done in Algol 60?), and but it's concepts, structures and syntax are the underpinnings of many of the major modern languages.

  166. Re:yay Lingo! by rush22 · · Score: 1

    woooo! At first I hated Lingo, but I got used to it eventually. The also don't have Hypertalk (for Hypercard) in there either :/.

    I see actionScript on here, but not Lingo (for Macromedia Director). I think there are others missing, too. I guess O'Reilly hasn't published a Lingo book.

    ....or maybe Lingo is a "liberally biased" programming language?

  167. Lisp-RPG? by Anonymous Coward · · Score: 0

    "A real shame. If something like Arc had the kind of corporate drive behind it that Java has had (Sun, IBM, Oracle, etc.), it could be spectacular, but it would be a language for smart, expensive developers, not one for masses of cheap, interchangeable coding drones, and the big companies seem to feel more need for the latter"

    So is there any project to bring LISP to ECLIPSE? A good IDE with a strong CPAN repository would help.

    BTW Were's RPG?

  168. Re:Functional programming languages dying? F# XSLT by Anonymous Coward · · Score: 0

    I've heard rumors of F# from Microsoft but I don't know if that is true.

    "There are no current plans to commercialize F#, and the source code for the F# compiler is due to be published in June 2004."

    On a separate note, XSLT, which isn't a programming language in the traditional sense, is functional in its design. I think the designers of XSLT really put some thought into it. In any event, XSLT doesn't have any side effects, making it a functional language in a sense, and this means that it also should scale really well on massively parallell systems.

    XSLT has some nasty problems, aside from the obviously ugly syntax. Unfortunatly I've forgotten most of them, but I do remember that you need a deeper stack than most implementations provide to do anything complex. (I was trying to output plain text with word wrapping.)

  169. COBOL by Trejkaz · · Score: 1

    I find it amusing that they have an arrow on COBOL's line, implying that it's still advancing.

    --
    Karma: It's all a bunch of tree-huggin' hippy crap!
  170. Re:Functional programming languages dying? F# XSLT by bruthasj · · Score: 1

    So, I guess the theory behind functional languages live on in one of the hottest technologies around today.

    Also, the last version of Prolog was in -97. Pity, you can really do some magic in that language.


    I think you will see vistages of functional languages implemented in a lot of derivative languages even if they are inherently declarative. For example, aspects of anonymous functions, curried functions, etc. can be utilized in languages generally thought to be non-functional. Case in point, Python.

    Additionally, I wouldn't classify Prolog as really a functional programming language like Erlang, ML, etc. Although Erlang was developed utilizing Prolog, you cannot make bona fide function declarations in Prolog. Prolog really deserves its own classification: a logic programming language.

    See The Wiki for more details.

  171. Re:Delphi from BP from TP by nimblebrain · · Score: 1

    There's a pallid yellow line jumping up from Borland Pascal Object to Delphi, which you can just barely make out crossing the snake in the background.

    The missing piece that gets me is Borland Pascal Object starting from scratch in 1989 from Pascal AFNOR.

    That's news to me who was working at the time, and TP 5.5 with the new object extensions came out, giving me an Object-Oriented Programming manual to pore through. It was a relatively natural extension of TP 5.0 syntax, which was already miles away (especially with its strings and units) from old UCSD Pascal.

    That line should extend back to 1983 for Turbo Pascal 1.0.

    IMHO-tep :)

    --
    Binary geeks can count to 1,023 on their fingers :)
  172. I learned a 3GL that came from a 2GL... RPG II by Degrees · · Score: 1
    RPG is one of those languages that is higher up than assembly, but barely. We had a manager who had a wiring board in her office. It was from the mainframe days when the card sorter was a separate machine from the 'CPU'. Point being, in RPG II, I could 'see' the wiring board in the source code.

    With RPG II, we had conditional loops and CASE statements, but no pointers. Still, some large business systems were written in RPG. One wouldn't expect a G/L, A/P, and A/R system to be written in assembler. They *could* be, but using a language built around records and the cycle of output, input, calculate makes more sense than trying it in assembler.

    Today, RPG/400 is still going, installed on every IBM AS/400 sold. Of course, the language now has strong ties to the built in AS/400 database....

    I wouldn't be surprised if today IBM has added 4GL components to the language. ;-)

    --
    "The most sensible request of government we make is not, "Do something!" But "Quit it!"
    1. Re:I learned a 3GL that came from a 2GL... RPG II by vacuum_tuber · · Score: 1

      Degrees wrote:

      RPG is one of those languages that is higher up than assembly, but barely. We had a manager who had a wiring board in her office. It was from the mainframe days when the card sorter was a separate machine from the 'CPU'.

      You seem to be mixing together two distinct generations of computing. Tabulating card machines came before mainframes and coexisted with mainframes for some years, but had little directly to do with mainframes. Entire operations worked with cards and plugboard-programmed tab card machines -- sorters, collaters, duplicators, report machines, and perhaps a few others. No "CPU" needed.

      Point being, in RPG II, I could 'see' the wiring board in the source code.

      True. RPG was developed by IBM, as I understand it, to provide an upward path for all those tab-card-machine plugboard programmers. That's why it closely mapped the plugboard metaphor in its early version.

      ...One wouldn't expect a G/L, A/P, and A/R system to be written in assembler. They *could* be, but using a language built around records and the cycle of output, input, calculate makes more sense than trying it in assembler.

      You may not be aware that major applications were commonly written in assembly language, including in the mainframe arena. Classified job ads of the late 1960s well into the 1970s were as full of IBM BAL Programmer positions as they were of COBOL Programmer positions.

      In Wang VS Assembler (a 360/370-like machine but with stacks and an entirely different, interactive OS), for example, it is a matter of one line to open a file for input, output or, for some file types, shared access. That's any type of file -- consecutive, indexed, alt-indexed, relative, print, object, etc. Simple block mode workstation I/O can be done in a few lines and a few more lines of variables and some constants. It is therefore possible to write a program in a few tens of lines that, say, solicits first name, last name, address, city, state and ZIP and builds an alternate indexed file from the entries and then retrieves records on demand by any of those fields. Maybe a few score of lines.

      Macros in Assembler were developed to a high art. A macro to open a file might contain hundreds of lines in its source, with conditional assembly pseudo-ops for decision logic, to munch the almost English-like single statement the programmer used to open the file. The macro would expand into a customized set of mostly PUSH operations to set things up to invoke the OPEN SVC instruction, which in turn generated an interrupt and was acted on by the OS.

      Other seemingly complex things were as easy to do as opening a file. A screen full of parameters to be filled in by a calling program or procedure could be generated with some variables and a simple macro call or two. The result might only display on the workstation for human intervention if it failed to pick up all its necessary fields from some higher level program or procedure.

      Essentially all the complex operations involving interaction with the OS and file system were packaged into macros, leaving only the actual data manipulation and decision logic to be written in seemingly cryptic Assembler that actually generated machine instructions one-for one.

      Oh yes... since the hardware directly supported not only binary floating point but decimal floating point, pretty complex calculations could be done directly in Assembler.

      Last, there are still quite a few of those Wang VS machines in production roles around the world. They've been extremely difficult and expensive to replace. And they're about to make a comeback. Film at 11.

      --
      Look at the bright side: there's always seppuku.
    2. Re:I learned a 3GL that came from a 2GL... RPG II by Degrees · · Score: 1
      Interesting stuff. It is true that I only know about the card-sorting machines anecdotally - people I've worked with ran them, and told me about them. I started in computers right at the cusp of the punched card --> CRT conversion (1979).

      Similarly, my only assember experience was figuring out a couple Intel 8080 programs, and typing in and calling an assembler routine from one of my RPG II programs (Remember the days when magazines printed code you could use yourself?). So for assembler, I knew just enough to see what was going on, not enough to really do anything.

      This particular thread of posts was discussing the candidacy of assembler for inclusion in the O'Reilly poster. The point I was trying to make was that this particular 3GL language, RPG II, really did qualify, and it came from a 2GL language, so assembler probably qualifies as well.

      Your point about whole systems being written in assembler is both informative and sets straight my (incorrect) assumptions.

      Thank you. :-)

      --
      "The most sensible request of government we make is not, "Do something!" But "Quit it!"
    3. Re:I learned a 3GL that came from a 2GL... RPG II by Inthewire · · Score: 1

      I work with a bunch of RPG programmers.
      I used to work with a bigger bunch of RPG programmers, but they keep killing themselves.

      I wonder what a batch-processed mass suicide looks like?

      --


      Writers imply. Readers infer.
    4. Re:I learned a 3GL that came from a 2GL... RPG II by Degrees · · Score: 1
      That made me chuckle.

      Hmmmm... do I try to squeeze parts of myself into card punch? Maybe fully unwrap 9-track tape, hook it aound my neck and execute a tape seek to end....

      Hmmm... I truly don't know what batch processed mass suicide looks like. However, I do know how to find out.

      Tell your programmers you need access to where they store their source code, and tell them to set it up so you can use Linux to run their code. You tell them its a porting project, but you need write access to put a log file in (to keep track of which code has been tested and which has not).

      Then you run a perl program on all the source code, and for calc records, move the result indicators from one line to be the calc indicators for the next line. Do that on all file names have an A in them, and do a vice-versa on the files with names shorter than eight characters or contain the letter P. Maybe shift the input record result indicators over by three bytes, too.

      Be sure to have wiped/pilfered the source code backups, first. If you plan it a few months in advance, be sure to bring termites in and turn them loose on all those stacks of green-bar in the binders.

      Yup, that'll do it. Sit back with a video camera, get that first batch processed mass suicide on tape! ;-)

      --
      "The most sensible request of government we make is not, "Do something!" But "Quit it!"
  173. it doesn't include VRML by Vthornheart · · Score: 1

    you insensitive clod!

    --
    -Vendal Thornheart
  174. Re:Functional programming languages dying? F# XSLT by Bovineck · · Score: 1

    I think it's F$%@ from Microsoft...

  175. This is the stupidest/worthless timeline... by gmezero · · Score: 1

    They list every stupid iteration of Cobal, SmallTalk and every other Berkinstock loving language, but under Basic we have "Basic", "MS Basic" and "Visual Basic"!?! WTFIUWT, how about Interger Basic, Applesoft Basic, GW Basic, Real Basic, Basic under VMS, etc...? I was coding in a Basic language in 1980-82 at the least on an Apple //+! Just to pick on the Basic line for starts.

    This looks more like a mostly Mainframe/X86 centric chart. I call b*llsh*t. This is almost as lame as the new season of Last Comic^H^H^H^H^HReality Contestant Standing.

    1. Re:This is the stupidest/worthless timeline... by basics · · Score: 0

      The first programming I ever did was in ti-basic on my graphing calculator!!

    2. Re:This is the stupidest/worthless timeline... by Anonymous Coward · · Score: 0

      Preach On Brother!


      I was looking for the same things.

      It's a nice timeline, but completely biased and not even remotely an entire history of programming languages.
    3. Re:This is the stupidest/worthless timeline... by elmegil · · Score: 1

      You forgot eBasic--free form, line numbers only needed for GOTO targets, I believe it was a Navy variant.

      --
      7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
  176. Missing option by fpga_guy · · Score: 1
    What about Brainfuck?

  177. Re:Functional programming languages dying? F# XSLT by Anonymous Coward · · Score: 0
    yes


    as we all know, much of bsd is written in c. therefore c is dying.

  178. Re:BASIC, origin of. by rush22 · · Score: 2, Informative

    "BASIC (standing for Beginner's All Purpose Symbolic Instruction Code) was written (invented) in 1963, at Dartmouth College, by mathematicians John George Kemeny and Tom Kurtzas[sic] as a teaching tool for undergraduates. BASIC has been one of the most commonly used computer programming languages, a simple computer language considered an easy step for students to learn before more powerful languages such as FORTRAN" (Kurtz is the correct spelling)

    http://inventors.about.com/library/inventors/blbas ic.htm

    So the first version of BASIC that was ever written was Dartmouth BASIC and it ran on a GE-265 mainframe (created by General Electric). A bit of trivia: The first BASIC program ran on May 1, 1964 at 4:00 am.

    http://www.columbia.edu/~jrh29/kemeny.html
    http://en.wikipedia.org/wiki/BASIC_programming_lan guage#History (has a big list of dialects)

    Bill Gates, Paul Allen, and Monte Davidoff wrote a version of the BASIC programming language for the Altair in 1975, which, incidentally, was Microsoft's first product--he went on to produce BASIC interpreters for many different processors.

    Apple and Microsoft: The first BASIC for Apple, called Integer BASIC was written by Steve Wozniak. Microsoft offered to sell them their BASIC but Steve Jobs told them they already had one, and if needed, they "could write a better one in a weekend". Apple later needed a floating-point version of BASIC, and since Wozniak was too busy with other projects, they bought Microsoft's floating-point BASIC--it was called Applesoft. As is the standard with Microsoft products, there were initially some bugs, instability, and memory hogging that had to be worked out. Some speculate that if Apple hadn't bought Microsoft's version, Microsoft would have gone under--Apple was able to buy it for a flat fee of $10,500 (and no royalties).

    http://apple2history.org/history/ah16.html#Appleso ftI

  179. Stunt Island by rush22 · · Score: 1

    what about the Stunt Island programming language, that counts doesn't it? :D

  180. Eclipse by GCP · · Score: 1

    There was a guy working on Lisp for Eclipse, and he got a lot of people so interested that he sort of ended up saying, "Never mind. It's nothing really, just a little experiment. Go away and leave me alone!" So, who knows....

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  181. I would have said "not Pascal-like enough" by N+Monkey · · Score: 1

    While it was a little too PASCAL
    As a professional OCCAM programmer for 3 years I would have said they should have made it more like Pascal (or C)

    Occam "convenienty" featured:

    1) No decent data structures (i.e. records/structs). You had the choice of an array or an array.

    2) Had no recursion. I guess this saved them having to do dynamic memory management and helped the "provability" of the language, but it was a pain to do my ray tracing code.

    3) Only had pre-tested loops.

    4) No pointers/dynamic memory (but there were ways of hacking around that).

    Some features, OTOH, were nice, such as array slices and automatic array bounds checking, and the ease of doing multi-threading was wonderful.

    Simon

  182. What about Al .... ? by kabz · · Score: 1

    Wasn't the first programming language invented by Al Gore ?

    --
    -- "It's not stalking if you're married!" My Wife.
  183. This site has more languages by ulrikp · · Score: 2, Interesting

    The HOPL is an "Interactive historical roster of computer languages". It has more languages, but also contain non-programming languages (like query-languages).

    The editor of the site has made two color-coded posters: Version 1 and Version 2.

    Other lists are here, here and here.

    Ulrik

  184. Re:yay Lingo! by Lego-Lad · · Score: 1

    I agree - I've gotten used to Lingo, but it's not my favortie. The new director allows for JavaScript, which is kinda neat.

  185. Arrow from Obj Pascal is Extremely faint. by Giggle+Stick · · Score: 1

    On my Laptop LCD I can barely see it even if I am oriented exactly at a right angle to the screen. It's only a hair's shade different than the background color. I too thought it odd that Delphi said it came from VB, now it makes more sense when I see there are two arrows.

  186. Not quite complete: Quo vadis FORTH? by jbaltz · · Score: 1

    FORTH didn't die spectacularly after OO Forth; Chuck Moore is even working on a follow-on. Moreover, NEON was an OO Forth that was in use by at least 1986, 'cause I was using it then as a summer programmer.

    Grr.

    --
    I am the Lorvax, I speak for the machines.
  187. Notable errors and omissions. by voodoo1man · · Score: 2, Insightful
    O'Reilly's and Levenez's original charts include a number of errors and omissions. Many have already been pointed out by other posters, but I'll nonetheless compile my own list, in the order of what I think is decreasing importance. Guide to the symbols used: $ Error in both charts. * Error in O'Reilly's chart.

    • $ - CLOS is listed as a separate language. The Common Lisp Object System, as it's name implies, is an object-oriented extension to Common Lisp. Why they thought it was a separate programming language is beyond me.
    • $ - No ANS Forth. The ANSI Forth specification was ratified in 1994, and is known as ANSI X3.215-1994.
    • $ - No Lisp dialects between 1.6 and Common Lisp. This is an incredibly glaring omission. There were a number of widely used, divergent dialects of Lisp after 1.6, the chief two being MIT's MACLISP and BBN/Xerox Interlisp, both of which were used well into the 80s and had a major influence on Common Lisp, among other languages. This is not to mention the other dialects of Lisp left out (the principal ones I can think of are Portable Standard Lisp, EU_LISP, Le Lisp, Lisp Machine Lisp).
    • $ - No ISLISP or XLISP. ISLISP became an ISO standard in 1997, and is a subset of Common Lisp with additions from several European Lisp dialects. XLISP, on which AutoLisp is based, became available for PCs in the late 80s, and due to the popularity of AutoCad was for a time the most widely used dialect of Lisp.
    • $ - No StarLogo. StarLogo is a parallel version of Logo which was developed at MIT in the late 90s. It's used in a lot of grade-school computer courses.
    • * - Haskell has an arrow pointing to CLOS. Not only is CLOS it's own language, apparently it is also a purely functional one. Again, where this was pulled out of remains a mystery.
    • $ - No R^3, R^4 Scheme revisions. PHP has a box for every 0.0.x revision. They could have at least acknowledged the major revisions of other languages (and of course Scheme is not the only language this applies to!).
    • $ - No Squeak. Squeak is a derivative of Smalltalk started by Alan Kay and Dan Ingalls (among others) in 1994. Today it is the most popular Open Source Smalltalk.

    There are also a lot of languages that can be included, like Carl Hewitt's PLANNER (MIT's precursor to Prolog) and ACTORS (a purely message-passing object-oriented formalism that predated Smalltalk, and had several implementations and a lot of influence on other object-oriented languages).

    All in all, I think both charts are pretty lame. O'Reilly should have at least solicited public comments before producing such a factually erroneous telling of history. This is altogether more surprising considering that O'Reilly is not a general publisher but instead specializes (in what they claim are) accurate technical manuscripts.

    --

    In the great CONS chain of life, you can either be the CAR or be in the CDR.

  188. Where is a language with the power of Lisp and the ease of Python?

    Ruby isn't that language, but it's close enough that you ought to look at it. Code blocks allow an amount of syntactic extensibility that's much smaller than Lisp, but still quite useful.

  189. Somebody raise the parent post... by daehrednud · · Score: 1

    it's f'ing hilarious

  190. Ruby can probably do that. by Estanislao+Mart�nez · · Score: 1
    In Ruby, the most common way to create a class is to use a class ... end block, but you can also do it in a more OOP way by using a class method of Class:
    MyClass = Class.new do
    # class-scope definitions
    end
    This is just a call the new method of class Class; it creates the class, executes all the statements in the block within the scope of the class, and assigns the Class object to the constant MyClass.

    It is also possible to subclass Class to make your own kinds of classes; the Class class provides a inherited hook to catch when somebody inherits from it, and its superclass Module has a method_added hook.

    I'm not sure what kind of behavior you want to overload the normal Python class and def statements to do, but I suspect you have multiple workarounds to do what you want in Ruby. Two ideas:

    1. Don't use the class statement; subclass Class to MyClass, implement the behavior you want, and create classes of your new kind by calling MyClass.new with a block. Then you instantiate them normally.
    2. Create MyBehavior as a plain old vanilla class (or maybe as a mixin module, haven't thought it through) which implements the behavior you want. The classes with the behavior you want should subclass MyBehavior (or if you use a mixin, declare include MyBehavior at the top).
    As to how to modify the behavior of methods, look at the ExampleDate.once method in this chapter of Programming Ruby (search for "Tadayoshi Funaba"), for an example of Ruby code that modifies the behavior of a method (by renaming it and replacing it with a wrapper). In this example it needs to be requested explicitly, but a class can intercept method creation and do this sort of thing automatically for all methods.
  191. Re:Ha! I was right! by Anonymous Coward · · Score: 0

    No, they haven't gone anywhere... which can be seen as their downfalling or a blessing. My comment was more intended as a "gee... I've had my nose buried in this damned Micro$oft IDE instead of the nice Borland IDE I grew to know and love so long ago."

    A man once said to me, "An engineer is only as good as his tools."

    If you use the wrong tool, you end up with ... side effects... which take on many forms: Bloat, slowness, null pointer de-references, incorrect short-circuit behavior, etc. Thankfully, the Borland IDEs from the mid-'90s were so robust that when I started using them, I ended up producing the smallest, fastest, most-fault-tolerant code I've yet to reproduce using a modern IDE without serious tweaking of compiler options squirrelled away in sub-menus of sub-menus of tab bars that extend for miles or in .rc or .ini files that are cryptic, at best. Not saying Borland's current IDEs aren't modern -- they *are* quite modern, however, they're a bit pricy, and I haven't had cash to pay for them since the Internet started to get big.... *sigh*

  192. Re:yay Lingo! by rush22 · · Score: 1

    =o Javascript?? for what?

  193. Favorite Larry Wall quote by jschrod · · Score: 1
    This topic reminds me of my favorite Larry Wall quote, long time ago in some newsgroup:

    Drew Mills writes:
    : A contest to see who could write the most useful script that could
    : actually be used in the most languages *as is* [...]

    I've written some scripts that work in 582 different languages,
    all of them named sh.
    He wrote of Configure, of course. "Congratulations. You aren't running Eunice." Ah, those memories...
    --

    Joachim

    People don't write Manifestos any more -- what's going on in this world? [Frank Zappa]

  194. Dictionary of Programming Languages by Ricardo+Dias+Marques · · Score: 1

    Hi,

    Besides THE Language list (which is also linked to in the story), I also like the Dictionary of Programming Languages, which includes the Language Type and a Description / History for MANY Programming Languages.

    In a more "practical" side, it's also interesting / funny to read 99 Bottles of Beer - one program in 620 variations

  195. Strings?? Who needs strings!? by Anonymous Coward · · Score: 0

    You don't need to steenkin' strings or any of that other fancy crap. You can make up your own strings (and numbers too!) from lists of lists.

  196. Too technical for Slashdot? by Anonymous Coward · · Score: 0

    > I see your "Turing Complete" and raise you a "Von Neuman Machine". Random use of technical terms are always good for a few mod points.

    The term Turing-complete is specific to the taxonomy of computer languages. Just because they didn't cover it when you got your MCSE doesn't mean it is a random term!

  197. A bigger history of programming languages chart by dpigott · · Score: 1

    If you want a bigger and more comprehensive chart, I have been working on one at http://hopl.murdoch.edu.au
    as part of my research

    It isn't quite up to date, but it has more than 2,500 languages on it FWIW. That's only a third of the languages in my encyclopaedia (about 3,500 should be on it, but I hate mucking around in graphiz over 2000 nodes). THe actual chart is 60cm * 507cm

    Anyway, the chart is part of an experiment in organising history of ideas on charts, and is one of a series of five (level 2 to be exact)

    You can find it here:

    http://hopl.murdoch.edu.au/images/genealogies/te st er-country.pdf

    If people are interested I will upload the other ones as well

    For the grumblers among you - the thing looks best in IE, and there are bugs in the Javascript. Sorry if that's a problem for you.