Slashdot Mirror


A Brief History of Programming Languages?

Aviancer asks: "French computer historian Éric Lévénez has compiled a family tree of programming languages that I found quite interesting. This prompted me to wonder if there was any controversy on the issue of language lineage and my searches found another page on the same topic. I thought I'd pull an 'ask the audience' to see if there were any corrections on either (both?) pages to be made." What other computing language origins are you aware of that may not be mentioned in either page?

598 comments

  1. I finally found Simula by Sheetrock · · Score: 4, Interesting
    I can't believe that was made back in the 60's.

    It is (a) percursor to object-oriented languages such as Smalltalk and C++, and was the first strongly-typed language (Python being the most recent.)

    --

    Try not. Do or do not, there is no try.
    -- Dr. Spock, stardate 2822-3.




    1. Re:I finally found Simula by Homology · · Score: 2, Interesting
      I can't believe that was made back in the 60's.

      Actually, my first exposure to object oriented programming was in Simula when I took a programming course in early 90'ies.

    2. Re:I finally found Simula by joto · · Score: 4, Interesting
      Exactly an example of the kind of discussion the original poster intended. The diagram shows Simula as a precursor for SmallTalk. Which is true if you look at time, but probably not if you look at causality. It's very likely the people who invented SmallTalk didn't even know about Simula, or realized that it was "object-oriented".

      C++ on the other hand, was heavily influenced by Simula, as Stroustrup has told in numerous interviews, books, articles, etc...

      Whatever you mean by Python being the most recent strongly-typed language, I can't even imagine. If you haven't found a newer strongly typed language, you can't have looked very far. Wether Python really is strongly typed is also up for discussion, but mostly because there is no clear definition of what this implies.

    3. Re:I finally found Simula by pilgrim23 · · Score: 1

      PROC OPTIONS (MAIN);
      PUT LIST 'PL/I dates from 1964? GADS!';
      END;
      and my 029 keypunch machine never worked well unless it was all caps.....not to mention PL/I didn't know lower case

      --
      - Minutus cantorum, minutus balorum, minutus carborata descendum pantorum.
    4. Re:I finally found Simula by johnnyb · · Score: 1

      What I didn't like about the PDF one (haven't looked at the other) is that Python is missing a lot of influences. It has influences from both Lisp and Smalltalk, and considers itself to be the modern-day version of each.

    5. Re:I finally found Simula by dar · · Score: 2, Funny

      Python considers itself? How anthropomorphic.

      --
      My other Slashdot ID is much lower.
    6. Re:I finally found Simula by khallow · · Score: 2, Insightful

      Yes, it thinks so too. But you gotta empathize with the programmers if you want to figure out what they really meant.

    7. Re:I finally found Simula by Anonymous Coward · · Score: 0

      I am pretty sure that Alan Kay, the so called creator or Smalltalk, did know simula. Remember reading something about him and a friend lining the source to some simula compiler in the hall somewhere and them being at different ends shouting "discoveries" to each other.

    8. Re:I finally found Simula by alangmead · · Score: 3, Informative

      In the interview Daddy, Are we There Yet Alan Kay mentions that he read a paper on Simula in 1966. As he says in the interview much is lost to the programming community because we don't have a good sense of history.

    9. Re:I finally found Simula by WGR · · Score: 1
      When I was at U of Waterloo in the late 60's, I read a book called SIMULA Begin that revolutionized my thinking about programs. Instead of of a programmer trying to foresee every possible input to a program and handle it, it showed how to program by having objects interact more like people do with a problem. One looked at a problem by trying to model they way a group of people would handle it by assigning different parts to "specialists". AEach specialist would have certain skills and certain tools and would work on the part that it was best at, keeping track of its own data etc, then passing it on to the next object to further refine the problem. Really revolutionary at the time but obvious today.

      Unfortunately I could not get hold of the compiler to play with the language and it was not until 15 years later that there were any freely available languages that had the same power.

    10. Re:I finally found Simula by chthon · · Score: 2, Informative

      You should try to find an archive containing old Byte Magazines. When Smalltalk-82 came out, they devoted a whole magazine to it and the Xerox Alto.

      In the magazine you will find that the people based Smalltalk indeed on the work done for Simula, also for the first version of Smalltalk (Smalltalk-76, I think).

    11. Re:I finally found Simula by joedeveloper · · Score: 1
      "Strongly-typed" may have one of several incompatible meanings, depending on context. A programming language that is not strongly-typed is called weakly-typed. Some of the meanings that have been ascribed to "strongly-typed" include:
      1. A language is strongly typed if type annotations are associated with variable names, rather than with values. If types are attached to values, it is weakly typed.
      2. A language is strongly typed if it contains compile-time checks for type constraint violations. If all checking is deferred to run time, it is weakly typed.
      3. A language is strongly typed if it contains compile- or run-time checks for type constraint violations. If no checking is done, it is weakly typed.
      4. A language is strongly typed if conversions between different types are forbidden. If such conversions are allowed, it is weakly typed.
      5. A language is strongly typed if conversions between different types must be indicated explicitly. If implicit conversions are performed, it is weakly typed.
      6. A language is strongly typed if there is no language-level way to disable or evade the type system. If there are C-style casts or other type-evasive mechanisms, it is weakly typed.
      7. A language is strongly typed if it has a complex, fine-grained type system with compound types. If it has only a few types, or only scalar types, it is weakly typed.
      8. A language is strongly typed if the type of its data objects is fixed and does not vary over the lifetime of the object. If the type of a datum can change, the language is weakly typed. (This property is often, and less ambiguously, called "static typing.")
      Note that some of these definitions are contradictory, while others are merely orthogonal. Because there is no generally-agreed meaning for the phrase "strongly-typed language," it is possible to find authoritative statements that many languages both are and are not strongly-typed. For example, under definitions 1, 7, and 8, the C language is strongly typed; under 4, 5, and 6 it is weakly typed -- with definitions 2 and 3 open for further debate since C does perform type checks for compound types but not for scalar or array types. Accordingly, it is easy to find people who will claim that C is a "strongly-typed" language and others who will claim that it is a "weakly-typed" language. Programming language expert Benjamin C. Pierce has said: I spent a few weeks . . . trying to sort out the terminology of "strongly typed," "statically typed," "safe," etc., and found it amazingly difficult. . . . The usage of these terms is so various as to render them almost useless.
    12. Re:I finally found Simula by sjames · · Score: 2, Insightful

      Python considers itself? How anthropomorphic.

      Well, it does support introspection, after all.

    13. Re:I finally found Simula by joel.neely · · Score: 1

      Please re-examine the chart; Simula is a direct descendent of ALGOL-60 which was strongly typed. That's why block-structured, typed languages were referred to for years as "ALGOL-like languages". (I can't speak from personal knowledge regarding ALGOL-58/IAL, but I believe it was never actually implemented, thus making ALGOL-60 arguably the first strongly typed language in that part of the family tree.)

    14. Re:I finally found Simula by Anonymous Coward · · Score: 0
      Your sig, apparently:

      Try not. Do or do not, there is no try.
      -- Dr. Spock, stardate 2822.3.


      WTF? Are you trying to insult us? Twice in one misquote?
  2. This has been around forever by MattGWU · · Score: 5, Informative

    Might have been updated lately, though. Always interesting, though. There's one for UNIX, too.

    --
    "These people look deep within my soul and assign me a number based on the order in which I joined" --Homer re:
    1. Re:This has been around forever by Albigg · · Score: 1

      Hmm, I don't see DG/UX anywhere on the UNIX version. Am I just blind? Does anyone else see it?

  3. looks familiar by ambrosine10 · · Score: 4, Informative
  4. no RPG? by Anonymous Coward · · Score: 1, Informative

    Better not tell IBM!

    1. Re:no RPG? by Anonymous Coward · · Score: 1, Funny

      Better not tell Duke Nukem, either.

    2. Re:no RPG? by slapout · · Score: 1

      I had to take that in school. Only language that I dislike more than Cobol....

      I saw a thing a year or two ago about people who still code in it. They were excited because in the new release you could have sub routines now!

      --
      Coder's Stone: The programming language quick ref for iPad
    3. Re:no RPG? by Anonymous Coward · · Score: 0

      nice flamebait...I was coding subroutines in RPG back in 1985...stay off the crack and your memory will be better.

      And just like so many other languages, you can create separate modules of reusable code and link them together into an executable..blah blah blah...It's no different than C...dynamic memory allocation, pointers, pointer math, function pointers...

    4. Re:no RPG? by TykeClone · · Score: 1
      I programmed in RPG for a couple of years - it's a decenct language for what it was meant to do - and (much like most other languages) has grown as the years have progressed.

      RPG makes accessing the native AS/400 database trivial, and laying out reports is very easy, as was green screen terminal programming. Just like any other language, it does some things easily and other things take some doing.

      I've not programmed in RPG in 8 years, so I'm sure that it's changed and advanced since then, but it was a decent language when I was using it.

      --
      A fine is a tax you pay for doing wrong and a tax is a fine you pay for doing all right.
    5. Re:no RPG? by budgenator · · Score: 1

      I remember taking my final exam in RPG II, my program didn't work, the thing refused to fetch the headers in the new page. No matter what I did it wouldn't work correctly, the instructor looked at the code and finaly decided I had found an obsure compiler bug.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    6. Re:no RPG? by ammd · · Score: 1

      A year or two ago? Better try 20 or 30 years ago!!! I'm programming in RPG IV as I write this. Today you even have free format RPG where you don't have to put everything in specific columns (factor1, Operation, factor2, result, etc). You don't have to use indicators anymore if you don't want to and I haven't typed a GOTO sentence since... I guess never, since RPG has If, Do While, Do Until since the old days of S/36. The people that put together those charts think they know everything... well, they are showing they don't! Oh, what do I care... I made a career and tons of money with RPG and AS/400 Goodbye.

    7. Re:no RPG? by mbrewthx · · Score: 1

      Thanks for clarifying this, you beat me to the punch. I started programming RPG II in High School on a S/36 in 1985 and loved it. Had some experience with Baby/36 RPG II. Haven't done any RPG in years, I won a programming competition using RPG II, so it will always hold a special place in my heart. Thinking about picking up a AS/400 to do some RPG programming just for the fun of it.

      --
      __________ Leave me alone I'm compiling a RPG II program on my S/36...Thanks to metamucil I'm a Regular Meta Moderator
    8. Re:no RPG? by iggymanz · · Score: 1

      having coded in both, I can tell you RPG-II or III is much more powerful than COBOL, there's like a 10 to 1 ratio of lines of COBOL to lines of RPG to do report writing or VSAM based file updates. It's like the Perl of the 60's, quick and dirty.

    9. Re:no RPG? by mrhartwig · · Score: 1

      Interesting. I never knew (or, quite possibly, had forgotten) that RPG had anything to do, specifically, with IBM. I first encountered RPG-II while in college, on our HP minicomputer -- I believe a 3000, but the memories are a bit fuzzy... :-(

      Now that I read these posts (and the Wikipedia article -- http://en.wikipedia.org/wiki/RPG_programming_langu age -- it makes sense. I believe the school had an IBM S/3 before the HP, and they probably still had old RPG programs that worked Well Enough & wanted to keep.

      I could wax on in Oldtimer Mode some more, and talk about carrying my coding forms uphill in the snow (both directions) but I'll spare you youngsters. Shoot, this was the late 70's; some of you think the Oldies songs on the radio are newer than that....

      Thanks; I learned something today. The fact that it was trivia is irrelevant; I'm calling it a day. :-)

    10. Re:no RPG? by jonadab · · Score: 1

      > could wax on in Oldtimer Mode some more, and talk about carrying my coding
      > forms uphill in the snow (both directions) but I'll spare you youngsters.
      > Shoot, this was the late 70's; some of you think the Oldies songs on the
      > radio are newer than that....

      Oh, don't get me started on that noise they try to pass off as music these
      days. Bah, twentieth-century "music" is all a bunch of new-fangled garbage.
      Most of it doesn't even have counterpoint -- I'm not sure where they get off
      calling it music if it doesn't have counterpoint. Preposterous. Music
      without counterpoint, bah, what's next, candy without sugar? Beer without
      alcohol? Back in my day we wouldn't have stood for such things. We listened
      to fugue -- real music with real character -- and the candy we ate rotted
      our teeth, and people who drank beer got drunk -- and they liked it that way.

      Come back here, you little rapscallion, I'm not through with you yet,
      whippersnapper...

      --
      Cut that out, or I will ship you to Norilsk in a box.
    11. Re:no RPG? by ammd · · Score: 1

      I found this website http://www.netshare400.com/. They claim that if you join their Open Source projects they give you access to a iSeries (AS/400) for free. If you don't, you still can get a Student access for $10 a month. I myself am considering the $15 Personal Developers option for some personal projects. Also, you can take a look at some ILE RPG source samples and see how much the language has evolved. BTW, I practically started my professional career with RPG II on S/36.

    12. Re:no RPG? by bl00d · · Score: 1

      I am still doing some coding in RPG II! :) Been working with it since the S/34 days. Still have a few clients around that run AS/36's (AS/400's in S/36 emulation).

    13. Re:no RPG? by ammd · · Score: 1

      Long live IBM's midrange family!!!

  5. i learned something today by babygodzilla · · Score: 1

    i never thought smalltalk dates back so far... i think i saw something like this on Wired a couple years back

    1. Re:i learned something today by Homology · · Score: 1
      i never thought smalltalk dates back so far... i think i saw something like this on Wired a couple years back

      Just shows that good ideas survives for a very long time, and quite often re-surfaces when the time is right for general acceptance. Those original creators usually had to take alot of criticism for their "wacky" ideas.

    2. Re:i learned something today by johnnyb · · Score: 2, Interesting

      The Smalltalk implementation Squeak is AWESOME. With their eToys you can do amazing things without typing any code. It is truly a wonder to behold.

  6. UNIX timeline by kernel_dan · · Score: 0, Redundant
    --

    Illegal? Samir, This is America.
  7. Excuse me.. by I+am+the+Bullgod · · Score: 5, Funny

    Where's the equal time for creationism? I don't believe in this "evolution" stuff. I think God created .NET (cough, cough) and then rested on the seventh day.

    1. Re:Excuse me.. by Shadow+Wrought · · Score: 5, Funny
      ...and then rested on the seventh day.

      This is actually a common misperception. The Old Hebrew word for "rested" can also be translated into "rebooted." Hence the confusion. Billical scholars still debate which one is the more likely interpretation.

      --
      If brevity is the soul of wit, then how does one explain Twitter?
    2. Re:Excuse me.. by Anonymous Coward · · Score: 0

      /me ponders why you coughed... Ahh screw it, just tell me already.

    3. Re:Excuse me.. by mooniejohnson · · Score: 1

      A little known fact is that God rested on the 7th day to nurse the hangover he had from drinking heavily while developing .Net.

      --

      Elmo knows where you live!

    4. Re:Excuse me.. by Anonymous Coward · · Score: 0

      Oh, I thought two letters got together and then other letters kept collecting until the languages just happened....

    5. Re:Excuse me.. by Sloppy · · Score: 5, Funny

      perl pretty much disproved Intelligent Design.

      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    6. Re:Excuse me.. by I+am+the+Bullgod · · Score: 5, Funny

      Correct. In the same vein, "sabbath" has also been loosely translated as "day of downloading updates".

    7. Re:Excuse me.. by ATN · · Score: 0

      I don't follow?

    8. Re:Excuse me.. by Eberlin · · Score: 5, Funny

      Funny, I thought that was Patch Thursday.

      Behold, the OS Creed!!!
      (it's a parody, relax. Don't get too uppity)

      We believe in one OS,
      the Father, the Almighty
      Creator of Heaven, Earth, and the Internet,
      Of all that is seen, unseen, and can be seen in beseen.com.

      We believe in one Lord, Jesus Christ,
      the only instance of The Father
      eternally begotten of the Father
      God from God, Light from Light,
      true God from true God
      Instantiated, not made. One in being with the Father
      Through Him, all objects were initialized.

      For us men and for our salvation,
      He was downloaded from Heaven
      By the power of the Holy Spirit,
      He was ejected by the Virgin Mary, and became Man

      For our sake he was executed under Pontius Pilate;
      He had a GPF, froze, and was abnormally terminated.
      On the third day he was rebooted
      in fulfillment of the OS documentation;

      He was uploaded into Heaven
      and is installed as a plugin at the right hand of the Father.
      He will come again in a future release as a patch to fix all bugs and viruses
      and His kingdom will loop infinitely.

      We believe in the Holy Spirit, the Lord the power supply,
      who proceeds from the Father and the Son.
      With the Father and Son He is worshipped and glorified.
      He has flamed, spammed, and has sent streaming audio to the Prophets.

      We believe in one holy catholic and apostolic user group.
      We acknowledge one CTRL-ALT-DEL for the rebooting after errors.
      We look for the final upload,
      and life of the world to come. [OK]

    9. Re:Excuse me.. by johnnyb · · Score: 1, Interesting

      " Where's the equal time for creationism? I don't believe in this "evolution" stuff."

      The funny thing is that almost any time when the word "evolution" is used in modern day lingo apart from biology, "creation" is in fact what they meant.

      My favorite is Linus Torvalds saying Linux is the result of evolution. His thinking is that since the pressures on Linux developers are untamed, it is like evolution, but in fact, evolution is the opposite. In evolution, it is the development which is random, and the pressures which are fairly steady.

      This is often known as "Berra's Blunder" after biologist Tim Berra, who used similarities in Corvettes as proof of evolution. It seems that Berra was unaware that Corvettes were designed, and their similarities were based on similarity of designer and requirements, not of heredity :)

    10. Re:Excuse me.. by EmbeddedJanitor · · Score: 2, Funny

      ... and Bill Gates created God.

      --
      Engineering is the art of compromise.
    11. Re:Excuse me.. by EvanED · · Score: 1

      You should look up "evolution" in a dictionary. The word meant "development" for a couple centuries before the theory of evolution and natural selection came along.

      In fact, the biological meaning isn't even until definition #6 in the OED.

    12. Re:Excuse me.. by Anonymous Coward · · Score: 0

      Alright, Slashdot readers, let's get one thing clear. If you're participating in a long running joke thread and you get the urge to write poetry, you can pretty much take it as an axiom that all the funny bits have been said already, and you can go ahead and read another thread instead of post.

    13. Re:Excuse me.. by kurosawdust · · Score: 1
      Correct. In the same vein, "sabbath" has also been loosely translated as "day of downloading updates".

      Pfft. Don't believe this heathen. "Sabbath" has always and will always mean only one thing: METAL .

    14. Re:Excuse me.. by novakyu · · Score: 1, Interesting
      (it's a parody, relax. Don't get too uppity)

      How is this parody? What is it parody of? It doesn't even sound like Apostle's Creed (for one, it's too long). Unless it's a mockery of a previously-existing, well-known work, it's just a mediocre sarcasm with no basis in real literature.

    15. Re:Excuse me.. by Anonymous Coward · · Score: 0

      Nicene Creed, dude.

      http://www.newadvent.org/cathen/11049a.htm

    16. Re:Excuse me.. by Blind+Joe+Death · · Score: 2, Informative

      It's a take off of the Nicene Creed, not the Apostle's Creed. This Creed was written at the Council of Nicea in A.D. 325, in an attempt to settle some theological disputes of early Christianity. It was later revised at the Council of Constantinople in A.D. 381.

      Since the Roman Catholic, Eastern Orthodox, Presbyterian, and most other Protestant churches affirm this creed, its says pretty accurately the basic stuff that most Christians believe in. And speaking of most Christians, the use of the word catholic in the Creed means "universal," not "run from Rome by a frail man wearing a silly hat."

    17. Re:Excuse me.. by Lars+Arvestad · · Score: 1
      But I think Linus is actually using "evolution" with the correct interpretation. From what I have seen of Linux development, there is a high degree of redundancy in implementations. Then, the most fit solution survives!

      Sure, sometimes solutions and implementations are influenced by each other, but that could be regarded as recombination...

      --
      Reality or nothing.
    18. Re:Excuse me.. by thallgren · · Score: 1

      Perhaps God did create .Net, or perhaps Evil Powers did that?

      I discovered yesterday that the DateTime class in .Net can't represent dates before january 1 year 1.

      What year was Jesus born? Year 1 or year 0? :-)

    19. Re:Excuse me.. by TRS80NT · · Score: 1

      Saw a book at the office supply store yesterday: "Windows XP - Weekend Crash Course".
      It didn't sound like a very fun weekend, so I didn't buy it.

      --
      Lorem ipsum dolor sit amet.
    20. Re:Excuse me.. by Anonymous Coward · · Score: 0

      by Sloppy (14984) on 05:34 PM -- Wednesday February 02 2005 (#11555771)
      > perl pretty much disproved Intelligent Design.

      With a name like Sloppy, I'm surprised you're not a Perl programmer...

    21. Re:Excuse me.. by Anonymous Coward · · Score: 0

      Fuck you, Christian tawt.

    22. Re:Excuse me.. by Anonymous Coward · · Score: 0

      You wanna talk about God... with that post number?

  8. B0 0C 0F 3E 9E 51 5 by American+AC+in+Paris · · Score: 5, Funny
    In the beginning, there was 0.
    And it was good.

    Then, root created 1.
    And that, too, was good.

    Then, root created assembly.
    And that totally rocked.

    Then root created HCF.
    And it was very, very bad.

    --

    Obliteracy: Words with explosions

    1. Re:B0 0C 0F 3E 9E 51 5 by Anonymous Coward · · Score: 0

      You're missing a step in there.
      Then, root created the ability to alternate between 0 and 1.

      This goes right before step 3.

      And no, step 3 is not profit.

    2. Re:B0 0C 0F 3E 9E 51 5 by Anonymous Coward · · Score: 0

      What does HCF stand for ?

    3. Re:B0 0C 0F 3E 9E 51 5 by finkployd · · Score: 1

      HCF

      I don't get it...

      The opcode for Halt and Catch Fire? Is that what that is?

      Finkployd

  9. Well.... by Anonymous Coward · · Score: 0

    In the beginning there was machine code, and it was code.

    Then there was FORTRAN, and it was good.

    Then there was LISP, and it was good.

    Then there was C, and it was good.

    Then there was Java, and it was good.

    Then there was C#, and it was good.

    On the 7th language, he rested.

    1. Re:Well.... by Anonymous Coward · · Score: 0

      Windows is not a language...

  10. Holy grail of programming languages by A+beautiful+mind · · Score: 1

    Lisp.

    --
    It takes a man to suffer ignorance and smile
    Be yourself no matter what they say
    1. Re:Holy grail of programming languages by hunterx11 · · Score: 1

      Fnord is why lisp has so many parentheses.

      --
      English is easier said than done.
    2. Re:Holy grail of programming languages by bird603568 · · Score: 1

      believe it or not in school we are being taught LISP. So far the teacher said the only use it for AI. I don't really care for it, good thing its only once a week.

    3. Re:Holy grail of programming languages by A+beautiful+mind · · Score: 1

      Common misconception actually. The guy who created the language made extensive research in the field of AI, thus the source of the misconception. It IS used for artifical intelligence research, but not exclusively.

      --
      It takes a man to suffer ignorance and smile
      Be yourself no matter what they say
    4. Re:Holy grail of programming languages by samvo · · Score: 5, Funny

      Assembly Coders - these are extinct group of primitive form of life
      before the advent of culture and civilisation, althought without access
      to any formal human-recognizable language structure they were amazingly
      versatile in their skills to construct reality by pushing and popping strings of
      little pebbles from holes dug in the ground. Ancient arcade machines
      sometimes found in desolate pubs testify to their once glorious existance.

      C - C Programmers are more like highly evolved alien beings from outer space
      who spoke purely in binary and pointers. They often take the disguise as
      unsightly middle aged man with beard and glasses amongst earthlings.
      They do not care for the artifacts of language or culture, they only care
      for the semantics. Their job is to construct and engineer the roads,
      the transportation, the network lines, the infrasture that our civilazation
      have come to depend very much on. They are very hard to communicate with as
      intepreting their language requires unusually greater IQ than most of
      our earthlings can aspire to.

      C++ - C++ Programmers are born again C programmers who realised their
      folly of seeing the world in pure binary and pointers. They want to see
      reality more concretely thus they talk in objects and classes.
      More often than not, C++ Programmers are still attached to their
      old ways and their attempts to communicate with others often result
      in abstrated hodgepodge just as complicated as the C
      language. Most C++ Programmers feel they may have had a
      deprived childhood.

      Java - Java Programmers are like C++ programmers except they were
      brought up in aristrocat families. Their manners in their language
      are refined and elegant althought at times may appear slightly
      pretentious and artificial. They are very socially closed and
      mix with their own kind only, basically they dont like outsiders
      playing in their upper-middle class private school sandbox.
      Being economically previliged means they have ample access to inheritance
      like network libraries, etc. Although their reputation is good amongst
      corporate circles, they are rumoured to be impotent when it comes to GUI.

      Visual Basic - Visual Basic programmers are perceived to be like your
      every day a dime a dozen computer science graduates. They
      are naive, confident and sometimes a little brash in their perceived
      ability to deal with the real world. Their language developed from high school
      jargons and street slang though highly vulgar in the eyes of other programmers,
      were often effective (or adequate) in solving a lot of every day
      ordinary kitchen and sink problems. Often the case, a job completed
      by a Visual Basic programmer, thought cheap and fast leaves little to be desired,
      tales of half patched pipes leaking from under kitchen sink are
      well known in the industry.

      C# - C# Programmers are Java programmers wannabes wanting to achieve the same
      social status and previledge that Java programmers have, C# programmers
      lacks the authentic social grace and ethics that could help them rise above the
      Visual Basic suburbia coarse mentality that tends to predominate them. C# Programmers
      also tends to like screen widgets that are glitzy. They are the type of people
      that the marketing department love to target in their product focus group.

      COBOL - Cobol Programmers are not really people, they were actually mutated
      from hole-punch card readers. they have no human affectations
      and thus are very capable of churning out millions of incredibly mundane and
      humanly degrading pages and pages of printed accounts reconciliation codes.
      although they were disbanded by the human rights organisation, Cobol
      programmers were actively recruited just before the millineum to solve the Y2k bug
      which they were originally responsible for.

      Fabled Programmers - the are many species of programmers that claim
      to exist but no one have ever met any of these illusive creatures in

    5. Re:Holy grail of programming languages by Homology · · Score: 1
      Common misconception actually. The guy who created the language made extensive research in the field of AI, thus the source of the misconception. It IS used for artifical intelligence research, but not exclusively.

      And when all emacs users has passed away, this misconception will be elevated to the status of Truth and written on stone tablets ;-)

    6. Re:Holy grail of programming languages by Ryan+Monster · · Score: 1

      Did you find that somewhere or just make it up? It's great!!

      --
      Change your name to Homer Junior! Your friends can call you Hoju
    7. Re:Holy grail of programming languages by eljasbo · · Score: 1

      Another use for LISP is AutoCAD programming. I still think LIPS means 'Lost In Stupid Parenthesis'...

    8. Re:Holy grail of programming languages by joto · · Score: 2, Insightful
      believe it or not in school we are being taught LISP.

      Lucky you. Maybe you can learn something useful then, instead of doing the trendy stuff.

      So far the teacher said the only use it for AI.

      Unlucky you. You have an idiot teacher that can't even explain why lisp is so great. Think about this: AI is the hardest problem computer scientists ever need to solve. If a language is good enough to be used for research in AI, it's good enough to solve most any other problem too.

      The only problems with lisp are cultural. Many lispers are elitists who don't care for stuff other programmers need, such as distribution of binaries, portability between lisp-implementations, a standard, etc... And most mundane programmers hate lisp because it has lots of silly parentheses.

      I don't really care for it, good thing its only once a week.

      Try to pay attention. You might learn something.

    9. Re:Holy grail of programming languages by Tom7 · · Score: 1

      Sure, if you don't care about syntax, performance, or catching errors at compile time. The new breed of statically-typed functional languages win in all of these categories, while providing essentially all of the things that made lisp great in the 60s.

    10. Re:Holy grail of programming languages by LukeLuke · · Score: 1
    11. Re:Holy grail of programming languages by Anonymous Coward · · Score: 0

      "Think about this: AI is the hardest problem computer scientists ever need to solve. If a language is good enough to be used for research in AI, it's good enough to solve most any other problem too."

      And if a knife is good enough to cut the hardest foods, it is good enough for any type of eating.

    12. Re:Holy grail of programming languages by budgenator · · Score: 1

      Lisp was the language for patrrn matching back in its day, it's syntax has it's origins in IBM 360 assembly language, the CAR,CDR refer to IBM 360 registers. Noting that Lisp - SmallTalk - Objective C linage, an argument could be made that Lisp evolved into OOPs.Logo is an variant of Lisp with cleaned up syntax; and was popular for a while, a subset of logo was turtle graphics, which was used to teach programming concepts to young children.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    13. Re:Holy grail of programming languages by Anonymous Coward · · Score: 0

      A byte walks into a bar and orders a pint. Bartender asks him "What's wrong?" Byte says "Parity error." Bartender nods and says "Yeah, I thought you looked a bit off."

    14. Re:Holy grail of programming languages by Raffaello · · Score: 1

      With respect, the new breed of statically typed functional languages do not begin to provide "essentially all of the things that made lisp great in the 60s." To understand why see Paul Graham's article on why programmer productivity is destroyed by requiring type declarations[1]. Even with a REPL, languages like Haskell screw the programmer by not allowing heterogenous lists by default. This requires the programmer to take time away from exploratory programming to do type declaration book keeping to placate the type-obsessed compiler.

      [1]For example, it is a huge win in developing software to have an interactive toplevel, what in Lisp is called a read-eval-print loop. And when you have one this has real effects on the design of the language. It would not work well for a language where you have to declare variables before using them, for example. When you're just typing expressions into the toplevel, you want to be able to set x to some value and then start doing things to x. You don't want to have to declare the type of x first. You may dispute either of the premises, but if a language has to have a toplevel to be convenient, and mandatory type declarations are incompatible with a toplevel, then no language that makes type declarations mandatory could be convenient to program in.
      - Paul Graham

    15. Re:Holy grail of programming languages by WaterBreath · · Score: 1

      Holy Buckets! I never knew LOGO was related to LISP!

      We learned Logo-Writer (turtle-graphics) in 3rd grade. That was when I had my first inkling that I might like to be a programmer. In fourth grade we re-hashed the same logo programs, but I started dinking around and doing my own stuff. In fifth grade we moved on to Apple BASIC, and I finally started to do "useful" things such as write calculator programs and draw graphics. From there I went to QBASIC, then Pascal, C++ (and COM), VB, Java, C# (and .NET), and now Python, and in the near future I have vague plans to look into Perl, Ruby, and coming full circle: LISP!

      Wow. So if it weren't for LISP, I probably would have pursued my first love, writing, instead of my second (and somewhat related) love: programming.

    16. Re:Holy grail of programming languages by Anonymous Coward · · Score: 0

      I'm a COBOL programmer you insensitive clod! But then, my first language was FORTH so you probably don't believe I exist ;-)

      Ken

    17. Re:Holy grail of programming languages by bird603568 · · Score: 1

      my problem is that it just confuses the hell out of me. im used to c++.

    18. Re:Holy grail of programming languages by Mr.+Byaninch · · Score: 2, Funny

      COBOL programmers were not responsible for the Y2K bug. Jesus was. We were just the ones to profit most from it.

      --
      Sig not available, please try again later. If the problem persists, then the submitter is an idiot.
    19. Re:Holy grail of programming languages by Fahrenheit+450 · · Score: 1

      And Graham's thoughts on the Hindly-Milner type inference used in modern functional languages with REPLs (e.g. OCamlare...?

      95% of the time you you type in no type annotations, and 4.99 of the other 5% of the time it's when you're using something like variant types. For the added safety (and other benefits, like making debugging with a REPL much easier) of the strong type system, Graham's position as stated above is greatly weakened.

      --
      -30-
    20. Re:Holy grail of programming languages by Anonymous Coward · · Score: 0
      Consider the following - valid - OCaml code:
      let f =
      function
      | `Int i -> print_int i
      | `Str s -> print_string s;;

      List.iter f [`Int 5; `Str "foo"];;
      As you'd expect, executing that prints 5foo.

      And it's completely statically typed, without a single type declaration anywhere.

      Ergo, either Paul Graham is wrong about something, or you misunderstood what he said, or I misunderstood what you said, or you are inexplicably excluding OCaml from "the new breed of statically typed functional languages".

      Which is it?
    21. Re:Holy grail of programming languages by Anonymous Coward · · Score: 0

      "AI is the hardest problem computer scientists ever need to solve."

      That's not exactly true, but it is irrelevant.

    22. Re:Holy grail of programming languages by gone_bush · · Score: 1
      You insensitive, illiterate clod!

      "A" is for "Assembly". "C" is for, well, "C". There are some of us fortunate souls out here that know and remember well that there is a letter 'twixt and between those two - "B".

      Ah, what a language!

      None of that commie-typing stuff. You want a variable? You've got it! And, to paraphrase Henry Ford, you can have any sized variable you want - provided it exactly one word long!

      You can forget those limp-wristed compiler-generated warnings about truncation and type conversions. We, the hairy-chested and testerone-charged Programmers (yes, that's with a "P" not your yuppie "p") knew what we were doing. We didn't need "no steekin' compiler" to tell us about our program!

      Never forget the Real Programmers Creed: If it was difficult to write, make it difficult to maintain!

      Now if someone could tell me where I can get by card-punch repaired, all will be well in my universe! And that proves that I'm not stuck in the past. Just last year I threw away my paper-tape I/O devices. But I'm damned if I'm gunna spend money on some high-tech rodent - the bloody cat would think its Xmas again!

      OK, just for the record - move over sliced bread - valgrind is here!

      --
      Two roads diverged in a wood, and I - I took the one less travelled by. (Robert Frost, 1916)
    23. Re:Holy grail of programming languages by erinacht · · Score: 1

      What if you are a cross language programmer just trying to make things talk nicely to each other?

      Apparently I'm a mad idealistic primative extinct vulgar aristocratic highly evolved alien being with a high IQ.

      Do I get a badge or something?
      --
      Like anagrams? Love Anagramarama!

    24. Re:Holy grail of programming languages by Tom7 · · Score: 1

      Well, you are doing yourself a disservice if you listen to him, because, objectively speaking, he does not know what he's talking about. Type declarations are not required in Haskell and ML, because of type inference. Also, the ML and Haskell top level loops work fine while requiring that a variable be defined before it is used. (What is this, BASIC?!)

      It's easy to make a heterogeneous list in ML or Haskell by making a "universal" type, but this is a pretty bad way to program. If your program works, then it works for a reason, and that reason can almost always be encoded in the type system, which makes programs clearer, more likely to be correct, and more efficient. To the extent that you have a good reason that can't be encoded in the type system, the type system has failed you, but this is very rare (and I used to be a C cowboy, believe me), and when it occurs, hacks like above usually suffice.

      If you like lisp, it's worth giving these languages a chance. Also, you don't have to endure parenthesis jokes.

    25. Re:Holy grail of programming languages by Anonymous Coward · · Score: 0

      that should be:

      It was difficult to write, it should be difficult to read damnit

  11. INTERCAL by tim_mathews · · Score: 4, Funny

    I don't see INTERCAL on there anywhere. Of course since it was written to be different from all existing languages, it can be kinda hard to fit in a language tree.

    1. Re:INTERCAL by Anonymous Coward · · Score: 0

      Bastard children rarely appear on "formal" family trees.

    2. Re:INTERCAL by mrchaotica · · Score: 1

      I've been meaning to learn that language! I hear it looks good on a resumé...

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    3. Re:INTERCAL by demi · · Score: 1

      Oh man, I hadn't thought of that. I really need to go write an INTERCAL program now so I can put it on my resume.

      --
      demi
    4. Re:INTERCAL by mrchaotica · · Score: 1

      Oh, darn. So much for that idea!

      Would it be better to learn BrainFuck instead?

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    5. Re:INTERCAL by john1125 · · Score: 2, Informative

      I believe that APL, DIBOL {an old DEC COBOL wannabe} language} and DBL a derivative of DIBOL are also missing. I seem to remember others circa the Xerox Sigma 9 are mising from the lists. I believe there were a variety of old DEC & Xerox etc. languages that need could be added.

    6. Re:INTERCAL by john1125 · · Score: 1

      Oh, and Teco of course. That one was also cool to program in. A bit cryptic though,...

    7. Re:INTERCAL by jonadab · · Score: 2, Informative

      The INTERCAL tree looks something like this...

      INTERCAL (1972) --> C-INTERCAL (1990) --> THREADED INTERCAL

      INTERCAL also has had some influence on other languages, such as unlambda,
      so an argument could be made for including it in the chart. (Mind you, I
      would not want to have to defend such an argument against all possible
      rational counterarguments.)

      --
      Cut that out, or I will ship you to Norilsk in a box.
    8. Re:INTERCAL by DMUTPeregrine · · Score: 1

      There is Tri-INTERCAL as well. Very important, that.

      --
      Not a sentence!
  12. o'reilly poster by Anonymous Coward · · Score: 0

    http://www.oreilly.com/news/graphics/prog_lang_pos ter.pdf

  13. what about... by secretsquirel · · Score: 0

    assembly!

  14. What about Assembly language? by Anonymous Coward · · Score: 4, Insightful

    The most significant programming language of them all is not even listed.

    1. Re:What about Assembly language? by frankvl · · Score: 1

      indeed, it's basically a hardwired BNF of transistors

    2. Re:What about Assembly language? by dhakk · · Score: 1

      I thought the most significant programming language of them all was TI-82 programming language.

      Oh wait.. that's least significant.

    3. Re:What about Assembly language? by Anonymous Coward · · Score: 1, Insightful

      I would classify Assembly as a machine language.

    4. Re:What about Assembly language? by Anonymous Coward · · Score: 1, Insightful

      Which assembly ? :)

      There's more to assembly than x86..

    5. Re:What about Assembly language? by John+Courtland · · Score: 1

      Well, Macro Assemblers were really the first "language", I guess you could say. A straight up Assembler is just a translator, so yeah, machine language.

      --
      Slashdot is proof that Sturgeon's Law applies to mankind.
    6. Re:What about Assembly language? by halltk1983 · · Score: 1

      If you REALLY must know, I believe it to be a derivative of BASIC... though it's probably some form of Unix shell trapped in a box, reformed to look like BASIC ;-)

      --
      Watch for Penguins, they eat Apples and throw rocks at Windows.
    7. Re:What about Assembly language? by SpacePunk · · Score: 1

      There are a basic set of assembly instructions for all processors. That could be considered the 'Assembly Language' as far as 'programming language' with subsets specific to a particular process being an offshoot. Would be a short tree.

    8. Re:What about Assembly language? by Per+Abrahamsen · · Score: 1

      They are not really significant from a programming language point of view, as they are mostly a reflection of machine architectures. Create a history of instruction set architectures, and you will mostly also have created a history of assembly language.

  15. this is not even a dupe, a tripe or a quadruple by Knights+who+say+'INT · · Score: 2, Insightful

    This is prolly the Slashdot record of n-ple repeated article. This comes up every few months :-O

    1. Re:this is not even a dupe, a tripe or a quadruple by -kertrats- · · Score: 1

      I think that record is held by the map of Springfield (simpsons edition)

      --
      The Braying and Neighing of Barnyard Animals Follows.
  16. Woops... by It+doesn't+come+easy · · Score: 1

    I bet he ran out of arrows making that map.

    --
    The NSA: The only part of the US government that actually listens.
  17. BBC BASIC!!! by Anonymous Coward · · Score: 5, Interesting

    They have transparantly missed out BBC BASIC. A BASIC language, which included some of the better programming constructs of Pascal.

    Half of the UK's current programmers cut their teeth on the BBC Micro/Archimedes BASIC implementations.

    1. Re:BBC BASIC!!! by BinaryCodedDecimal · · Score: 1

      I loved BBC BASIC. I think it was unique enough to warrant its own mention.

      The UNIX History page thankfully included a reference to RISC iX though.

    2. Re:BBC BASIC!!! by pvxhound · · Score: 1

      A history of Basic would probably as large or larger than any other branch on the tree. Hundreds of thousands of US businesses run their back office on the very effective modern versions of this old beginner's language. Out of the 19 languages I've learned over the years, must of which made the list, I've been paid to program in business basics (non microsoft versions) more than any other language in recent years.

    3. Re:BBC BASIC!!! by DrSkwid · · Score: 2, Informative

      Shame you are AC. I hope you see this :

      The Brandy Basic V Interpreter

      What is it?

      Brandy is an interpreter for BBC Basic (or Basic V as it is refered to here) that runs under a variety of operating systems. Basic V is the version of Basic supplied with desktop computers running RISC OS. These were originally made by Acorn Computers but are now designed and manufactured by companies such as RiscStation, MicroDigital and Castle Technology.

      What does it run on?

      The interpreter runs under RISC OS, NetBSD, OpenBSD, reeBSD, Linux, Mac OS X, Amiga OS, DOS using the DJGPP DOS extender and Windows as a console application. The program is written in ANSI C and comes in source form so it should not be difficult to compile it to run under other operating systems.

      Brandy is distributed under version 2 of the GNU General Public License.

      The current version of the program is 1.16 (January 2004).

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    4. Re:BBC BASIC!!! by DrSkwid · · Score: 1

      you might like this then

      BBC Basic for various OS

      (see my other reply to the parent post you were also replying to)

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
    5. Re:BBC BASIC!!! by BinaryCodedDecimal · · Score: 2, Interesting

      That's really interesting. I like the way that * commands get redirected to the host shell like they used to do on the BBC/Archimedes. I had never thought of the * character as being sort of an escape character to talk to the shell until I tried to do a *fx 0 and got a 'Bad command or file name' back!

    6. Re:BBC BASIC!!! by vrai · · Score: 1

      A BBC? The Beeb was for kids who wore glasses and had piano lessons. All the cool kids had Speccys and suffered with Sinclair Basic. Well, suffered for as long as it took to learn Z80 assembler.

    7. Re:BBC BASIC!!! by Anonymous Coward · · Score: 0

      The Beeb was for kids who wore glasses and had piano lessons. All the cool kids had Speccys and suffered with Sinclair Basic.

      Looks like somebody is bitter about their deprived childhood... :p

  18. No teaching/learning languages? by madprogrammer · · Score: 4, Interesting

    I learned to program with GWBasic, QBasic, TurboPascal, Modula-3 - none of which made it into the chart...

    1. Re:No teaching/learning languages? by sucker_muts · · Score: 1

      I think langauges like GWBasic, QBasic, TurboPascal, Modula-3 are not on the chart, because:

      -BASIC: Those programs have a very easy origin, they only implement the most basic elements of any programming language: loops, conditionals, variables,... and are not directly based on any of the languages on the chart. Also, BASIC was not used for anything strong, as in enterprise-class application developement.
      -TurboPascal: This is actually a program which implemented the pascal programming language, and on the chart the languages are listed, not programs or IDE's which use them.
      -Modula 3: That is an interesting matter though, perhaps it was forgotten to put on the map?

      --
      Dependency hell? => /bin/there/done/that
    2. Re:No teaching/learning languages? by mmkkbb · · Score: 1

      This is actually a program which implemented the pascal programming language, and on the chart the languages are listed, not programs or IDE's which use them.

      Then why are so many different releases of PHP and perl listed? Very little of the language changed; just the libraries and interpreters.

      --
      -mkb
    3. Re:No teaching/learning languages? by Anonymous Coward · · Score: 0

      Actually BASIC is on both charts. Quick BASIC is on the second. Is that the same as QBASIC?

    4. Re:No teaching/learning languages? by madprogrammer · · Score: 1

      Then why are so many different releases of PHP and perl listed?
      That's what I was thinking...

      GWBasic probably wasn't that different from Basic, but QBasic definitely was... I believe it even had procedure/method calls, which was very different than the line numbering and "goto"s and more in the direction of what Visual Basic is today.

      Though I didn't realize TurboPascal was just the name of the IDE! I thought it was another version of the language.

    5. Re:No teaching/learning languages? by madprogrammer · · Score: 1

      I was talking about the first chart, but yes I think Quick Basic and QBasic are the same thing.

      The second chart didn't load for me, so I haven't looked at it.

    6. Re:No teaching/learning languages? by MightyMartian · · Score: 1

      QuickBASIC and QBASIC are the same language, but QuickBASIC came with a compiler. I actually coded quite a bit in QuickBASIC at one time (I was given the compiler as a parting present from a place I was working).

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    7. Re:No teaching/learning languages? by |>>? · · Score: 2, Informative

      Modula-3 exists between 1985 and 1990, 9th down.

      --
      |>>? ..EBCDIC for Onno..
    8. Re:No teaching/learning languages? by prgrmr · · Score: 4, Insightful

      Also, BASIC was not used for anything strong, as in enterprise-class application developement.

      Don't make guesses about what you don't know for a fact.

      There are several million users world-wide running enterprise applications written in some varient of BASIC. One example is about 20% of the HMO's in the US are running an application owned by CA and written in either Pick Basic or UniVerse Basic (a product now owned by IBM).

      Pick has it's own complex family tree

    9. Re:No teaching/learning languages? by MightyMartian · · Score: 1

      There are a number of dialects of BASIC, and I think one could reasonably argue that the structured forms of BASIC like QuickBASIC and RealBasic are really related but independent languages.

      QuickBASIC, at least, was pretty darn common with some inhouse programmers. I wrote a considerable amount of code in it due to the fact that I got it really cheap and I had no $$$ for anything better. I could compile, use C, Pascal and Fortran libraries, access hardware, use DOS interrupts and the like. It wasn't very elegant, but so what?

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    10. Re:No teaching/learning languages? by budgenator · · Score: 1

      Basic wasn't intended for real use, it was a training language, a kinder-gentler way to ease into Fortran. Today Fortran is a niche language and Basic is pretty much forgotten.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    11. Re:No teaching/learning languages? by confused+one · · Score: 1

      Basic is still widely used in business apps and engineering test stands. unfortunately. I know, because I'm living in Basic hell -- since it's the lowest common denominator in our companies engineering department...

    12. Re:No teaching/learning languages? by spaceman375 · · Score: 1
      Bless You! I LOVE pick - it's the most forgiving language on the planet. Who needs types? Why declare what kind of data you want to store in a given variable? Just make up a name on the fly and put what you want in it. If you add 2 strings, pick will figure out that they both contain just numbers and not complain about type mismatches - it just plain gets it right. And you gotta love a language that lets you compile code that says:
      open(ThePodBayDoors, PleaseHal) else print IcantDoThatDave (with proper values in the variables so your customer never sees the joke.)

      Make a geek laugh - tell a joke in your source code.

      --
      On the one hand you take life too seriously, and on the other, you do not take playful existence seriously enough. Seth
    13. Re:No teaching/learning languages? by mmkkbb · · Score: 1

      In addition there was a little-known compiler called FutureBASIC for the Macintosh which never really took off.

      --
      -mkb
    14. Re:No teaching/learning languages? by Anonymous Coward · · Score: 0

      Look again -- track Python back from the end, and you'll see it is derived partially from Modula-3, which id derived (eventually) from Pascal.

  19. this diagram proves an important point by Anonymous Coward · · Score: 1, Interesting

    (L)unix users prefer unreadable font size/typeface combinations.

    I've always suspected as much.

    1. Re:this diagram proves an important point by Liberals_Are_Gay · · Score: 0

      Seriously the font size is ridiculously small, I can barely fucking read it.

  20. I'm disappointed by GillBates0 · · Score: 4, Funny
    No mention of Whitespace, Brainfuck, Argh!, BlooP, or Ook!.

    Oh maybe that's why they called it a "Brief History".

    --
    An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
    1. Re:I'm disappointed by nacturation · · Score: 4, Funny

      Oh maybe that's why they called it a "Brief History".

      It's like the Reader's Digest version of Stephen Hawking's A Brief History of Time:

      "Well, here we are."

      The end.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    2. Re:I'm disappointed by Tablizer · · Score: 1

      The c2.com Wiki used to have a chart like this, but everybody argued about what it really meant and implied, turned into a big argument, and was eventually deleted.

      For one, it is hard to know if language B came directly from language A, was only partly influenced by it, or just coincidentally had some features that resembled A.

      In the end nobody can really know without digging up dead computer scientists and reverse engineering their (now rotted) neurons to know why they created a language the way they did and what exactly influenced what.

      Such a chart is only a curiosity at best. A fully accurate chart is impossible.

    3. Re:I'm disappointed by A+beautiful+mind · · Score: 1

      or unlambda or hows its written.....

      --
      It takes a man to suffer ignorance and smile
      Be yourself no matter what they say
    4. Re:I'm disappointed by alanw · · Score: 1
      No mention of Whitespace, Brainfuck, Argh!, BlooP, or Ook!.
      Nor Intercal
    5. Re:I'm disappointed by Anonymous Coward · · Score: 0

      Not really. Simply because of your inability to consider better languages for the jobs.

    6. Re:I'm disappointed by Anonymous Coward · · Score: 0

      Perhaps the goofiest version of these is Flip in which you program by making a sort of pinball table. Similar in some ways to the Funges, but its own brand of weird.

    7. Re:I'm disappointed by Anonymous Coward · · Score: 0

      No mention of Whitespace, Brainfuck, Argh!, BlooP, or Ook!.

      If you wrote a program in Ook! to say itself, through a speech synthesiser, it would not only be amusing (particularly in an office environment), it would also be a quine of a sort.

    8. Re:I'm disappointed by mindriot · · Score: 1

      Yeah... and in the same vein (and maybe a bit more seriously), how can you mention BASIC, MS Basic, and Visual Basic, but none of the Commodore Basics (2.0, 3.5, 7.0, etc), GWBasic, and QBasic/QuickBasic? Hey, I want my early programming years represented! :-)

    9. Re: I'm disappointed by Anonymous Coward · · Score: 0

      My personal favorite esoteric language is Bournegol
      http://www.goof.com/pcg/marc/bournegol.html

      Not really a language, but worthy of being considered one, I think.

    10. Re:I'm disappointed by antiknijn · · Score: 1

      Even COW isn't mentioned!

      http://www.bigzaphod.org/cow/

    11. Re:I'm disappointed by Anonymous Coward · · Score: 0

      Commodore BASIC, like pretty much every other compouter manufacturer's BASIC, was licensed from MicroSoft. It definately had it's own history though, and would be interesting to see in relation to other BASICs.

      Q(uick)BASIC _was_ MS's BASIC. Odd that it's not on the list between "Basic" and "VisualBasic".

      I am not 100% sure, but I think GWBASIC was theirs as well. Either that or Tandy...

  21. Python's not strongly typed by AnEmbodiedMind · · Score: 0
    Python is runtime typed



    From the author

    1. Re:Python's not strongly typed by Anonymous Coward · · Score: 2, Informative

      I suspect that by "runtime typed" you mean dynamically typed (typing determined at runtime). A language can be both strongly typed *AND* dynamically typed. Their orthogonal.

      dynamically vs. static
      strong vs. weak.

      Perl is dynamic and weak
      Lisp is dynamic and strong [or static and strong if you want ;) ]

    2. Re:Python's not strongly typed by Anonymous Coward · · Score: 0, Funny

      I suspect that by "their" you mean they're (they are). I know it's difficult, but the English language uses their, they're, *AND* there. They're orthogonal.

      their vs. they're
      there vs. their

    3. Re:Python's not strongly typed by arkanes · · Score: 5, Informative
      There are 2 axis of typing. Note that they are scales, not boolean attributes

      Dynamic vs. static (or runtime vs. compiletime) and strong vs. weak. Dynamic/static typing is determined by when the type requirements are detected and enforced. C is statically typed - there's no runtime manipulation (or even concept of) types at all. C++ is mostly statically typed but has some runtime typing capabilities. Java is largely statically typed but also checks types at runtime. Python is entirely dynamically typed.

      Strong vs. weak affects what kind of type operations are allowed. Typeless (or single-type) languages like TCL are the weakest type, because they allow any operation on any type. Perl has multiple types but does lots of implicit conversions, making it weakly typed. Python performs very few implicit conversions (mostly between different representations of float) and therefore is strongly typed. Pascal doesn't even allow type conversion between pointers or different sizes of arrays and is therefore *really* strongly typed.

      There's also some other characteristics of typing, like whether it's class based (C++), does or does not allow user defined types, distinction between UDTs and primitive types, Objects vs primitives, duck typing, etc.

    4. Re:Python's not strongly typed by p3d0 · · Score: 1

      It is strongly runtime typed.

      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    5. Re:Python's not strongly typed by Cpt.+Fwiffo · · Score: 2, Insightful

      For those of you out there who are into this stuff:
      I had a nice course on this once, discussing all sorts of programming languages. Both their histories, and their design decisions. Most importantly, they did it by a quite nice book:
      Concepts of Programming Languages.

      Starting with simple constructs and the way they are used, leading up to all the different decisions between languages and their reasons, and splitting off into the different paradigms in programming, it is a MUST HAVE for any CS student. I kid you not. It's damn expensive, but reading it learned me the global view of all the languages out there. Because of it, taking up a new language is much easier since I now can classify it and know what generic specifics to expect.
      As said. Get it. Or check the library. I'm guessing any university library with a CS department worth it's salt has one (although possibly older versions which are fine as well).

      Fwiffo

    6. Re:Python's not strongly typed by Anonymous Coward · · Score: 0

      Ah, they are scales. Like yo momma's skin. :-)

    7. Re:Python's not strongly typed by JohnPM · · Score: 1

      Python performs very few implicit conversions (mostly between different representations of float) and therefore is strongly typed.

      Found your comments interesting, but have to disagree with you here. Python performs extensive built-in cooercion and also allows customised cooercion routines. Further, many arguments are allowed to be simply any object that has certain properties (such as "has a .write() method". As such it's weakly typed.

      --
      Karma police, I've given all I can, it's not enough, I've given all I can, but we're still on the payroll.
    8. Re:Python's not strongly typed by zootm · · Score: 1
      Further, many arguments are allowed to be simply any object that has certain properties (such as "has a .write() method"
      Surely that's polymorphism, rather than typing?
    9. Re:Python's not strongly typed by Anonymous Coward · · Score: 0
      Further, many arguments are allowed to be simply any object that has certain properties (such as "has a .write() method". As such it's weakly typed.

      No, that's a form of polymorphism. Those arguments are strongly typed: they take parameters of type (object with method write()).

      It's hard to explain in Python, so I'll drop back to OCaml, a strongly and statically-typed language which does the same thing. In OCaml, you can define a function let f x = x#print (). This function has the type < print : unit -> 'a; .. > -> 'a, which means that it takes ANY OBJECT that has a method print, and returns a value of whatever type that method returns.
      Let's try it interactively:
      # f (object method print () = "foo" end);;
      - : string = "foo"
      # f (object method print () = 1 end);;
      - : int = 1
      There I called the function twice; the first time I passed it an object where print() returns a string, and the second time I passed it an object where print() returns an integer. Each time it did exactly what was wanted, i.e. called the print() method on the object and returned the value it was given.

      Note that this is all entirely statically typed - the compiler checks at compile-time that there are no type errors. And it's entirely strongly typed - no coercions are involved.

      For proof, let's construct a couple more objects and pass them to our function:
      # let object_without_print_method =
      object
      method prunt () = "oops"
      end
      and object_with_different_type =
      object
      method print x = x + 1
      end;;
      val object_without_print_method : < prunt : unit -> string > = <obj>
      val object_with_different_type : < print : int -> int > = <obj>

      # f object_without_print_method;;
      This expression has type < prunt : unit -> string >
      but is here used with type < print : unit -> 'a; .. >
      Only the second object type has a method print

      # f object_with_different_type;;
      This expression has type < print : int -> int > but is here used with type
      < print : unit -> 'a; .. >
      Types for method print are incompatible
      See? Strong typing at work. The only difference from how Python handles it is that Python would throw an exception in one of these erroneous cases, while OCaml refuses to compile the code at all.
  22. Um... by Anonymous Coward · · Score: 0

    I didn't say it was.

    1. Re:Um... by Anonymous Coward · · Score: 0

      IT'S A STATE OF MIND**!!!

    2. Re:um... by Lego-Lad · · Score: 1

      Are Active Server Pages considered a programming language? VBScript (and JavaScript and JScript) pretty much runs any programmatic content in ASP.

  23. Algol 68 influence on C by jejones · · Score: 2, Informative

    Neither diagram shows any, but I think it could be argued to exist--the keywords struct and union, long and short (note that the "at least 64-bit type" C9X mandates is called long long int, just as it would likely be called in Algol 68 for a target where int is 16 bits), the notion of coercion. (There may well be others I am overlooking.)

    1. Re:Algol 68 influence on C by Anne+Thwacks · · Score: 1
      Direct influence is Unlikely, since C predates Algol68. Its more probable that both were influenced by general discussions taking place at the time.

      My personal favourine is FUBOL - F***d Up Beyond Other Languages. (A defective Snobol compiler).

      --
      Sent from my ASR33 using ASCII
    2. Re:Algol 68 influence on C by taniwha · · Score: 1

      yeah that was going to be my comment too - (I have a soft spot for Algol68 having once written a compiler for it)

    3. Re:Algol 68 influence on C by The+Ego · · Score: 1

      note that the "at least 64-bit type" C9X mandates is called long long int

      Warning: nitpicking ahead.

      I haven't seen such a mandate in the standard. In fact I am pretty sure that a C
      implementation where 'long long int' would be a 32-bit integer could be standard
      compliant. "long long int" == "64bit signed integer" is just a common convention,
      not something you should base a portable program on.

      The "at least 64-bit [signed integer] type" defined in C99 is int_least64_t, which
      is only mandated if the C implementation supports such an integer type. And if
      the same implementation support the "exactly 64-bit signed integer type", aka int64_t,
      then it is likely (but not required) that both types are the same.

      Changing %lld to %"PRId64" is a favorite past-time of mine :-(

    4. Re:Algol 68 influence on C by drgnvale · · Score: 0, Flamebait

      Direct influence is Unlikely, since C predates Algol68.

      Erm, no it doesn't. Algol 68 was late 60's, C was early 70's. Look at the chart, idiot.

    5. Re:Algol 68 influence on C by jejones · · Score: 1

      Agreed, Programmers should use the typedefs that C9X sets up for that purpose, and the corresponding macros for format strings.

      That said, it is nevertheless the case that, from the description of LLONG_MAX and ULLONG_MAX in limits.h, long long int has to be at least 64 bits.

    6. Re:Algol 68 influence on C by plover · · Score: 1

      I prefer Tenne-C, and was disappointed to see it missing.

      --
      John
  24. Pascal by Moby+Cock · · Score: 2, Interesting

    The pascal branch seems to die out around 1996ish. I remember using it in 2nd year programming as a teaching language. That was in 1995.

    Is Pascal all but dead?

    What do schools use now as the teaching language? Surely not C. I have nothing against it but it isn't for beginners.

    1. Re:Pascal by pjt33 · · Score: 2, Insightful

      Java, mainly. I don't think that's a great language for beginners either, although it might allow teaching them to think in an OO way early on, without having to break procedural habits.

    2. Re:Pascal by arodland · · Score: 2, Insightful

      C++ and Java, and sometimes C. Lousy teaching languages, but they're usually accompanied by lousy teaching anyway.

    3. Re:Pascal by madprogrammer · · Score: 1

      I think it basically lives as Delphi now. Kind of like Basic living on as Visual Basic.

    4. Re:Pascal by Anonymous Coward · · Score: 0

      Teaching them OO early isn't a good thing.

    5. Re:Pascal by Anonymous Coward · · Score: 0

      Pascal has its roots in ALGOL and Modula 2, Modula 3. Borland's Delphi uses Pascal as its base language, so, Pascal lives on in Delphi.

    6. Re:Pascal by Anonymous Coward · · Score: 0

      First year uni for me was C/Haskell, C taught first.

    7. Re:Pascal by Anonymous Coward · · Score: 0

      Basic living as Visual Basic: What a damn lie.

    8. Re:Pascal by bird603568 · · Score: 2, Interesting

      The year before i got in to highschool, they taught qbasic then turbo pascal, then either fortran or c. I don't rember which one was first. My freshman year it was changer to VB, them turbo pascal, then 3 classes of c++. My sophmore year they dropped turbo pascal. My junior year they dropped a c++ class and put a java class that only required 1 c++ class to take. This year, all c++ was dropped and replaced with java. I have no clue why. I was luck, I learned turbo pascal, vb, c++ and java.

    9. Re:Pascal by madprogrammer · · Score: 1

      Actually, according to the chart (which I believe is correct in this case) the Modula chain has its roots in Pascal...

    10. Re:Pascal by ATN · · Score: 0

      At my university it's mostly Java. Operating systems classes use C and expect students to pick up the language without having taken any formal classes in it.

    11. Re:Pascal by Anonymous Coward · · Score: 1, Insightful

      What do schools use now as the teaching language? Surely not C. I have nothing against it but it isn't for beginners.

      Most went to C++. Many are now switching to Java to try to sidestep pointers.

    12. Re:Pascal by dickko · · Score: 5, Interesting

      Sadly, my university moved away from teaching Pascal (at 100-level) in 2000 and started teaching Java instead. Has caused headaches for the teaching staff and tutors ever since ever since:

      • Instead of learning the purely the basics of programming (statements, operators, conditions, looping...) they are thrown in the deep end. Now they have a little bit of programming knowledge, and a lot of a freaking huge api... End result, they have a huge api to play with, but they don't know how to...When I first started tutoring, at least the students knew the difference between calling a function and declaring one, now they aren't so sure...
      • In addition to reducing the amount of time learning the basics, they've thrown more at them. Before it was procedures, functions, looping recursion etc. Now on top of that they have inheritance, polymorphism, abstract classes and so on to deal with...

      And here I was thinking it was just the students getting dummer...

    13. Re:Pascal by joto · · Score: 3, Informative
      Is Pascal all but dead?

      Pascal is dead. Object Pascal with various other extensions lives on. It's called Delphi.

      What do schools use now as the teaching language? Surely not C. I have nothing against it but it isn't for beginners.

      They use Java. Or maybe soon C#

    14. Re:Pascal by Phiu-x · · Score: 1

      I learn programming in C in my first year of comp-sci. That was 1997.

      --
      This is a stolen sig.
    15. Re:Pascal by joto · · Score: 2, Informative
      Actually, according to the chart (which I believe is correct in this case) the Modula chain has its roots in Pascal...

      That shouldn't really surprise you too much, considering Niklaus Wirth was the man behind Pascal, Modula, Modula-2, and Oberon.

    16. Re: Pascal by Black+Parrot · · Score: 1


      > The pascal branch seems to die out around 1996ish. I remember using it in 2nd year programming as a teaching language. That was in 1995.

      The chart shows that the Pascal heritage is partially preserved in Ada, last standard released in '95, new '0x standard in progress.

      > What do schools use now as the teaching language? Surely not C. I have nothing against it but it isn't for beginners.

      Unfortunately, schools tend to cater to industry's flavor of the month, switching to a language about the time it will be declasse when the students graduate.

      Pascal --> C --> C++ --> Java --> ???

      IMO they should choose something very simple, to emphasize the basics and self-discipline, rather than the syntax.

      This curmudgeon wouldn't even teach OOP until the second half of the second year, after a semester of abstract data types.

      We've got far to many "programmers" who can make something compile, but can't write a sensible solution to a specific problem when they get a job.

      --
      Sheesh, evil *and* a jerk. -- Jade
    17. Re:Pascal by GaepysPike · · Score: 5, Interesting

      Maybe it's just me, but I think C is a excellent language for beginners. The year after I finished undergrad (about 3 years ago now, so not too long out) they started using Java as the first language you learn, and I personally think it's a terrible mistake. Now, I am in no way saying I'm some superb programmer, but I definitely think I know my stuff more that the students coming after me who began their base of knowledge with Java.

      Don't get me wrong, it can be a tough one to start out with, especially if you've never programmed before. But the learning curve is steep, and in the end you come out with a much better understanding of very crucial stuff; data manipulation, memory, pointers, bits/bytes, and simply when the heck is going on internally with a program, because of everything C lets you muck with (and true, perhaps screw up). And so maybe it's just due to my personal experience, but learning Java after drove me nuts. I just felt like there was whole additional level of abstraction because of all the stuff that I feel java does/hides for you. Not to mention that I think Java came easier, having the more low-level (admittedly not super-low) understanding that C gives you.

      Anyway, I'll come down off my soapbox now...

      --
      4 out of 3 people have trouble with fractions
    18. Re:Pascal by Malc · · Score: 1

      Just because all those features are there in Java, doesn't mean you have to use them. I was taught Modula-2 in first year university. They had no problems throwing abstract data types at us, which is really a form of object-based programming and abstraction. In second year we did object-based programming in Scheme, and in SmallTalk, passing blocks of code and executing them in different environment contexts. You can make even simple languages more complicated then necessary, and complicated languages can be kept simple. People learning to program in C/C++ have to learn about the preprocessor, figuring out unresolved symbols at link time, etc. Java programmers have no such concerns. Therefore I conclude it's a problem with the teachers, not the language.

    19. Re:Pascal by alan_dershowitz · · Score: 1

      Why is your school teaching it that way? My introductory programming course in college used Java, and we didn't learn OO principles or use standard libraries until the next semester. The intro course was strictly procedural code and programming constructs like if-then-else, the iterative loops, recursion and algorithms (sorting, etc.)

      When we had a base established, THEN they started teaching us OO and data structures, and letting us use the Java Collections and stuff. It worked very well. I can see how if your school is teaching them that way that you are getting people who don't know anything. I deal with contractors all the time now in my job that know Jakarta Struts like the back of their hand, but otherwise can't program their way out of a paper bag. We had one guy quit because before we moved to struts we used our own minimal framework, and he couldn't cope with doing actual java programming.

    20. Re:Pascal by jhealy1024 · · Score: 1

      The Java/OO vs Pascal/procedural is currently raging, both at the high school and college level. To be sure, there are advantages and disadvantages to each.

      For more info, you should check out this ACM listserver posting on the subject, which the beginning of a long thread on this issue.

    21. Re:Pascal by Aldric · · Score: 2, Insightful
      I spent a lot of time wishing they had taught me C after college. It comes as hell of a shock to someone that's learnt on Java. I spent quite some time cursing at the ever present segmentation fault during the first few weeks, and don't even get me started on pointers...

      Comp sci courses need to be changed a bit. I went from writing some stupid diary or something in Java with a database backend to writing a production system in C with a database backend - only my lecturers had failed to point out that you need to design the database differently when you are doing 100,000+ inserts a day and very few selects. Real-world knowledge needs to at least make an appearance during education.

    22. Re:Pascal by WaterBreath · · Score: 1
      Hoo-boy! Did your school ever teach C/C++? My alma mater had been doing C++ for a few years when I started (and C before that) and they just switched to Java this year for incoming freshmen.

      I remember taking Java my senior year, and hearing they were going to be replacing C++ with Java as "the language" at the school, and I was horrified for those poor freshman. It was bad enough starting off with C++.

      Every computer engineer who goes into development should start off with a certain book from the MIT Press. Codemonkeys can skip this stuff, I suppose, but not straight to Java!

    23. Re:Pascal by Anonymous Coward · · Score: 0

      Sorry son, but that is all wrong. Extending your argument just a tiny bit further and you will be trying to convice us that learning assembly language is the way to go... "get right into those registers boy, it's the only way to go". Java teaches you how to program cleanly and elegantly. It almost forces you to have a good design. Libraries like Swing (which many have gripes about because it is "ugly") are some of the best designed libraries ever invented, and after learning them you will know how to program. Bottom line is, Java is an application / networking language, C is best left for kernels, or the birds...

    24. Re:Pascal by pz · · Score: 5, Insightful

      BZZZZZZT. Wrong. C is an awful language for beginners, just as BASIC, FORTRAN, APL, ALGOL60, and so forth were, and Java, Pascal, and so forth continue to be because it is mired in syntax.

      Software Engineering has absolutely nothing to do with syntax. Nothing. Would you ever consider that philosophy is the study of spelling? No, so why would you think that forcing a naive user to stumble hither and yon against arcane syntax is a good way of teaching programming concepts? You want to start --START-- with a language that has incredibly simple syntax. Like Lisp, Scheme, and the like. Then you can spend time worrying about things like data structures, lexical and dynamic scoping, control structures, etc. Once these fundamental notions are understood, then you can spend time with syntax.

      --

      Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
    25. Re:Pascal by Anonymous Coward · · Score: 0

      I started off with Pascal. Back in 97, as a junior in high school. Pascal was not that bad- but I did not know what else there was so in hindsight I could of done better. I think Scheme is ideal for beginners.

    26. Re:Pascal by SpacePunk · · Score: 2, Interesting

      Forget Pascal. They should start by teaching assembly. Personally, I wouldn't hire a programmer that didn't at one time or another do a complete program in assembly.

    27. Re:Pascal by bdbolton · · Score: 1

      I was a tutor myself. We changed from C++ in visual studio 6.0 to Java in BlueJ. It became so much easier to teach and help students to code. It is a very gental introduction to programming and softens the learning curve.

    28. Re:Pascal by galdur · · Score: 1

      But why on earth does he put Delphi as the bastard 'son' of Delphi?

    29. Re:Pascal by galdur · · Score: 1

      Sorry, submit-trigger-happy ... "of Visual Basic"

    30. Re:Pascal by dcam · · Score: 1

      Let me be the first to tell you, it is just you.

      C needs some safety rails. Certainly everyone should learn C, but that doesn't mean it should be their first language.

      --
      meh
    31. Re:Pascal by losinggeneration · · Score: 1

      Is Pascal all but dead?

      Not really, www.freepascal.org would be a good start if you're still interested for some reason. (though I couldn't find freepascal on the chart because my understanding it's a mix between first Borland Object Pascal and now Delphi. Maybe it's because it's similar to those to be just considered one of the other.) But FreePascal is quite interesting IMHO.

      Oh yeah, Pascal was the first language I learned back my freshman year of high school in 2000. The language was ditched for Java when a new instructor came in 2002 though.

    32. Re:Pascal by Anonymous Coward · · Score: 0

      C is an awful language for beginners

      I can do your job, but you can't do mine.

    33. Re:Pascal by Nick+of+NSTime · · Score: 1
      And here I was thinking it was just the students getting dummer...

      So deliciously ironic......

    34. Re:Pascal by renoX · · Score: 1

      Depends C is a good language for learning how stuff works due to its low level.

      But as you noted C has also lots of pitfall in its use, which can put off many student..

      Also C is a terrible language for learning high level stuff, such as object orientation, when teaching it, you don't want that the student focus on how it is implemented, but on why it is useful and how to use it..

    35. Re:Pascal by dickko · · Score: 1

      Touché. I'm a programmer, not a linguist! :)

      Even more ironic considering I'm still a student...

    36. Re:Pascal by dickko · · Score: 1

      Even more ironic that I've used linguist incorrectly, what was I thinking...

      Me no speaky-writey well today...

    37. Re:Pascal by Anonymous Coward · · Score: 0

      It's just you.

      C forces you to concentrate on things like pointers and casting and functions with funny-sounding names ("malloc"). IME, when you make beginners concentrate on these things, they completely miss the bigger picture: they're struggling so much with the language they'll totally miss it if you try to explain, say, recursion, or a binary tree, in C. (It's like having somebody try to teach you about Japanese sentence structure: I'm still trying to figure out what all those funny symbols are -- how the heck am I supposed to diagram a sentence?)

      And there's almost no faster way to turn people off programming than to show them the ugly details first before they can even understand the important concepts.

      Also note that most professional programmers these days don't even *use* C as their primary language. They've all moved on to languages like Java or C# or Python so they can think about the important concepts and not the ugly details. Forcing beginners to learn C sounds frighteningly like "well, we had to go through goat week, so they should, too".

      Now, if you want to be a professional programmer, you'll need to learn C; absolutely. I wouldn't hire somebody who didn't know C fairly well. But don't teach it to beginners. You'll just frustrate them and waste everybody's time.

      Start with something like Python, where they can learn the important concepts easily. If they're passionate about it they'll stick with it, and they'll learn C on their own before too long, anyway.

    38. Re:Pascal by DataCannibal · · Score: 1

      And another important point is that if nobody is learning C anymore who's going to write all these Virtual Machines and libraries that these Java/.net wimps need just to write a "hello world" program, eh?

      --
      No but, yeah but, no but...
    39. Re:Pascal by HeghmoH · · Score: 2, Insightful

      I always thought that programming should be taught from the outside in. Start on the extremes; learn an incredibly high-level language that shows you nothing of the nuts and bolts, like Lisp. At the same time, learn assembly, preferably a nice clean assembly that's easy to follow. Work your way up from assembly and down from Lisp until you meet in the middle somewhere.

      Of course, I haven't ever tried this, so maybe it's just a load of crap.

      --
      Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
    40. Re:Pascal by master_p · · Score: 1

      It's not good to start from Lisp/Scheme/ML etc. Lisp is difficult to learn because of the parentheses problem. It's very hard for seasoned programmers, let alone beginners.

      The concept of functional languages is even harder, especially since there is no assignment in these languages and everything has to be done with recursion. Their syntax leaves a lot to be desired, because you have to have a math background to get used to 'a b -> c' and the like. It also strange because it goes against the primary concept of giving commands to a computer. In functional languages, you don't give commands, you only write computations.

      The best language for education purposes is Pascal. It has no difficult concepts like polymorphism and inheritance; variables are grouped together; it is very verbose. Basic is also a good candidate for teaching the foundamentals, which is a lot like Pascal, without the structured part.

    41. Re:Pascal by Anonymous Coward · · Score: 0

      ...very gental introduction...

      The word is: gentle, Mr. Tutor. No doubt you had scads of compile errors?

    42. Re:Pascal by EvilTwinSkippy · · Score: 1
      They use Java. Or maybe soon C#

      IOW Java, or soon Java.

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
    43. Re:Pascal by EvilTwinSkippy · · Score: 1
      I'm an old fogey from the days of passing interrupts to DOS. I miss it. But it's never coming back. Device drivers are far more complex. Almost everything is a data bus requiring traffic management, your PCI bus, USB, Firewire. There are pipelines to work with. The whole system has automations speaking to automations.

      If you are going to teach C, it has to be restricted to an older platform where you are building a bootloader yourself (i386, Z80, arm). Otherwise all you end up teaching is how to pass data to an API, so you might as well stick with Java, C++, or that other language (C#).

      That said, a knowledge of C, and how computers worked "back in the day" has helped me tremendously in finding and fixing problems in programs under Unix. (I distinctly remember recently hacking the Linux's USB driver to accomidate my new Sony Clie. Crap that was a year ago. I am an old fogey.)

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
    44. Re:Pascal by Anonymous Coward · · Score: 0

      A functional language IS good to start with as it resembles math. Side-effects like assignments makes program justification very hard and should therefore not be used when students are learning to design algorithms and to prove them.

      The argument that you should have a math background in order to learn functional languages is not useful, as software engineering is all about applying math to solve a problem using a computer. Think about formal specification languages, intractability and so on. If you do not know math you can not design and write serious software. You can dabble with Perl, Visual Basic, scripts, C, C++, Java and shit like that, but you won't be an real engineer writing programs that other people may have to entrust their lives.

      When I started at university 13 years ago, the first language we where taught was ML. I am very thankfull that we learned that early and I still use it today to express algorithms with and to argue about their correctness.

    45. Re:Pascal by tfmkayaker · · Score: 3, Interesting

      LISP is an awful language to learn as a first language, not because of it's syntax (which is bad enough) but...

      BECAUSE IT USES A COMPLETELY DIFFERENT THEORY OF COMPUTABILITY THAN EVERYTHING ELSE.

      Most other languages use turing machines as their basic computability theory.

      LISP uses micro recursive functions

      Each is as strong as the other - but involved radically different thought processes.

    46. Re:Pascal by brunogirin · · Score: 1
      At my university, we learnt languages using Eiffel and it worked extremely well because Eiffel is a pure OO language with programmation by contract concepts, genericity, etc. Hence it has concepts that are more complex than Java but it is excellent as a teaching language to learn complex OO features and how to use them.

      However, I agree with your point about the Java API: it complicates things because you've got to learn how to use the API in addition to learn how to create new classes.

    47. Re:Pascal by master_p · · Score: 2, Interesting

      A functional language IS good to start with as it resembles math.

      No, it is not. In fact, functional languages are useless. Yes, I am going against the establishment, but there is a perfect reasoning behind that; read on.

      Side-effects like assignments makes program justification very hard

      The problem is not about not changing state, but about respecting the constraints of state. Functional languages begin with the foundamental assumption that changing state is something wrong. Well, they are mistaken: a good programming language should allow state change, but only when it can be proven by the compiler that the assumptions made by its authors and the program's constraints are proven.

      should therefore not be used when students are learning to design algorithms and to prove them.

      Proving an algorithm does not make it correct in the first place. I have written many correct algorithms in ML, but they were wrong: they did not do what I expected them to do, although they were correct from a mathematical point of view.

      The argument that you should have a math background in order to learn functional languages is not useful

      It is! people without a mathematics background have a real hard time with functional languages, because functional languages require prior knowledge to set theory, category theory and lambda calculus.

      software engineering is all about applying math to solve a problem using a computer

      No, it is not. Software engineering is all about applying logic to solve a problem, not math. By using math alone, an algorithm can be correct, but not do what it is supposed to be doing.

      Think about formal specification languages, intractability and so on

      Formal specification languages have nothing to do with functional programming languages. The output of Z can be easily feed to C. In fact, this is the most usual case.

      If you do not know math you can not design and write serious software

      Well, isn't what you're saying contradicting with your previous statement that 'a math background is not required to learn functional languages'???

      You can dabble with Perl, Visual Basic, scripts, C, C++, Java and shit like that, but you won't be an real engineer writing programs that other people may have to entrust their lives

      The problem with conventional programming languages is that they do not carry the designers' assumptions/constraints with them! If they did, then compilers could check if the assumptions/constraints are not violated.

      Example: the function 'strlen'. The foundamental assumption for 'strlen' not to fail is that the parameter string pointer is not null. Yet, the compiler easily accepts the following:

      char *str = NULL;
      int i = strlen(str);

      Why does the compiler accept such a piece of bullshit code? it is because the developer of 'strlen' makes an assumption that the user of 'strlen' does not make.

      Therefore: The problem with conventional programming languages is that programs are provided without their assumptions/constraints.

      In fact, an imperative compiler could easily elimininate a big source of problems regarding pointers if it simply attached 'usage' attributes to each variable! For example:

      void freeString(char *p) {
      free((void *)p);
      }
      int main() {
      str = strdup("the quick brown fox");
      freeString(str);
      printf(str);
      }

      The above code has an obvious error, doesn't it? the error is that 'freeString' frees the string, and 'printf' uses the freed memory.

      It is obvious to us, why is it not obvious to the compiler?

      Let me tell you why: it is because the 'p' parameter of function 'freeString' is not marked 'invalid' after using 'freeString'!!!

      Here is the same code annotated with 'usage' attributes:

    48. Re:Pascal by Anonymous Coward · · Score: 0

      Could not agree with you more. More places should teach Scheme and Lisp to start with.

      As for the syntax thing, I have a theory that there are so many bad programmers out there because they keep gravitating to languages with the similar syntax even though the syntax has different meaning. People think because the syntax looks similar that they do not to really learn it. I have seen too many Java programs incorrectly comparing objects with "==" instead of using "equals"- I don't know if C++ ruined people or the syntax is just bad but I think Java would be better with a different syntax.

    49. Re:Pascal by AlanS2002 · · Score: 0

      In my first year it was Eiffle, followed by C, Haskell and more Eiffle in second year. Now they've replaced Eiffle with Java (The bastards). Frankly I would of much preffered they started with C.

      --
      Not all conservatives are stupid,
      but it is true that most stupid people are conservative.
      - Hume
    50. Re:Pascal by AlanS2002 · · Score: 0

      I forgot they also chose Ada for one of the courses in second year (BASTARDS!). Now there is a language that should never be infliected upon anyone. I don't care if it has protected objects or not, it just sucks arse.

      --
      Not all conservatives are stupid,
      but it is true that most stupid people are conservative.
      - Hume
    51. Re:Pascal by Magius_AR · · Score: 1
      No, so why would you think that forcing a naive user to stumble hither and yon against arcane syntax is a good way of teaching programming concepts?

      Why do you think that C/C++ are mired in syntax?
      I think that "cout << data" and "printf(data)" is conisderably easier to grok and remember than "System.out.println.morelibraries.toomuchcrap.need lessderefence(data)" Or is your argument that println is somehow more easier to understand than printf?

      Java is an _awful_ language for beginners. You can't learn to code well without a basic understanding of how memory is laid out and how memory works (pointers, arrays, structures)...java abstracts all of this. It's like trying to learn how to build a house by hiring a bunch of subcontractors to do it for you. Sure, it'll get done (most likely with alot of corners cut), but you sure as hell won't know how to build it yourself (and you won't know what's going on under the "pretty exterior.")

      Pointers/Arrays and control/loop structures should be the first thing you learn in any programming environment. When I was in school, they showed us STL (queues, lists, maps), and then they told us to implement the same...and the funny thing is that I remember being disgusted and appalled that I was being forced to write something that could be done with a single line of pre-existing library code (mindset of a "Java"-er). But looking back on it, man am I grateful. It was one of the greatest beginning programming lessons I ever undertook.

      ou want to start --START-- with a language that has incredibly simple syntax. Like Lisp, Scheme, and the like

      Are you on crack??? Lisp?? A majority of advanced programmers can't grok Lisp. I myself had to stop after like 3 weeks of class because it was like reading gibberish. Man, recognize that the people that like and understand that language and few and far between, not the norm. It's certainly not an ideal learning language (unless you're trying to turn people off to Comp Sci permanently)

    52. Re:Pascal by Anonymous Coward · · Score: 0
      One word: Forth.

      It's simple and awesome.

    53. Re:Pascal by Anonymous Coward · · Score: 0
      When it comes to teaching languages, nothing is easier and better for learning how stuff works than assembly. You can just give the students a printout with a list of conditional and IO instructions for a hypothetical computer, teach them how stacks and registers work, and let them go at it. There is no syntax learning curve.

      High level shite like OOP shouldn't be taught in depth at any school. It's not hard science and won't help students learn anything (with the obvious exception of memorizing class/method names from gigantic code libraries.)

    54. Re:Pascal by renoX · · Score: 1

      I disagree, assembly language is even more difficult to use than C language and the programs are usually unreadable.
      Of course it is good for learning how things really work, but that's all.

      As for OOP, it is really hard to grasp at the beginning and how to use correctly, so it should be taught.
      Who said anything about learning class libraries? This has nothing to do about learning how OOP works and why it is useful.

      Also as for "hard science", why should school be limited to hard science?

      I've learned about automated proof at school and don't expect it to become useful anytime soon (the programs conforms to the spec, great now is the spec correct?) except in very limitated situation, so I consider it like time mostly wasted.

    55. Re:Pascal by k98sven · · Score: 1

      Well, you're missing a big point here: That it is practically impossible to teach a beginner a non-mainstream language.

      People simply want to learn programming languages they can use in the real world. Saying that "Learning this language will make it easier to learn other languages, which people do use!" is hardly a good motivator.

      Sure, maybe if you're teaching comp-sci students, that's a practical way to go, since they expect and are prepared to learn more than one programming language. But there's quite a big number of people learning introductory programming who are not comp-sci students.

    56. Re:Pascal by Anonymous Coward · · Score: 0

      I will not elaborate further on your comments as we obviously do not agree. But I want to say that I am definately not against imperative programming languages as I use them every day productively and I am even an Ada promoter. The question was about what language to TEACH as the first language.

      Please mail me at mark.lorenzen@surfpost.dk or check http://www.sparkada.com for information on a very cool language and toolset for practical industrial-strength static analysis of programs.

    57. Re:Pascal by angel'o'sphere · · Score: 1

      I like your introduction, yes, C is NOT a begginers language. C is a portable assembler, it was designe to be that.

      OTOH, I don't agree that a language like LISP is a good beginners language.

      IMHO the best beginner language was and likely ever will be: Pascal. UCSD Pascal or any other simple non object oriented Pascal.

      for i := 0 to 10 step 2 begin /* .... thats far easyer to understand than C or LISP. */
      end;

      In our time a probably quite good language for beginners might be LUA.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    58. Re: Pascal by Anonymous Coward · · Score: 0

      Pascal -> Modula -> Modula2 -> Modula 3 -> Python

      The diffences between the Moduli were not all that great, so Python is actually closer to Pascal than the chart indicates.

    59. Re:Pascal by jonwil · · Score: 1

      At high school I learned pascal then later Visual Basic (starting with VB3 then VB4).
      Then when uni happened, JAVA was the language of choice with some C & ASM in the "lower level" course
      Since then I have done more java, C and C++ & some VB.

  25. Caml missing by GrAfFiT · · Score: 2, Informative

    The Caml language (pronounce "Camel") is missing.
    Caml is a programming language, easy to learn, easy to use, and yet amazingly powerful.
    It is developed and distributed by INRIA (the main French research institute for computer science), since 1984. It is freely available for Unix, PC or Macintosh.
    There exist two flavors of Caml: Caml Light and Objective Caml. Caml Light is merely a subset of Objective Caml, especially designed for teaching and learning the art of programming. In addition to the Caml Light's core language, Objective Caml features a powerful modules system, full support to object-oriented paradigm, and an optimizing compiler.

    More information here.

    1. Re:Caml missing by Anonymous Coward · · Score: 0

      no, it's not.

    2. Re:Caml missing by e2ka · · Score: 4, Funny

      Look harder.

    3. Re:Caml missing by GrAfFiT · · Score: 1

      Kthnx, I'm going to buy a new pair of glasses. hides

  26. They Missed one by Umbral+Blot · · Score: 1

    HEY, they missed Centum! :-) Just kidding, it's not like we really expect to be found on these lists.

  27. No Actionscript by arete · · Score: 1

    Admittedly 2004 is the first year it's a "real" programming language, so maybe that's too recent. But now it's OOP and everything.

    --
    Looking for freelance Actionscript (Flash/Flex) or ColdFusion work and/or freelance developers. Email me, put Slashdot
    1. Re:No Actionscript by Anonymous Coward · · Score: 0

      OOP doesn't imply "real programming language"

    2. Re:No Actionscript by Anonymous Coward · · Score: 0

      Isn't actionscript supposed to be equivalent to ECMAScript (that's javascript to you and me) now?

    3. Re:No Actionscript by Anonymous Coward · · Score: 0

      What DOES it imply, then? OOPS?

    4. Re:No Actionscript by arete · · Score: 1

      I'm sure we could argue for days about what should and shouldn't qualify as a real programming language, but I bet Actionscript 2.0 qualifies more than you think.

      It cannot directly manipulate memory - you can use references but never directly manipulate pointers. It does require you to open a GUI to run the compiler. Otherwise it essentially lets you do whatever you'd expect to do in a totally abstract computer. No direct access to any hardware or OS specific systems, because it runs OS independently.

      But it has all of the data and programmatic structures you'd expect of a programming language to do anything abstract or to interact with a user (via monitor, keyboard, mouse, audio)

      --
      Looking for freelance Actionscript (Flash/Flex) or ColdFusion work and/or freelance developers. Email me, put Slashdot
  28. Note: by tubbtubb · · Score: 4, Funny

    They misspelled:

    The Devil -> Fortran I

  29. Stops at SQL99? by Anonymous Coward · · Score: 0

    The second link lists SQL99 as the latest. What happened to SQL03?

  30. Where is Konrad Zuse's programming language ? by Anonymous Coward · · Score: 2, Interesting

    Plankalkul ??

  31. Re:Java by rewt66 · · Score: 2, Informative

    Believe it. The only thing it influenced was the name.

  32. Forth by rk87 · · Score: 1

    For the Forth branch of languages, Joy and Factor are missing, which are both "functional forths", so with a large influence from lisp etc.

    If I interpret this correctly, I see 6 major language families, which have heavily interbred. These are:

    • Fortran
    • Forth
    • B-O
    • Snobol
    • APL
    • Lisp

    Apart from Joy and Lisp, which are not on the chart, the Forth subtree is the only one without outside influences.

    Anyone else notice that theres a huge void between 1992 and 1995, followed with a big surge starting in '95? This is not a coincidence. :)

    --
    I'M NOT ANGRY!
    1. Re:Forth by Dachannien · · Score: 1

      Prolog.

    2. Re:Forth by budgenator · · Score: 1

      the Forth subtree is the only one without outside influences.
      APL not only had no outside influences, it inturn influenced nothing else. In fact to program it, you needed a special keyboard.

      The huge surge in '95 is probably due to the increase in powerful PC's and Open Source, allowing developement to occur outside of the research centers.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    3. Re:Forth by Fahrenheit+450 · · Score: 1

      it inturn influenced nothing else. In fact to program it, you needed a special keyboard.

      You might want to have a look at J, the successor to APL. It uses standard glyphs and everything...

      --
      -30-
    4. Re:Forth by APL+bigot · · Score: 1

      APL not only had no outside influences, it inturn influenced nothing else. In fact to program it, you needed a special keyboard.

      Not true. APL influenced A, A+, J, and K. In fact J was written by Ken Iverson (the original author of APL). Although, some consider these dialects of APL.

      Iverson passed away October 19, 2004 at age 83. So long Ken, and thanks for all the APL.

      A special keyboard is not needed, however special keycaps were helpful. At least until you know where the glyphs are mapped. And there are two APL keymappings you can use; standard and unified, selected by CTRL-N and CTRL-O.

      Check out APL. It's syntax is very simple, and the language very powerful. I don't know why anyone would use C or its derivitives after being exposed to APL. There is even a free version of APL available for x86 Linux: APLX from MicroAPL. Download it from their website. http://www.microapl.co.uk/apl/aplx_downloads.html

      --
      Heisenberg may have been here.
  33. Re:ho80 by FLAGGR · · Score: 0, Flamebait

    The gaotse man was a programmer? Wow. Wouldn't want to touch his keyboard.

  34. Movie ++ by LegendOfLink · · Score: 5, Funny

    I think they forgot Movie++, which of course, runs on MovieOS. It's a great programming language, you navigate classes and objects in full blown 3d floating experiences!

    Every video can be programmed to zoom up until you can see microscopic particles WITHOUT any loss of resolution!

    My personal favorite is when hackers run virus attacks against giant "Gibson" computers. See, you just don't get a BSOD, you get an awesome 3d graphic eating your desktop!

    1. Re:Movie ++ by Anonymous Coward · · Score: 0

      But your passwords are limited to 8 characters. On the bright side - if you forget your password you can just use that override-button

    2. Re:Movie ++ by Profane+MuthaFucka · · Score: 1

      It's so secure that both the military and the elite overlords of the world run it. Yet when you need to hack it, you can get right in.

      It's so portable that it runs on the giant brain in the steel tower AND on the computer wristwatch worn by the hero.

      --
      Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
    3. Re:Movie ++ by Anonymous Coward · · Score: 0

      It's so secure that both the military and the elite overlords of the world run it. Yet when you need to hack it, you can get right in.

      It's so portable that it runs on the giant brain in the steel tower AND on the computer wristwatch worn by the hero.

      Sounds like Linux then.

  35. They Missed another one by Anonymous Coward · · Score: 0

    InterLisp

  36. Found in Wired by jonnylawUSA · · Score: 2, Interesting

    A similar historical relationship of programming languages was featured in a "centerfold" of Wired within the past two years. I forget the exact issue, but was more colorful. Unfortuneately, wired.com tends to not put these up on their web archieve. Any one else remember this?

  37. For the author by avandesande · · Score: 1

    I dont know if the author is going to read this but he has missed the progression of APL to the language 'J'

    you can get more info at www.jsoftware.com

    --
    love is just extroverted narcissism
  38. Hmmm by couch_warrior · · Score: 1

    Shouldn't autocoder be in the lineage of COBOL, and shouldn't anaconda descend from Python a couple years ago? Where is CPM's compiled basic? And COBOL, I know a lot of people making money today developing in a language that disappeared back in 2002.

    There's an amazing amount of detail in the chart, but there is no mention of vendor proprietary languages, like IBMs transaction control language that TSO was written in, or the DEC Forms Control Language for transaction processing.

    I think this task is impossibly complex and the knowledge has often disappeared with the death of a company here and there.

    --
    "Sic Semper Path of Least Resistance"
    1. Re:Hmmm by avandesande · · Score: 1

      one could probably devote a whole chart to shell languages such as JCL

      --
      love is just extroverted narcissism
    2. Re:Hmmm by demi · · Score: 1

      The biases of the preparer are shown by sh being featured but not JCL, DCL, etc.

      I was thinking the same thing about the various macro languages included with Lotus 1-2-3, WordPerfect, etc.

      --
      demi
    3. Re:Hmmm by Mr.+Byaninch · · Score: 0

      JCL isn't a language. It's a curse. COND= is all I need to say about that.

      --
      Sig not available, please try again later. If the problem persists, then the submitter is an idiot.
  39. Somewhat odd... by jameson · · Score: 3, Interesting

    Nice... but is it really neccessary to list tiny little update releases for current languages? And what precisely "defines" a language here-- should we treat SML/NJ as a different language than SML, because it supports continuations? Or current GHC as something other than Haskell98 because of its rank-n polymorphism and built-in support for arbitrary Arrows? And if drafts are in there (Fortran 2000), what about other drafts (ML 2000)?

    And, finally, where's Scala (http://scala.epfl.ch/) on that graph?

    1. Re:Somewhat odd... by crumley · · Score: 1

      Yeah, it also odd that they mention Fortran 2000, ut not Fortran 2003 which is a standard.

      --
      Preventive War is like committing suicide for fear of death. - Otto Von Bismarck
  40. Error on the second page by borgheron · · Score: 1

    It's a documented fact that Objective-C was an influence on Java, at least as far as some of it's dynamic features are concerned.

    While this is reflected on the first link, it's not reflected properly on the second.

    GJC

    --
    Gregory Casamento
    ## Chief Maintainer for GNUstep
  41. What about xTalk? by Anonymous Coward · · Score: 0

    What, no xTalk!? Probably the most human readable language ever invented, and was the primary inspiration for JavaScript.

    I believe xTalk kinda borrowed from Pascal, but Dan Winkler basically came up with the whole thing on his own.

    Oh well. Just my $0.02USD.

  42. Obvious Exclusion by Anonymous Coward · · Score: 0

    One obvious problem with the first one is the failure to list C++ as a predecessor for ANSI C. This is corrected in the second link.

    For those who don't know, ANSI C borrowed (at least) prototypes and the 'const' modifier from C++. ANSI C also influenced C++ of course, so the two have a cyclic relationship.

  43. Re:Guys come on, Java sucks by Anonymous Coward · · Score: 0

    I don't like OOP but saying that it will never be useful is a little absurb. For certain tasks, it works better. It just happens that is a very small group.

  44. FOCAL by alanw · · Score: 1
    I can remember going to a university interview for a place on a computing degree, circa 1975. A group of us were sitting around waiting for our turn, and were told that if we wanted to play on a computer, there was a PDP-8 running FOCAL[1] in the corner of the room. I was the only one that had ever used a computer before[2] or who showed any interest in playing with it, and by the time my turn came for the face-to-face with the lecturers, I had written a trivial prime number printer.

    Googling for "FOCAL" turned up this interesting page on the taxonomy of computer languages

    [1]
    http://www.faqs.org/faqs/dec-faq/pdp8/section-11.h tml
    http://hopl.murdoch.edu.au/showlanguage.prx?exp=40 6&language=FOCAL

    [2] my school had use of a HP 9830 for half a term a year, and I was the one usually found in front of it after school.

  45. Don't believe him by Alien54 · · Score: 3, Funny
    Bill Gates invented everything.

    Really

    ;)

    --
    "It is a greater offense to steal men's labor, than their clothes"
    1. Re:Don't believe him by kootsoop · · Score: 1

      I thought ALGORE did.

      --
      "Engineering is the art of making what you want from things you can get" - Jerry Avins
    2. Re:Don't believe him by dutky · · Score: 1
      Alien54 wrote:
      Bill Gates invented everything.

      Really


      LIES! Apple invented everything first! Bill stole it all from the Steves, and didn't even do it half as well!
    3. Re:Don't believe him by Z4rd0Z · · Score: 1

      Was ALGORE influenced heavily by Algol?

      --
      You had me at "dicks fuck assholes".
  46. Mysterious mysteries by Anonymous Coward · · Score: 1, Interesting
    Perhaps you are simply not wise enough to understand the teachings of The Great Camel as told by his one true Prophet, Wall.

    From Chaos The Great Camel created Perl, which was only slightly less chaotic but vastly more useful.
    - The Book of Wall

    1. Re:Mysterious mysteries by pnuema · · Score: 1
      Perhaps you are simply not wise enough to understand the teachings of The Great Camel as told by his one true Prophet, Wall.

      Preach, brother!

  47. How little improvement there has been... by dtjohnson · · Score: 1, Interesting

    It is remarkable how little improvement there has been in ease of use between Fortran in 1954 and Java 2 in 2004, even though the power of the underlying hardware has increased by about 10**12. Where is the development environment that is as simple to use as lego blocks which anyone over the age of 6 can use to quickly create powerful apps? Is such a thing impossible, no matter how powerful the hardware becomes?

    1. Re:How little improvement there has been... by Anonymous Coward · · Score: 0
      Where is the development environment that is as simple to use as lego blocks which anyone over the age of 6 can use to quickly create powerful apps? Is such a thing impossible, no matter how powerful the hardware becomes?

      Yes, because writing a program is 10% coding and 90% design. The design part can never truly be easy while staying flexible.

      Basically anything that's as easy to use as you describe has moved from the realm of "language" to the realm of "application". Designing applications will always be hard, no matter how good the tools get.

    2. Re:How little improvement there has been... by MonkeyCookie · · Score: 2, Insightful

      The hardware isn't the problem. There's plenty of processing power to do something like that. The problem is that nobody has figured out how to make a programming environment that is both powerful and flexible like modern programming languages, yet extremely simple like legos.

      I suppose one could produce a graphical version of a current programming language, but that would be very complicated and slow to use.

      If you can figure out how to write something like this that creates large applications like Firefox, Word, or Visual Studio, you'd stand to make a fortune.

    3. Re:How little improvement there has been... by dcam · · Score: 1

      Yes. The problem lies in making something sufficiently general to be useful, yet specific enough to work in this case. Don't hold your breath waiting for it. While it may be announced, it will never come.

      --
      meh
    4. Re:How little improvement there has been... by SagSaw · · Score: 2, Interesting

      I suppose one could produce a graphical version of a current programming language, but that would be very complicated and slow to use.

      Take a look at LabView at some point

      While it is primarily aimed at test and measurement applications, anything that can be done in a general purpose programming language can be done in LabView.

      but that would be very complicated

      It's not overly complicated. In some ways, it is significantly less complicated that text-based languages. For example, if you have a function (VI is labview terminology) that is blocked, it will automatically run other code that does not depend on the output from the blocked function. I don't have to think about threading or setting up a polling loop since it is handled automatically. Also, things like 'Do I need to make a copy of this data?' are handled by the compiler rather than being explicitly specified by the programmer.

      and slow to use

      With regard to speed, I have a couple of reasonably complex LabView programs that are running on PII's in the 300MHz range with no issues at all. Labview complies to machine code, so there is no issue of interpreting the graphical language at run-time. If you can figure out how to write something like this that creates large applications like Firefox, Word, or Visual Studio, you'd stand to make a fortune.

      Well, at a previous employer, we had a LabView application that queried data from a SQL database based on user-specified criteria, pulled statistical data from the results and wrote it into a report, and the created an excel spreadsheet from the queried data. I'm not sure that LabView is the best language for that sort of thing, but it will work.

      As far as the fortune bit, at $2000+ for the development environment, I imagine that NI makes a tidy profit off of LabView. Add to that hardware sales for embedded systems and real-time controllers capable of running LabView programs and I have to think that 'fortune' is probably a good description.

      --
      Come test your mettle in the world of Alter Aeon!
    5. Re:How little improvement there has been... by jamespharaoh · · Score: 1

      I have to use a graphical version of a modern programming language on a regular basis

      Check out Envox. It's mainly used for programming IVR systems.

      It's an absolute dog to use. Things which can be expressed simply (and read simply) in any programming language can take several "blocks" tied together in strange fashions. And all you can see is the type of block, its connections, and the first few letters of its name. To find out specifics (eg variable names etc...) you need to browse through various property pages. Worse, these are also a fixed size and often you have to scroll individual fields to find out what a bit does.

      Not that I think this is the best you could do with a graphical environment. It's more of an example of what not to do.

      To be fair, they have recently added one long-missing featurereusable subroutines.

  48. What about RPG? by Anonymous Coward · · Score: 0

    no, not in the gaming sense...

    It and COBOL probably have the most LOC for business software hands down....

    Twin/Triplet/Quad?

  49. History of Programming Languages by Anonymous Coward · · Score: 0

    One from a safe source:

    http://www.oreilly.com/pub/a/oreilly/news/langua ge poster_0504.html

  50. Re:Guys come on, Java sucks by abborren · · Score: 2, Interesting
    Agrred, OOP sucks, and this is why.

    At least it is an interesting read. Actually, I like OOP somewhat. When it is not overdone.

    --
    ><////>
  51. From the first link by stratjakt · · Score: 1

    I didn't see C#, VB, hell any flavors of BASIC - they count every bit as much as ruby - even more so, since they actually see use day to day in the real world.

    I didn't see Prolog or any logical languages. I didn't see a whole lot of stuff.

    Wait, there's VB. As a decendent of MS Basic 2.0? What, no QuickBasic in between (or the million other flavors MSFT pumped out in the interim - PETBasic for the commies comes to mind).

    Is Logo there? Because if you forget everyone's favorite turtle you missed the whole point of the excercise.

    And what of brainfuck?

    --
    I don't need no instructions to know how to rock!!!!
    1. Re:From the first link by Anonymous Coward · · Score: 0

      Are you blind? They're all there.

  52. Python *is* strongly typed by Rob+Riggs · · Score: 4, Informative
    The parent did not deserve to be modded up as "informative". An accurate title for the post would be "Python is not statically typed."

    Python is a strongly typed language. It is in the class of strongly- and dynamically-typed languages. Read this article on Python's type system for a good overview and a little information on "type" terminology.

    --
    the growth in cynicism and rebellion has not been without cause
  53. Re:Guys come on, Java sucks by iluvcapra · · Score: 1

    Try to smile when you say that.

    --
    Don't blame me, I voted for Baltar.
  54. old COBOL hack by Anonymous Coward · · Score: 0

    Yeah, admit it I do... millions of lines of code in my misspent youth (and that was just one program). Grace, when I die I'm gonna look you up and kick your a--!

  55. Fine....here's the family tree for Windows then by MattGWU · · Score: 3, Interesting
    --
    "These people look deep within my soul and assign me a number based on the order in which I joined" --Homer re:
    1. Re:Fine....here's the family tree for Windows then by halltk1983 · · Score: 1

      What no Windows 64... Darn, guess I'll have to stick with Linux ;-)

      --
      Watch for Penguins, they eat Apples and throw rocks at Windows.
    2. Re:Fine....here's the family tree for Windows then by Anonymous Coward · · Score: 0

      Windows XP Professional x64 Edition (RC1 build 1289) January 5, 2005

      RC1 ...

    3. Re:Fine....here's the family tree for Windows then by AndrossUT · · Score: 1

      Wait, that timeline says MS developed QDOS... didn't they just buy it off some programmer who wrote it as a "Quick and Dirty Operating System"?

    4. Re:Fine....here's the family tree for Windows then by Anonymous Coward · · Score: 0

      Bill & Co. didn't just purchase it and change some strings in the source code, they had to make it commercially pimpable. There's more to the story than what you saw in "Pirates of Silicon Valley."

  56. Original and Updated by douthat · · Score: 5, Informative

    I've had the O'Reilly poster on my wall since they released it. So when I saw the graphic on this guy's site, with a January 16, 2005 copyright, and no reference of O'Reilly's poster, I thought it smelled fishy.

    Just take a look at the two images:
    http://www.oreilly.com/news/graphics/prog _lang_pos ter.pdf
    vs
    http://www.levenez.com/lang/history.h tml#02

    and tell me you don't see the similarities.

    Anyway, so I thought this guy ripped off O'Reilly's poster, but, as it turns out, if you look in the small print on O'Reilly's poster, you'll see that he was the legitimate creator of the image. I even realized that it's been updated a little bit since O'Reilly released it.

    So, yeah, we've seen this story before, however, the link provided in the summary above is new and newsworthy, becuase it gives more links to learn about each individual and family of languages and updated the previous graph.

    --
    She loves me: 09F911029D74E35BD84156C5635688C0 She loves me not: 09F911029D74E35BD84156C5635688BF ...
    1. Re:Original and Updated by mav160 · · Score: 0, Redundant

      look at the copyright at the bottom of the O'Riley poster and look at the copyright on this one....Eric Levenez - the O'Riley poster even gives his website www.levenez.com

    2. Re:Original and Updated by Bloody+Templar · · Score: 1

      If you think back to the /. article where the O'Reilly poster was announced, some kind soul linked to this one then. I know because I printed it and displayed it in my cubicle.

    3. Re:Original and Updated by brrskg · · Score: 3, Informative

      If you look on Éric Lévénez Computer Languages History page you'll see that there is a link to O'Reilly. "O'REILLY has published a color version of The History of Programming Languages."

    4. Re:Original and Updated by Anonymous Coward · · Score: 0

      Yeah, kind of like how the guy you're replying to already said in the post you're replying to?

      Reading comprehension, anyone?

  57. Dibol. by Spudley · · Score: 1

    I'm suprised that Dibol didn't make it into either chart - for a while it was a fairly important business language. It was supplied with DEC VAX systems, and ran a *lot* of software for a *lot* of businesses. It even had its own ANSI standard.

    It's not doing much any more (it still exists, on various platforms, but is mainly limited to legacy systems), but I think it was big enough in its day to be worthy of at least an entry.

    --
    (Spudley Strikes Again!)
  58. Of course... by ch-chuck · · Score: 1

    FORTH is at the top - It came from nowhere, and is unrelated to anything else, yeagh!

    dup 10 / dup s1 ! 10 * - s2 !

    --
    try { do() || do_not(); } catch (JediException err) { yoda(err); }
    1. Re:Of course... by JoeBuck · · Score: 1

      It could be argued that Forth is derived from RPN calculator languages.

    2. Re:Of course... by Anonymous Coward · · Score: 0

      Which calculators are you referring to? Forth was initially developed during the year 1968 at Mohasco Industries in Amsterdam, NY and has roots going back to Chuck Moore's work in the late 1950s at an observatory.

      RPN seems more of a side effect of how the language was designed (using stacks for transient storage) than a preconceived feature. If you really want to know I suggest you ask Chuck Moore :-)

      The Evolution of Forth

    3. Re:Of course... by Master+Bait · · Score: 1

      Hmm... While doing graduate work at Duke University, I was taught that FORTH was designed at the International House of Pancakes as a language to train robotic cooks to prepare meals.

      --
      "Only in their dreams can men truly be free 'twas always thus, and always thus will be."
      --Tom Schulman
    4. Re:Of course... by ch-chuck · · Score: 1

      According to this history Moore added a push down stack around 1965 - While Polish and RPN had been around for some time since then I don't think there were too many calculators, probably some desktops, but the earliest HP calc I could find is this one - "In 1968, the Hewlett-Packard company was primarily a test equipment manufacturer." etc.

      --
      try { do() || do_not(); } catch (JediException err) { yoda(err); }
    5. Re:Of course... by Anonymous Coward · · Score: 0

      for learning, the language decision should follow from and be guided by what the teaching objectives of the course are. if the focus is on how the underlying architecture works and maybe data structures and algorithms then c is a good choice. alternatively if the focus is higher level data representation and oo technique then java is a better fit. Ideally being exposed to both is good. these alternatives are not completely exclusive you can of course possible to implement oo techniques in a language like c (eg polymorphism using function pointer tables embedded in data structures) but the question is why would you want to.

      as someone who grew up writing programs and learning programming it amazed me in college just how few students had actually done any programming at all before enrolling in CS science courses.

  59. Re:Guys come on, Java sucks by Anne+Thwacks · · Score: 1
    ... Unless your definition of useful included job creation.

    OOP can make any project employ more peole for longer while pretending to be cost effective. The fact that nobody outside the OOP world can graps what the stuff actually does is particularly beneficial. Its in the same league as COBOL when it comes to getting the most man-hours out of the contract.

    --
    Sent from my ASR33 using ASCII
  60. Cybil by cjwl · · Score: 1

    This was a Pascal derivative invented by Control Data Corporation in the 80's. They wrote an entire operating system, NOS/VE, in it. It was a pretty nice system level language. The OS was pretty nice too, nothing like what most people are exposed to today, had a lot of nice security features and was well organized.

  61. Java, Python and Ruby have the highest fan-in by davi_slashdot · · Score: 1

    If we look at the tree, we see that three of the most modern languages where created about the same time (1991-1993), with a high fan-in (number of parent languages).

    Java was called Oak then, but Python and Ruby didn't change names. If we try to preview the future, I would say that the ball is with C# now, but I really don't like this idea :-).

    1. Re:Java, Python and Ruby have the highest fan-in by anomalous+cohort · · Score: 1

      I find it hard to believe that Java's precursor was influenced by Scheme. I haven't studied Oak directly. Does anyone here know the story on this?

  62. Sad. by Anonymous Coward · · Score: 0

    INTERCAL represented true innovation. I mean come on, any language is worthless unless it has a COME FROM statement! (*)

    (*) I'm aware that exceptions actually offer a (weaker) form of COME FROM statement... which is somewhat ironic since they were meant to improve structured programming.

    1. Re:Sad. by Anonymous Coward · · Score: 0

      call/cc offers a very well-defined, formal construct that could be considered a kind of "come from".

  63. Pretty funny... by SuperKendall · · Score: 3, Funny

    ...though I feel you are rather lucky having the last entry fall off the edge of the post and thus reduce significantly the flameage you may get.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  64. Karma Whoring! by wiggles · · Score: 4, Informative

    For those, like me, who have no idea what this guy is talking about, see this.

    1. Re:Karma Whoring! by zobier · · Score: 2, Informative
      Why don't you just go all out and quote it
      HCF /H-C-F/ n. Mnemonic for `Halt and Catch Fire', any of several undocumented and semi-mythical machine instructions with destructive side-effects, supposedly included for test purposes on several well-known architectures going as far back as the IBM 360. The MC6800 microprocessor was the first for which an HCF opcode became widely known. This instruction caused the processor to toggle a subset of the bus lines as rapidly as it could; in some configurations this could actually cause lines to burn up.
      --
      Me lost me cookie at the disco.
  65. Anyone see SNOBAL? by glrotate · · Score: 1

    One of my favorites.

    1. Re:Anyone see SNOBAL? by gkuz · · Score: 1

      SNOBOL is on the bottom of the chart, begetting Icon and Scheme, which sounds about right.

    2. Re:Anyone see SNOBAL? by DaveAtFraud · · Score: 1

      But he left off SPITBOL (Speed Implementation of SNOBOL).

      The real question is whether the graph is supposed to be comprehensive or just informative. As an example, around 1985 I briefly was exposed to a language called CMS-2L that was specific to the U.S. Navy's AN-UYK43 family of shipboard computers. Oddly, I don't see it lsted on the chart. I wonder how many other obscure languages that ran only on obscure computers of the 60's, 70's and 80's are also missing and if their absence really matters.

      --
      They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
      Ben
    3. Re:Anyone see SNOBAL? by WolfWithoutAClause · · Score: 1
      Gosh do you think he might have left off the obscure languages that nobody much uses and didn't lead on to other languages :-)

      Hint: there's tens or even hundreds of thousands of languages out there...

      --

      -WolfWithoutAClause

      "Gravity is only a theory, not a fact!"
  66. HyperCard? by SpongeBobLinuxPants · · Score: 1

    What about HyperCard for us Mac old-timers?

  67. Who's next? by Anonymous Coward · · Score: 0

    Theo Van Gogh
    The Armanious family of New Jersey
    Deepika Thathaal

  68. Some corrections and additions by dmoen · · Score: 4, Informative

    Fortran is always shown as having come from a vacuum, but surely it was inspired by the various "Autocode" languages, of which "Mercury Autocode" is the most famous. (Note: this was all before my time.)

    Smalltalk is derived from Alan Kay's earlier language, Flex, which in turn stole heavily from Euler (Kay confirms this), which was the language Wirth designed before he did Pascal.

    Euler was an early example of a dynamically typed, garbage collected language with an algol-like syntax. Now we have python, javascript, and so on.

    Python is heavily based on ABC.

    Euler must have been a primary influence on Setl, which in turn influenced other languages. Setl was a dynamically typed, garbage collected language with an algol-ish syntax, with arrays (called tuples) and sets as first class values. The List comprehensions of Haskell (and more recently Python) come from Setl. Setl is the first language I know to have the 'slice' notation for extracting subranges from a list:
    list(i:j)
    list(i:)
    Although, i was 1 based, not 0 based, and j was a length, not an index. This slice notation was picked up by Icon, which changed j from a length to an index, and introduced negative indexes. From Icon, slice notation migrated into Python, presumably via ABC (I have no ABC documentation to check), where indexing changed from 1 based to 0 based.

    The type names in C all seem to come from Algol 68. They couldn't have come from B or BCPL, which do not have types. Examples of C/Algol 68 type names include "int", "char", "long int" and "void", as well as "struct". This is C:
    struct {char c; int x;} s = {'x', 42};
    This is Algol 68:
    struct (char c, int x) s := ("x", 42);

    Algol 68 has a +:= operator, but I think that comes from C. This is speculation, based on the observation that C's += operator was originally spelled =+, then changed due to the ambiguity of parsing x=+y.

    The second link shows Javascript decended from Java, which is surely wrong. Javascript was developed with no knowledge of Java. It was originally called LiveScript, then changed to Javascript for marketing reasons. I'm pretty sure that Javascript/Livescript got its object system from Self, the first prototype-based object oriented language. Self descends from Smalltalk.

    --
    I have written a truly remarkable program which this sig is too small to contain.
    1. Re:Some corrections and additions by Froggy · · Score: 2, Informative

      Algol 68 has a +:= operator, but I think that comes from C.

      Algol 68: designed 1963-1968, definition accepted in 1968 and published in 1969.

      C: designed 1969-73, first edition of "The C Programming Language" published in 1978.

      Algol 68's designers didn't take anything from C unless they used a time machine.

      --
      It is a woman's prerogative to change other people's minds.
    2. Re:Some corrections and additions by Anonymous Coward · · Score: 0

      ALGOL was a neat language too

  69. um......didn't we cover this a while ago? by Shrug · · Score: 1

    I thought we had posted this a while back?
    O'Reilly had even made a spiffy poster with it?

    http://www.oreilly.com/pub/a/oreilly/news/language poster_0504.html

    1. Re:um......didn't we cover this a while ago? by twray · · Score: 1

      The article's chart is more current. It shows 2 more versions of Delphi, for instance.

      --
      Fine, I'll build my own moon base! With blackjack...and hookers...in fact, forget the base! - TripMaster Monkey (862126)
  70. Where's Lua? by Muppy · · Score: 1

    Uh... Where is Lua?

    --
    -- uh...
    1. Re:Where's Lua? by Anonymous Coward · · Score: 0

      I'd mod you up, if I had the points :/ Lua definitely belongs on that diagram..very strange.

  71. Language ''versions'' by Tom7 · · Score: 1

    An annoying presentational issue about that graph is that it confuses language versions with implementation versions. This makes single-implementation languages with lots of small versions seem to be much more robust (in that their timelines don't die out in the late 90s) than languages with a separate language definition. For instance, I know that there are at least three SML compilers that are worked on actively in 2005 (and which each have language enhancements that would probably constitute a new "version"), despite the last published formal spec being in 1997.

    1. Re:Language ''versions'' by ansible · · Score: 1

      Indeed. Bugfix releases for Java each get their own entry, while other major and infulential languages (with multiple implementations) get mentions only at major milestones.

      Feh.

      I suppose the lesson is this: You shouldn't ever expect to compile something like this chart, unless you are also ready to receive a lot of criticism.

  72. Sig misquoted... by Anonymous Coward · · Score: 0

    ...errr, shouldn't that be Yoda, not Spock? It doesn't even SOUND like Spock.

  73. Babbage engine psuedocode by magarity · · Score: 1

    I would think the oldest programming language should be listed as the mathematical psuedocode Ada Lovelace wrote programs in for the Babbage Unniversal Calculating Machine.

    1. Re:Babbage engine psuedocode by Phrogman · · Score: 1

      Precisely. I expected to see that listed as the first language on the page, although arguably it may not have been responsible for inspiring any of the later languages.

      --
      "The first time I got drunk, I got married. The second time I bought a chimpanzee, after that I stayed sober" Arian Seid
  74. I'm suprised SCO... by bani · · Score: 1

    ...hasn't posted a "corrected" version of this, clearly showing they own C and every language ever derived from it.

  75. Debate by Anonymous Coward · · Score: 0

    There is some minor debate, but much of it is not heated.

    In the programming world, the creation of a language often starts with a very small number of people. These people typically attribute concepts to various other languages as they see them. As a result, the author typically says, somewhere, that aspect foo comes from language bar. Sometimes that is in the language documentation, sometimes that is in the source, sometimes that is in an interview down the road.

  76. OT: graph drawing program? by CaptainPinko · · Score: 1

    I was wondering if anyone knew of a program that would create images like the one linked to. Often during programming assignmnets I find the need to debug complicated data structures. Sure I can try to piece them together using pen, paper, and System.out.println()... but if I could create some interface or create a text file that could be processed into an actual graph like these that would make debugging more intuitive and a lot faster.

    --
    Your CPU is not doing anything else, at least do something.
    1. Re:OT: graph drawing program? by Anonymous Coward · · Score: 0

      Freemind might help, but probably not all the way

      freemind.sourceforge.net

    2. Re:OT: graph drawing program? by HyperChicken · · Score: 1

      It was created with Graphviz.

      --
      Free of Flash! Free of Flash!
    3. Re:OT: graph drawing program? by HyperChicken · · Score: 1

      Also, if you wanted something interactive, try Dia.

      --
      Free of Flash! Free of Flash!
    4. Re:OT: graph drawing program? by plastik55 · · Score: 1
      --

      I have a positive modifier on Troll. When I mod someone Troll their karma should go UP!

    5. Re:OT: graph drawing program? by Anonymous Coward · · Score: 0

      I think both are actually done in graphviz:
      http://www.graphviz.org/

  77. Re:Guys come on, Java sucks by MightyMartian · · Score: 1

    Coming from a procedural background and now being forced to adapt, my kneejerk reaction is to agree. However, it's becoming, whether I like it or not, a Java world. The one thing I hate is even if you're writing a pretty straightforward command line program, you still have these silly hoops to jump through

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  78. Erlang by demi · · Score: 1

    Erlang was developed, starting in the late '80s. It was influenced by Prolog (in which the first interpreter was written), Parlog and LISP. This page shows a concise history.

    --
    demi
  79. Language history by Anonymous Coward · · Score: 0

    More proof that C# is just a big java ripoff

  80. [Divine] grail of programming languages by Anonymous Coward · · Score: 0
  81. The oldest language is still missing by presroi · · Score: 3, Informative

    Plankalkül was developed in the first half of the 1940ies by Konrad Zuse.

    Wikipedia has(as usual) for more information.

  82. Wikipedia again... by presroi · · Score: 1

    This Timeline of programming languages lacks the tree information of relationships but gives a lot more examples of milestones of developing a computer language... Okay, by using the "Predecessor" line, it could be something like a tree. Hmm. I'm too tired to do it myself.

  83. Aging Hippies by rumblin'rabbit · · Score: 1
    Pity you don't care for it. I found it totally mind altering. One of the truly distinct programming languages, remarkable that it was developed so early on. Three lessons from Lisp: (1) code and data are the same thing, (2) recursion is far more powerful and difficult than you think it is, and (3) simplicity and power in a language can co-exist.

    I think it should be taught just to expand student's tiny little brains. It makes reading Godel, Escher, Bach a much more enlightening experience.

    So tell me when I start to sound like an aging hippie.

  84. Delphi+VB by Windowser · · Score: 0

    Can somebody explain the link he did from VB 3 to Delphi ?

    What does link VB to Delphi ?
    I've used both, and they have nothing in common.

    Delphi comes from Turbo Pascal, nothing to do with VB

    --
    Avoid the MS tax, always buy I.B.M. PC's (I Built-it Myself)
  85. Cobol is there ... RPG? by David+Rolfe · · Score: 1

    http://hopl.murdoch.edu.au/showlanguage2.prx?exp=2 07

    I've worked with the AS400 and I know plenty of Cobol people (hell, my dad is one). However, I don't know a soul that's ever used it [RPG], let alone currently doing development/maintainence.

    Anyone here actually use RPG (or it's descendants)? Any war stories?

    Additionally -- it could be my eyes -- I didn't see RPG on the non-pdf 'family tree'.

    --
    Read Heinlein's 1953 Revolt in 2100, now more than ever.
    1. Re:Cobol is there ... RPG? by TykeClone · · Score: 1
      I used it at a job about 8 years ago. Decent language that made some things easy and some things not so easy.

      I was working as programmer at a hospital and one of the things I looked at was the program the printed the HCFA forms (that's a medicare reimbusement deal, if I remember right) that was printing an X in the wrong box sometimes. Yuck.

      Having said that, it's a decent language and makes communicating with the AS/400 database easy, and does make generating reports easy as well.

      --
      A fine is a tax you pay for doing wrong and a tax is a fine you pay for doing all right.
    2. Re:Cobol is there ... RPG? by saddino · · Score: 1

      Anyone here actually use RPG (or it's descendants)? Any war stories?

      Yes, I've passed the RPG level in Tron. My tank pattern insures that I have no interesting war stories.

    3. Re:Cobol is there ... RPG? by Critical+Facilities · · Score: 1

      I was also wondering where RPG was. Obtuse a language as it was/is, I was interested to see where it's development began. I had the displeasure of using this language in school and truly grew to hate it and all it's evil "indicators".

      I feel sorry for anyone who had to use this language for any length of time particularly in a work environment. I don't think any programmer would miss having to manually set various indicators (like LR) to "on" just to properly terminate a program, and all the other quirks of RPG.

    4. Re:Cobol is there ... RPG? by Mr.+Byaninch · · Score: 0
      I did. It was my first language. Used it recreate Mark IV 'Reports' when they didn't want to keep paying the Mark IV license.

      COBOL is there, but IBM's 'COBOL II' is missing. Somehow Rexx is shown to have stemmed from COBOL. WTF? That's like saying Perl stemmed from BASIC.

      --
      Sig not available, please try again later. If the problem persists, then the submitter is an idiot.
    5. Re:Cobol is there ... RPG? by Kalper · · Score: 1

      I program in RPG-IV/ILE every day. My company develops in Java using WebObjects for our web front ends, using an i5/OS server (IBM's new name for OS/400) on the back end as the database. I wouldn't dream of doing the nuts-and-bolts database work in anything else -- RPG (and the '400 in general) are built from the ground up to manipulate databases and they do it quite well. SQL is easier for whipping up a one-off report or doing a simple update, but RPG makes it extremely easy to handle the database when you've got to do more complicated things that SQL is just plain awful at.

      For those looking for a little more background, RPG stands for Report Program Generator, and from what I've been able to piece together it was developed by IBM in the early '60s as a replacement for COBOL and PL/I to create printed reports. Back then it was all cycle code (read a record from file 1, do some logic, print a line on a page, repeat), but in the latest versions (IBM updates the language every 2-3 years) you can link to C(++), COBOL, Java, PL/I, or even CL modules (the native Command Language of the OS/400 shell). Indicators are still around so old code will work, but they are heavily deprecated and for new code there is rarely any reason to use them. RPG still doesn't have real objects, but now that it has pointers, functions, dynamic memory management, and qualified data structures you can fake it well enough to interface with languages that do.

    6. Re:Cobol is there ... RPG? by slashRULElurker · · Score: 2, Interesting

      RPG was first offered as a language on the IBM 704 computers in the 1960's and was even promoted as an end-user language--funny, until you realize that programming in those days was done in assembler, and the original RPG was at least a level higher than that. I recall when I was programming in RPG II on an S/34. The boss brought the entire computing staff of 3 people to attend a seminar in Structured Programming. In preparation for that, I was reading a book on Structured Programming in Basic (can't remember the author or exact title). The intro assured me that "you can do structured programming in any language, wheter it's COBOL, PL/I or (God forbid) RPG." We wer all laughing at that, as it is indeed hard to do structured programmming without loop constructs (use GOTO) or even an if/else statement (use indicators). But, as you say, RPG has evolved since then and is even moving to free-form instead of the original form-filling metaphor.

    7. Re:Cobol is there ... RPG? by mrhartwig · · Score: 1

      Sure, I can add to my previous post (http://ask.slashdot.org/comments.pl?sid=138147&ci d=11558336). I said I'd spare you, but you went & asked.....

      Back in the late 70s, I was in college & had a job in the school computer center. Big operation -- 2 full-time programmer/analysts, the director (who spent as much time as possible programming) and a couple of student workers. I had to learn COBOL & RPG-II after getting the job -- I knew FORTRAN from programming classes, but the school didn't teach the "business" languages.

      One of the few RPG-II programs I wrote took information from one of the student data bases & printed it on pre-printed, multi-part, forms. Said forms were used for student pre-registration; they had to fill out courses & get their advisor's signature.

      Years later, I went back for a visit. They were still using the same forms, and that same RPG-II program to fill out the student data. I seriously doubt it's still being used, but I'm too scared to ask, in case it is.

    8. Re:Cobol is there ... RPG? by David+Rolfe · · Score: 1

      Years later, I went back for a visit. They were still using the same forms, and that same RPG-II program to fill out the student data. I seriously doubt it's still being used, but I'm too scared to ask, in case it is.

      *Chuckle* Thanks for that. :-D

      --
      Read Heinlein's 1953 Revolt in 2100, now more than ever.
  86. Simula and Smalltalk by tpv · · Score: 4, Informative
    Which is true if you look at time, but probably not if you look at causality. It's very likely the people who invented SmallTalk didn't even know about Simula, or realized that it was "object-oriented".

    It's true on both time and causality.
    Alan says so himself here

    --
    Read more of this story at Slashdot.Read more of this story at Slashdot.Read more of this story at Slashdot.
    1. Re:Simula and Smalltalk by joto · · Score: 1
      It's true on both time and causality. Alan says so himself here

      Thanks. I stand corrected. And the article was a fun read too. I've even used the corridor-approach to debugging myself. Good to see that I'm not alone.

    2. Re:Simula and Smalltalk by Inthewire · · Score: 3, Funny

      ...debugging myself

      How far did you get?

      --


      Writers imply. Readers infer.
  87. UH, GRRR, Bla, Ni!, Blerk, False, Kartoffel etc. by Anonymous Coward · · Score: 0
    Oh, the history is also missing some languages from Wouter van Oortmerssen:

    http://strlen.com/proglang/index.html

    If nothing else, his languages have cool names!

  88. can you do one for Objective-C programmers? by javaxman · · Score: 1
    I suppose it'd be much like the entry for C++ programmers, though, huh ?

    Still, the differences between C++ and Objective-C might provide for amusing distinction betweent the two...

    1. Re:can you do one for Objective-C programmers? by Anonymous Coward · · Score: 0

      Troll? I kid because I love!

    2. Re:can you do one for Objective-C programmers? by jshriverWVU · · Score: 1

      The chart in the article has Obj-C listed.. believe it had it listed around 1983 which shocked me. First time I ever heard of it was 2 years ago when I started looking into OS X programming.

    3. Re:can you do one for Objective-C programmers? by drewness · · Score: 1

      The chart in the article has Obj-C listed.. believe it had it listed around 1983 which shocked me. First time I ever heard of it was 2 years ago when I started looking into OS X programming.

      Brad Cox came up with Objective-C in 1983. Steve Jobs founded NeXT in 1985, and NeXTSTEP was written in ObjC. NeXTSTEP evolved into OpenStep and then into the Cocoa API at Apple and GNUStep API. The GNUStep folks are now trying to keep theirs up to date with Apple's changes. But the GNUStep project has been around for quite a few years. (i.e. before Jobs went back to Apple, I believe.)

    4. Re:can you do one for Objective-C programmers? by jshriverWVU · · Score: 1

      Interesting... knew that a lot of the NS code was written in ObjC, hense why even now in OS X when coding you still have classes called NSWhatever (NS being NeXtStep which I find nifty).
      Just didn't know that NeXtStep was originally in OBj C so thanks for the info :)

    5. Re:can you do one for Objective-C programmers? by HeghmoH · · Score: 1

      Almost totally irrelevant, but NS actually stands for NeXT Software. The NS prefix was used for the OPENSTEP APIs. NeXTSTEP APIs used the NX prefix, for the obvious reason.

      --
      Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
    6. Re:can you do one for Objective-C programmers? by javaxman · · Score: 1
      The chart in the article has Obj-C listed.. believe it had it listed around 1983 which shocked me.

      I've been programming Objective-C personally since 1988. I first saw it on a NeXT cube, so I figured it had to have been there since earlier- but '83 is early.

      But, really, I wanted samvo to do an entry for Objective-C programmers in his humorous descriptions list...

    7. Re:can you do one for Objective-C programmers? by haruchai · · Score: 1

      I can just imagine a newbie Intel programmer looking through old NeXTSTEP code.
      "Whoa, these guys had NX ( No eXecute) way back then?! D0z3 d00dz w3r3 l33t!!

      --
      Pain is merely failure leaving the body
    8. Re:can you do one for Objective-C programmers? by the_skywise · · Score: 1

      Bill Maher posts on Slashdot? Kewl!

  89. Balance by richmaine · · Score: 2, Interesting

    I suppose it is inevitable that something like this shows uneven treatment of different areas.

    For example, it seems to list about every time a vendor released a Java version, showing version numbers with 3 digits as worthy of note. By that kind of accounting, there should probably be several thousand Fortran entries.

  90. NewtonScript by soft_guy · · Score: 1

    NewtonScript (not included in either list) was a really nice language based on the language "Self" (included in both lists) that was used to program the Apple Newton devices. In fact, the Newton OS itself had many important pieces that were implemented in NewtonScript.

    It may have been obscure, but it was important to me as I made my living for a few years writing code in this language. It was really nice. When the Newton was canceled and I switched to C++, I kept having a feeling for years that I was writing inelegant code because of the elegance of NewtonScript.

    BTW NewtonScript is not the same language as AppleScript and they are not really related. NewtonScript was created by Walter Smith.

    --
    Avoid Missing Ball for High Score
  91. Problems with the chart by cartman · · Score: 1

    There are a number of dependencies which are not indicated on the chart, and a few dependencies which are on the chart but don't exist or are very weak.

    For example, Python borrows tremendously from Lisp and its creator ackonwledges that. Python has dynamic lists in the grammar of the language, functions as first class objects, and LAMBDA expressions which are clearly derived from Lisp. Some people have maintained that Python is an attempt to bridge algol-derived languages (like C) with Lisp. Still, the chart indicates no dependency.

    Java is shown as borrowing from SmallTalk and this is true but only to a very limited extent.

    PHP/FI is seen as a derivative of Perl but the early syntax was borrowed from both C and Perl.

    The influence of simula on everything is not indicated.

  92. FORTRAN? by LihTox · · Score: 1

    I've seen this chart before, and it's curious to me that there are no offshoots of FORTRAN since the 60's. Is this really true? I've been thinking about learning FORTRAN 95 for scientific simulations, but I'm curious about similar alternatives as well.

    1. Re:FORTRAN? by Kiryat+Malachi · · Score: 1

      Learn just enough to figure out how to wrap it in your favored language and call the wrapped code, so you can use the aforementioned LAPACK/BLASPACK/whatever scientific library you need.

      --

      ---
      Mod me down, you fucking twits. Go ahead. I dare you.
      (I read with sigs off.)
    2. Re:FORTRAN? by LihTox · · Score: 1
      Well there are a lot of people down on Fortran here, but as I understand it there are a number of things that Fortran does better than C, vectors and matrices for one (and yet it compiles, unlike Mathematica or Matlab or some such). That's why I'm curious about offshoots of Fortran: are there any compiled languages that keep the strengths of Fortran but have a better syntax/whatever?

      And I'm not in a position where I NEED to learn Fortran; I'm just curious about better ways of doing things. C is not always the best way to do things.

      Thanks for the responses, btw.

    3. Re:FORTRAN? by Anonymous Coward · · Score: 0

      i really like matlab for numerical processing. you can also output c and c++ compilable code rather than using the interpreter engine. link with standard math libraries for standalone or embedded use. i have looked at the source and there is still a small layer of overhead in the compilable source for stuff not able to be determinable at compile time eg determining the representation of the matricies - float or complex etc and so it is probably not as fast as fortran. tradeoff is probably reasonable for anything thats not real time - like DSP.

      jxxx

  93. Roots by RealAlaskan · · Score: 2, Insightful
    I'm looking at the roots of the tree in that second link. I see:
    • Snobol, which didn't spread much, but eventually merged with a Fortran derivative to beget Perl.
    • Flowmatic, which became Cobol, then Rexx.
    • Fortran 1, which became pretty much everything else, via Algol. This is the main part of the main stream.
    • Lisp, the other main stream, which joined with Fortran to make Scheme, and joined with it again to make Dylan.
    • Prolog, which joined up with Lisp
    • APL, which continues today (unlike Snobol) and has some recognizable descendants (unlike Snobol and Flowmatic).
    • ISWIM and
    • ML which are the only ones that I'd never heard of before, though I recognize their descendants Haskel and Camel.
    This ignores sh and SEQUEL, which stand almost entirely alone.

    There are two main streams, Snobol/Flowmatic/Fortran and Lisp/Prolog. There isn't much communication between them. Their two points of convergence, Scheme and Dylan, so far show no signs of spawning the sort of tree of descendants which sprung from their ancestors, Fortran and Lisp.

    ISWIM/ML and APL have almost no communication with either of the mainstreams. Chopping either of them out of the picture would leave few orphaned hybrids.

    All those languages from just seven big ideas.

  94. What about Plan-Calculus? by polemon · · Score: 1

    In This chart, Fortran is the first Computer Language. This is not true, The first Computer Language, was "Plankalkül" (Plan-Calculus) invented 1936 by Conrad Zuse to program his "Z1" Computer (The first binary and programmable computer in the world). The Programs were fed into the computer using punched 35mm Celluloyd film-rols.

    --
    EOF
  95. Hmmm by jefu · · Score: 1
    On the downside you didn't mention Intercal.

    On the upside you didn't mention C#.

    I'd have to read some of your Whitespace to see just what your coding style looks like (so to speak).

    Your experience in Argh! and BlooP are interesting, but Ook! (however expressive) really shows off your skill as a coder monkey^H^H^H^H^H^H orangutan. Can we pay you in bananas?

  96. Occam, anyone?

  97. Algol 68 vs (other) successors to Algol 60 by AJWM · · Score: 1

    I'll go with the Prigaux chart over the Levenez one for that. Levenez shows Pascal, etc, as branching from the Algol line after Algol 68, which may be true chronologically but not syntacticall or symantically.

    Prigaux has it right, Algol W (the W is for Wirth) is an Algol 60 deriviative (as is Simula and others), and Pascal (also created by Wirth) descends from that. Algol 68 is quite different.

    Mind, I wouldn't put a line from PL/I to Pascal, well, maybe a dashed line. I think the only thing Pascal could be remotely said to inherit from PL/I is records (structures), syntactically PL/I is too different (it owes as much to Fortran and Cobol as to Algol, as Prigaux' chart shows, but Pascal doesn't.)

    --
    -- Alastair
  98. Bastards! by abb3w · · Score: 1

    True, but there are an entire family of bastards not included. And besides, bastardy can't really be an bar to inclusion-- BASIC is on the chart. =)

    --
    //Information does not want to be free; it wants to breed.
  99. Must be an error by cybersekkin · · Score: 1

    Java doesn't aalow multuple inheritance so how could c# come from Java/C++ and ECMAScript :)

  100. How little improvement there has been...Noticed. by Anonymous Coward · · Score: 0

    "Where is the development environment that is as simple to use as lego blocks which anyone over the age of 6 can use to quickly create powerful apps?"

    Of course there is.

    And for the big boys, there is this.

  101. INTERCAL by abb3w · · Score: 1
    I've been meaning to learn that language! I hear it looks good on a resumé...

    No. No matter what you do with it, INTERCAL looks really, really, bad.

    --
    //Information does not want to be free; it wants to breed.
  102. A "basically" (har) linear branch for BASIC? by gatkinso · · Score: 1

    Many omissions there - the history of basic is as tangled as any West Virginia family tree.

    (Yes I am from WV you insensitive clod.)

    --
    I am very small, utmostly microscopic.
    1. Re:A "basically" (har) linear branch for BASIC? by Inthewire · · Score: 1

      I used to work with a guy called West Virginia.

      He didn't flush toilets.
      Ever.

      --


      Writers imply. Readers infer.
  103. Oldest Language you have worked with? by FuzzyDaddy · · Score: 1

    For me, I sat in on a class on PL/I when I was in high school. The chart says it was created in 1964, which predates my birth by several years.

    --
    It's not wasting time, I'm educating myself.
    1. Re:Oldest Language you have worked with? by Anonymous Coward · · Score: 0

      Fortran is the oldest listed. It's still used by a number of engineering people and comes with the GCC compiler suite. The syntax has become more flexible over time but it's still basic punchcard formatting.

      Michael

  104. 1946 - Plankalkül by Tjoppen · · Score: 1

    I don't see Plankalkül on there.. It's a stone cold shame. For more detail:
    http://www.epemag.com/zuse/part5.htm

    Quite interesting stuff about for instance the Z1 there.. The mechanical memory(part 3b) is very neat

  105. Flaws with this chart by mcc · · Score: 1
    1. C#, ASP.NET, and VB.NET should be marked as linked, since all .NET languages are basically semantic sugar on the same abstract syntax tree.
    2. ASP doesn't seem to be included on the chart at all.
    3. Dylan doesn't seem to be included on the chart at all.
    4. As others have noted, Hypercard is not included on the chart, which is unfortunate because it arguably had serious influence on Visual Basic and I do believe that products written in it (Myst) have more copies than, say, everything ever written in Haskell.
    5. And if we start a "Hypercard" branch of the tree, I would say Director and Flash should get to go in it. Hey, they're at least as turing complete as sh.
    6. Erlang doesn't seem to be included on the chart at all.
    7. Cilk doesn't seem to be included on the chart at all.
    8. Mercury doesn't seem to be included on the chart at all, but maybe that doesn't really matter.
    9. At the end of the chart, there should be arrows leading from every single leaf node of the tree over to a single entry at the far, far right labeled "Perl 6".

    Incidentally, I didn't realize FORTRAN was older than Flowmatic. I was under the impression that Grace Hopper had basically invented the idea of human-readable-keyword based languages. And what's "B-O"?
    1. Re:Flaws with this chart by harborpirate · · Score: 2, Informative

      1. The PDF chart lists .Net as a separate item and links each of the supported MS languages to it. I think this is an accurate representation.

      2. ASP = VB6. You could include ASP as an offshoot of Visual Basic if you like, but it has exactly the same snytax. The real changes came with VB.Net, which is included in both charts.

      3. Dylan is included in the PDF chart as an offshoot of C++ and CLOS.

      4. Nope, no Hypercard.

      5. I suppose so. I don't really have any comment other than I'm not sure how legitimate sh is as a actual language.

      6. Erlang is included in the PDF chart as an offshoot of Prolog and Common Lisp.

      7. I don't see Cilk on either chart, which is funny since I'd actually heard of it before today. One could probably argue that it isn't different enough from standard C, but I think the implications of parallelism are probably enough to merit its own place on the chart.

      8. Mercury is included in the PDF chart as an offshoot of Haskell, SML 90, and CLOS.

      9. Funny, but you almost could do that... Is there any library or language that hasn't been grafted onto Perl at this point?

      According to wikipedia, the "commercial variant" of Flow-Matic started in 1955. http://en.wikipedia.org/wiki/FLOW-MATIC Wikipedia lists FORTRAN as being developed in 1954-1957. However, the forbears of Flow-Matic definitely preceed FORTRAN, as you'll see below:

      B-0 was the original name of Flow-Matic. More interesting perhaps is that both owe influence from A-0, a language developed for the Univac I, and the first language to have a compiler. (Flow-Matic was also developed for the Univac I.) For that reason alone, the tree should probably include it. (Perhaps even as the "root" of the modern languages.) One could argue that the inclusion of Flow-Matic on the chart encompasses A-0, although I would argue that A-0 should probably simply replace B-0 on the chart, since Flow-Matic and B-0 are one and the same.

      http://en.wikipedia.org/wiki/A-0

      --
      // harborpirate
      // Slashbots off the starboard bow!
    2. Re:Flaws with this chart by mcc · · Score: 1

      I actually hadn't really looked at the PDF link, only the first one... I guess I should have, the second one is much more research-language oriented :)

      I don't see Cilk on either chart, which is funny since I'd actually heard of it before today. One could probably argue that it isn't different enough from standard C, but I think the implications of parallelism are probably enough to merit its own place on the chart.

      Well, Concurrent C got on the first chart, so I think sticking Cilk over somewhere near it wouldn't be uncalled for.

      9. Funny, but you almost could do that... Is there any library or language that hasn't been grafted onto Perl at this point?

      As of Perl 6, no... the language incorporates or supports basically every programming paradigm every devised, it transparently allows alternate conceptions of an "object" to be fashioned without changing the syntax, it includes among other things call/cc and the full set of APL operators, it allows you to freely change the syntax of the language grammar at runtime and if you read the design docs for Perl 6, you find that they honestly believe one of their foremost guiding principles to be that the interpreter and VM should be designed less as an interpreter for perl 6 specifically than as a general hosting platform for dynamic languages.

      I do not know if it will be amazing or just frightening :O

      Thanks for the wikipedia links... I'm still getting used to how great they've gotten lately, so I forget to check them :)

    3. Re:Flaws with this chart by dcam · · Score: 1

      2. ASP = VB6. You could include ASP as an offshoot of Visual Basic if you like, but it has exactly the same snytax. The real changes came with VB.Net, which is included in both charts.

      On which planet pray tell? ASP == VBScript | Jscript (other languages are possible as well). I would have more hair if ASP == VB6. It would be better to have an offshoot from the VB6 tree which includes VBScript, but it is a pretty minor scripting language so it isn't really worth it I guess.

      --
      meh
  106. LISP, Prolog, and ML by Stormy+Dragon · · Score: 1

    I wonder why he shows ML and Prolog as having appeared out of nowhere. I would consider these two languages (Prolog particularly so) as having evolved from LISP.

  107. Re:Found in Wired Issue 10.06 (Jun 2002) by Anonymous Coward · · Score: 0

    Someone should scan it...

  108. Fortran fatherde BASIC? by EmbeddedJanitor · · Score: 1

    I'd like to see the derivation of this family tree. I wonder why BASIC claims Fortan parentage.

    --
    Engineering is the art of compromise.
    1. Re:Fortran fatherde BASIC? by Anonymous Coward · · Score: 1, Informative

      Because BASIC was originally intended to teach concepts that would later be used in FORTRAN programs.

    2. Re:Fortran fatherde BASIC? by halltk1983 · · Score: 2, Insightful

      Fortran showed it what NOT to do to be Basic!

      --
      Watch for Penguins, they eat Apples and throw rocks at Windows.
  109. Matlab, Maple, Mathematica, etc ... by macklin01 · · Score: 2, Informative

    And then there's a whole different class of langauges: math packages that allow programming from within. Heck, minesweeper is even included in Matlab as an example. You an define classes, new data types, etc. I know that quite a bit can be done in Mathematica and Maple as well.

    It'd be interesting to see where these fit in, since they have some elements of various languages. (e.g., in Matlab, indexing starts at 1, but much notation is C-like, and some other things are very Java-like.) -- Paul

    --
    OpenSource.MathCancer.org: open source comp bio
  110. Oh, damn, I forgot! by mcc · · Score: 1

    Verilog, VHDL and ABEL! How can you leave those off? Cut out the hardware-definition languages and you've omitted not just a family of programming languages, but an entire use of programming languages. I'd say that's pretty important.

  111. Top 10 reasons why its called 'brief' history by Anonymous Coward · · Score: 0

    10. These languages finally brought the industrial revolution into the era when men could work in their underwear in their bedroom.

    9. The creator of this list is a wannabe Stephen Hawking but dont really have the smarts to achieve that.

    8. Dot-coms were created using these languages ....

    1. Any shorter history would have to be titled a 'Thong History of Programming Languages' and of course that would ./ Slashdot itself not to mention the authors' website to oblivion.

  112. CPL - BCPL - B - C by Anonymous Coward · · Score: 0

    This atrtribes Algol60 as a precursor to CPL. In fact CPL stands for Combined Programming Language as was an effort to Combine various languages at the Atlas Labs. These included APL - Atlas Programming Language and ACL - Atlas Commercial Language.

    CPL failed but a cut down version was developed as a 'basic' (in the fundemental sense, nothing to do with BASIC) CPL. Hence BCPL - Basic CPL.

  113. Softcode for MUDs/MUSHes? by demi · · Score: 1

    I'm quite sure I'd consider MUSHcode to be one of my first programming languages (along with BASIC, Pascal, and the WordPerfect and Lotus 1-2-3 macro languages).

    I found references from 1989 from Usenet, where people were talking about the origins of MUDs being ten years earlier at Essex University; or possibly a game run in 1979. I don't know what their scripting or softcoding features were like. I also don't know how similar they'd be to the MUSHcoding system I'm familiar with, which I guess started with TinyMUSH in '90 or so?

    --
    demi
  114. do it in C by mangu · · Score: 1
    FORTRAN, whose major evolution since the 1960s has been copying features from other languages, is hopelessly dated. It's fine for existing, well debugged applications like LAPACK, but do not try to start new projects on it. Using the current implementations of compilers, FORTRAN has nothing that C/C++ doesn't offer in terms of performance. What the point in learning a language whose youngest programmers are in the late 40's age range? Yes, I did study FORTRAN in college, but I was one of the last classes to do so and I'm 48 years old.


    BTW, I know they are trying to change the spelling from FORTRAN to Fortran, but it just shows how old this language really is. The most recent FORTRAN versions, 80, 90, 95, 2000+, whatever, sound like saying, "no, our steam engines are up to date, they have been upgraded from burning bituminous coal to anthracite coal".

    1. Re:do it in C by Delusional · · Score: 2, Informative
      I'm a thirty year old hack of various languages who was forced to take a FORTRAN course as an engineering undergrad... I might agree that there aren't any 'programmer' users of FORTRAN under 40, but there're still quite a few left in engineering/science/math who use it.

      Maybe if you changed it to under 30...

    2. Re:do it in C by mrhartwig · · Score: 1

      ...a language whose youngest programmers are in the late 40's age range?

      I'm only in my early 40's, and FORTRAN was the first language I learned. That would have been 1976-77.

      On a more serious note, FORTAN is still used in certain niche areas, I guess. I have a friend who learned it in college a couple of years ago. He was studying astronomy.

    3. Re:do it in C by buddahboy · · Score: 1

      What the point in learning a language whose youngest programmers are in the late 40's age range? must have aged 13 years over night then.....

    4. Re:do it in C by Anonymous Coward · · Score: 0

      Bullshit! - Try doing scientific programming half as readable in C as in Fortran 90/95. For scientific purposes Fortran is unique and I'd really recommend learning it if you're doing science - not because (as you often hear) old libraries exist (BLAS/LAPACk -etc.) - but simply because it's designed for science, and you can immediately read/write your equations.

  115. enh... Cool but misleading by hacksoncode · · Score: 1
    I have a hard time taking seriously any such chart that doesn't show influence lines from Perl and Lisp to Python...

    But then, it's pretty unclear what was being attempted, so analyzing its success is rather problematic.

  116. Left Behind by __aaasvk1266 · · Score: 1

    Does TARBEL count? Tomita's "Bermuda Triangle" Album had a cool, er, bit.

    From the liner notes:

    Each side of this record contains coded data in the form of certain sound effects. The message can be recovered if the electrical signal from the record is interfaced with the input of a micro computer programmed to the TARBEL System.

    - Isao Tomita

    I never tried it myself. However, the decoded messages are:

    Side A

    THIS IS THE BERMUDA TRIANGLE, OVER. SLOW DOWN. TARGET 50 MILES OFF SOUTH FLORIDA, A GIANT PYRAMID AT OCEAN BOTTOM.

    Side B

    THIS IS THE BERMUDA TRIANGLE, OVER. LOOK OUT! THE CYLINDRICAL OBJECT JUST LIKE THE ONE EXPLODED OVER SIBERIA AND CRASHED INTO TUNGUSKA IN 1908, HAS JUST COME INTO THE SOLAR SYSTEM.

  117. Another language by dsmitchell1 · · Score: 1

    Although almost no one has heard of the language family to begin with, the MUMPS/M family of languages has a decendant which is not listed in the tree: Caché, which is a proprietary concoction from Intersystems. The only reason that I know about it is because the company that I work for uses it.

  118. Actually, no... by cr0sh · · Score: 2, Informative
    QBASIC is actually a sub-set of QuickBASIC - while it has many of the statements and such of QuickBASIC, it doesn't have them all, and certain things it can't do that QuickBASIC can, or it takes a lot of extra effort to do in QBASIC. Some of the extra functionality comes from the fact that QuickBASIC is a real compiled language, and not interpreted like QBASIC, but not all.

    Also, what about the lead-up to Visual Basic? More or less, after QuickBasic 4.5, we got PDS 7.1 (IIRC - Professional Development System - essentially QB4.5 with some DOS windowing enhancements and a slightly modified IDE), then came Visual Basic for DOS (still a lot of similarities to QB4.5 and PDS 7.1 - but with much greater control of windowing capabilities, and I think it allowed for easy mouse integration and event-driven code routines), then VB 1.0, I think (for Windows 3.1? Can't remember)...

    QBASIC 1.1 was some weird thing they threw into DOS around version 5 or so, and kept in some form or another all the way through Windows 98 or so. It came out after VB for DOS - it may have even been released after VB3.0 (??) - strange release...

    --
    Reason is the Path to God - Anon
    1. Re:Actually, no... by philistine · · Score: 1

      from memory Visual Basic for DOS was released after
      VB 1.0 for Windows

    2. Re:Actually, no... by ltbarcly · · Score: 1

      Quick Basic is compiled in the same sense that early versions of visual basic were compiled, that is to say, not at all. It had a "create .exe" option which just wrapped your code up in an executible with the interpreter. Quick Basic was entirely garbage and an insult. (I remember that you couldn't create an array larger than some rediculously small size, like 7 elements or something)

    3. Re:Actually, no... by Magic5Ball · · Score: 1

      edit.com wrapped qbasic.exe for DOS 6.
      (qbasic /ed <filename>)

      DOS 7/Windows 95 and above had a real executable tied to edit, which gained limited LFN support.

      --
      There are 1.1... kinds of people.
  119. Where's Plankalkul? by Cpt.+Fwiffo · · Score: 1

    Although only used in 4 computers, (IIRC), Plankalkul was the first 'real' language. Developed by Konrad Zuse. Check wikipedia:
    http://en.wikipedia.org/wiki/Plankalk% FCl
    http://en.wikipedia.org/wiki/Konrad_Zuse

    Egads!
    Wikipedia even has THIS:
    http://en.wikipedia.org/wiki/Timeline_of_pr ogrammi ng_languages

    Fwiffo

  120. Perl is indeed strongly typed by merlyn · · Score: 2, Informative
    Perl has multiple types but does lots of implicit conversions, making it weakly typed.
    Not true. You cannot use a scalar variable where an array variable is needed, because the type is inherent in the syntax. Perl's type safety is syntax-driven for the built-in types (scalar, array, hash, subroutine, filehandle), and runtime enforced for references and user-defined types.

    So, Perl is indeed strongly typed (for built-ins), and late-binding dynamically typed (for references and user-defined types).

    1. Re:Perl is indeed strongly typed by Anonymous Coward · · Score: 0

      But in Perl you can use a scalar for anything, numbers, strings, references...and they're converted implicitly. So what do you call that?

    2. Re:Perl is indeed strongly typed by Fahrenheit+450 · · Score: 1

      scalar, array, hash

      While these can be considered types (for a suitable definition of type), they are more generally considered structures. I believe the grandparent was speaking of Perl's a float is an int is a string is a bool depending on how you use it abilities, which make Perl a rather weakly typed language.

      --
      -30-
    3. Re:Perl is indeed strongly typed by CableModemSniper · · Score: 1

      Pssst, don't mess with him man, thats Randal L. Schwartz you're arguing about Perl with. As in the Schwartzian transform Randall L. Schwartz. Do not meddle in the affairs of perl monks for they are subtle and quick to anger. <g>

      --
      Why not fork?
    4. Re:Perl is indeed strongly typed by Fahrenheit+450 · · Score: 1

      I don't give a rat's ass who it is. Implicit conversions between types like ints and strings doesn't qualify as strongly typed in my book.

      --
      -30-
    5. Re:Perl is indeed strongly typed by geminidomino · · Score: 1

      Implicit conversions between types like ints and strings doesn't qualify as strongly typed in my book. Do you HAVE a book? Mr. Schwartz has several.

    6. Re:Perl is indeed strongly typed by CableModemSniper · · Score: 1

      I put the g in brackets! That means I was making a joke. You don't have to think it was funny. You can comment on my lack of humor, but don't act like I was actually arguing with you. I was joking! I'm still joking in fact. That comment was made in the spirit of kidding around. So's this one.

      --
      Why not fork?
    7. Re:Perl is indeed strongly typed by zootm · · Score: 1

      Regardless of books, he's actually fairly correct there. Implicit conversions are the opposite of strong typing.

      How this relates to perl exactly (I just want to make clear that I know nothing about its type system) I won't claim to know, though.

    8. Re:Perl is indeed strongly typed by Anonymous+Brave+Guy · · Score: 1
      Do you HAVE a book? Mr. Schwartz has several.

      So does Herb Schildt, but that doesn't mean what he writes is accurate. That's not to say the two authors are comparable, of course; I am merely demonstrating that having written a book does not automatically make you correct, nor does not having written a book automatically make you wrong.

      In this particular case, since allowing implicit conversions is a pretty good practical definition a weak type system, the GP makes a fair point.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    9. Re:Perl is indeed strongly typed by Anonymous Coward · · Score: 1, Interesting
      Actually, Randal is right. Perl chooses to define the following types -
      • scalar
      • array
      • hash
      • subroutine
      • filehandle

      You cannot convert between them, therefore Perl is strongly typed. That Perl doesn't have the same types as other languages (bool, int, float, etc) doesn't mean that it's weakly typed. It just means that Perl doesn't have the types you're expecting.

    10. Re:Perl is indeed strongly typed by Anonymous Coward · · Score: 1

      Well done, you can split hairs. However, you have now split them so far that the distinctions you're trying to make are meaningless. By your definition, ANY language is strongly typed, because what any sane person would call a totally weakly-typed language is just a strongly-typed language with only one type!

      You seem to be making the classic mistake of assuming that a taxonomy is evaluating the quality of a language rather than its nature. It is not. "Strongly typed" does not mean "good", it simply means "strongly typed". Perl is NOT STRONGLY TYPED according to the definition of strong typing used by 99.99999999% of people who talk about typing at all. This is completely irrelevant to the question of whether it is good or not. The fact that Perl is weakly typed does not mean that Perl users have small penises. It is simply the case that Perl is weakly typed.

    11. Re:Perl is indeed strongly typed by curri · · Score: 1

      In my opinion (and this corresponds to my understanding of the definitions in most books) implicit conversions have nothing to do with strong typing !!! Implicit conversions really mean just means the compiler is less anal-retentive, and is equivalent to explicit casting.

      The real problem with weak typing is when you can make the compiler/language believe that a piece of memory has a different type than what was originally assigned.

      You can do this easily in assembly, and with C's unions or pointer conversion (althoug the results are officially 'undefined' :)

    12. Re:Perl is indeed strongly typed by Anonymous Coward · · Score: 0

      Shut the fuck up! Why won't you bend over before your beloved Mr. Schwartz! Kissy kissy!! God...

  121. Gross oversight! by BigZaphod · · Score: 2, Interesting

    How could they possibly miss my two languages? COW is a revolutionary system allowing for easy entry of bovines to the computer industry. There is a clear human bias in the list presented here.

    There's also Whirl which was designed as an advanced and modern Java replacement.

    I don't see why these two critical and important languages weren't included. I feel shocked and saddened by the dreadfully low academic standards represented here. Shocked, I tell you.

  122. ACM SIGPLAN HOPL by trb · · Score: 1

    ACM SIGPLAN has has held a couple of History of Programming Languages conferences, with proceedings full of interesting papers.

  123. Java was expressly NOT derived from C++ by Anonymous Coward · · Score: 0

    http://cs.gmu.edu/~sean/stuff/java-objc.html Also, the chart appears almost designed to make Lisp look less influential than it was. It's organized to put all the Fortran influences as straight lines clustered near each other, and all the Lisp influences as scattered throughout the map to diffuse it. Several of languages which are heavily Lisp-influenced are missing arrows from it (ML? Prolog?). Various major Lisp language versions (Emacs Lisp) are missing entirely. Dylan is missing (!) Oh, but it gets better. Javascript, which is a proto-based language derived largely from Self, is instead listed as (bizarrely) being derived from C and C++, with which it has almost no semantic relationship at all. Python, whose semantics are almost entirely stolen from Self as well, is listed as being derived from C, ABC, and Modula 3! Languages which, again, it bears no relationship. And NewtonScript, the final big Self-derived language, isn't listed at all. I'm not getting a good feeling about this map...

    1. Re:Java was expressly NOT derived from C++ by colinrichardday · · Score: 1

      ABC is related to Python by sharing a common developer, Guido van Rossum. Guido claims that ABC and Modula 3 were the main influences on Python.

  124. family tree of programming languages by flnobody · · Score: 1

    Nice try, but but the author of the programming tree missed a few programming languages that are still in wide use today : LISP MAPPER RPGII and there are probably another half dozen 4th generation languages that you have not mentioned. So, please all of you new young hackers out there hiding behind your 19 inch monitors, wake up and try to understand that you have to come out of your hole more frequent than on Feb 2nd.

    1. Re:family tree of programming languages by Vancouverite · · Score: 1

      LISP is, indeed, right there on the diagram. RPG doesn't seem to show on any of the diagrams... odd. Report Program Generator came out in '64, and RPG II in '69.

      As for MAPPER -- well, there seems to be a disagreement as to whether or not it was a language. Unisysworld.com mentions it solely as a software product, probably based on the fact that it was a combination DB and report writing package. If this is a language, then so is any programmable DB is my opinion -- YMMV.

      --
      We are the Music Makers, and We are the Dreamers of Dreams...
    2. Re:family tree of programming languages by Anonymous Coward · · Score: 0

      lisp is pretty much only used in emacs. it's irrelevant.

  125. Inform Is Missing by Feneric · · Score: 1

    The language Inform is missing from the chart.

  126. Inaccurate by MrWim · · Score: 3, Funny

    There is no line from SCO unixware to linux

  127. Lisp by ari_j · · Score: 3, Informative

    Common Lisp is strongly, dynamically typed. It has been for a long time. There are, of course, other language attributes than strength and time of datatyping, but those are what you're talking about.

    Common Lisp is also object-oriented and beats every other language I know in that arena.

    On top of that, with a good Lisp compiler (such as SBCL, CMUCL, or even GNU Clisp, just to name a few free compilers), it is as fast as any other language, even statically typed languages such as C; but particularly faster than other dynamically typed languages.

    1. Re:Lisp by smittyoneeach · · Score: 1

      Yes, but use of functional languages can lead to creative thinking. Go wander the byzantine maze of your choice of bloated class library, you malcontent!

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    2. Re:Lisp by jonadab · · Score: 1

      > Common Lisp is also object-oriented and beats every other language I
      > know in that arena.

      Common Lisp is one of those languages I keep telling myself I Really Ought To
      Learn. But I haven't gotten around to it yet.

      The best OO I've ever seen in any language is Inform. Knocks the socks off
      of everything. Perl is _finally_ getting decent OO in version 6, but it
      *still* won't have some of the niftier OO features of Inform, such as the
      object forest and the objectloop control flow structure, both of which are
      incredibly useful, sometimes in unexpected ways. (They were designed for
      solving a particular class of problems that are important for Inform's
      special purpose, but they're useful generally.)

      --
      Cut that out, or I will ship you to Norilsk in a box.
    3. Re:Lisp by ari_j · · Score: 5, Interesting

      As an Emacser, you should definitely get into Common Lisp. I don't know Inform, so I can't compare the object-oriented parts of the two languages, but I have yet to come up with an object-oriented feature that I really wanted and Common Lisp didn't provide. (Incidentally, that includes multiple inheritance, which is only present in one of the more popular programming languages.)

      One of the niftiest things in Common Lisp's object system is multi-methods (I can't remember if that's the right term for them...I am back in school and programming has taken the back seat.) Essentially, the polymorphic methods in Common Lisp can specialize on any of their parameters, and you can specialize not only at the type level but also at the instance level.

      And you get all the great features of Lisp right along with it.

      Since you use Emacs, what you want is called SLIME - Superior Lisp Interaction Mode for Emacs. It interfaces to your choice of Lisp environments (I use, and recommend, SBCL; but have used Clisp and CMUCL with it, as well.) and provides an REPL, an interactive debugger, a Lisp editing mode with HyperSpec lookup (meaning you can type a command while over a symbol and a web browser will come up with the HyperSpec page for that symbol, the HyperSpec being a really helpful Lisp resource), and really easy incremental development features like "Compile and load this file" from which you can then go to the REPL and test out your functions.

      But, needless to say, it blows C++, Java, Python, Perl, C#, and even Ruby right out of the water. And it's older than many Slashdotters' parents.

    4. Re:Lisp by CableModemSniper · · Score: 1

      Yes, thats all well and good, but wheres the library to add infix syntax to lisp?

      --
      Why not fork?
    5. Re:Lisp by ari_j · · Score: 1

      You're thinking of M-expressions, which the linked-to site explains as being the initially intended external representation of Lisp (as in the language in which you would write code), but which never came to fruition, in large part because S-expressions (whence comes the backronym "Lots of Irritating, Superfluous Parentheses") are easy to throw around as data and that's a Good Thing, because it gives rise to macros, one of Lisp's most powerful features.

    6. Re:Lisp by jonadab · · Score: 1

      Infix syntax is one of the things I don't miss in elisp, so I don't see why
      I should miss it in Common Lisp either. What I do miss in elisp is a sane
      quoting syntax for regular expressions; all those double-backslashed regex
      metacharacters make the regular expression library, powerful as it is, a
      serious pain in the neck to actually use. When I need regexen, I usually
      write the code in Perl instead -- in some cases I would anyway, because
      Perl is just generally better for some things (and the CPAN is several orders
      of magnitude easier to use for finding and installing modules than the Emacs
      equivalent). However, Perl isn't so hot in some cases, such as when large
      amounts of user intervention are required -- elisp is particularly good for
      situations where you want to integrate what's being done into an editing
      environment; Perl just can't hack that; its UI isn't made for that.

      (Yeah, there are the special versions of Emacs with Perl embedded. I've never
      gotten around to trying them out. Maybe I should. But maybe elisp should
      be extended with a better regex-quoting construct, too.)

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

      > As an Emacser, you should definitely get into Common Lisp. I don't know
      > Inform, so I can't compare the object-oriented parts of the two languages,
      > but I have yet to come up with an object-oriented feature that I really
      > wanted and Common Lisp didn't provide. (Incidentally, that includes
      > multiple inheritance, which is only present in one of the more popular
      > programming languages.)

      Inform has multiple inheritance of *course*, a full inheritance tree. Any
      language that doesn't is not, as far as I'm concerned, really object-oriented.
      Inform also, orthogonal to the inheritance tree, has an object forest, which
      is a *really* useful data structure for organizing objects. And it has
      instance properties, which a lot of the wimpier pseudo-object-oriented
      languages don't have.

      Say you have an object, foo, which inherits from two classes, Bar and Baz.
      Baz in turn inherents from Quux, which inherents from Lambda and Chortle.
      foo also belongs to the metaclass Object (whereas, Bar, Baz, Quux, Lambda,
      and Chortle belong to metaclass Class). Now, Lambda provides a property
      called aleph, with a string for the default value, and a property called
      beth, with a number for the default value. Chortle provides gimmel, with
      a routine for the default. Quux overrides Lambda's value for aleph with
      a routine that determines the correct string dynamically, based on the
      current situation. Bar overrides Chortle's (routine) value for gimmel
      with a more interesting/precise routine better suited for Bar objects.

      All of that is just garden-variety multiple inheritance, but here's where
      it gets interesting: foo can also override the value for any of these
      properties in any way it chooses, and additionally can also provide the
      properties daleth and waw. (Recall that foo is an individual object -- an
      instance, in C++ parlance, not a class.)

      Then there's the object forest: you can move foo into/onto another object,
      wibble, so that foo is a child of wibble, and move some other objects to
      wibble also, so that foo has siblings. Then you can move objects to foo
      so that it has children. Think of it as a general tree that is built into
      the language core. Additionally, there's an objectloop control-flow thing
      for looping over the objects that are in a certain object, belong to a
      certain class, provide a certain property, or meet other specified criteria.

      Inform does not have multimethods, however.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    8. Re:Lisp by ari_j · · Score: 2, Interesting

      All that could be done in CL, although the object forest would take slightly more work than one provided by the language directly. I'm not sure about an individual object being an instance of two classes without an intervening class, but the distinction probably makes no real difference.

      CL has CLOS, the Common Lisp Object System, which takes care of all the OO stuff. The MOP, meta-object protocol, allows you to really get in and mess with its behavior. MOP isn't 100% portable between Lisp implementations, and I haven't learned how to use it, but I know that you can do wacky things like say "This class should have a metaclass not of 'class, but of 'my-special-mega-class." and probably completely interfere with method calls, etc.

    9. Re:Lisp by AlanS2002 · · Score: 0

      Eiffel has multiple inheritance and that is one if it's best features IMHO. Like someone else says, every OO Language should have it. It would be good if it also had function overloading as well though.

      --
      Not all conservatives are stupid,
      but it is true that most stupid people are conservative.
      - Hume
    10. Re:Lisp by jonadab · · Score: 1

      > I'm not sure about an individual object being an instance of two classes
      > without an intervening class, but the distinction probably makes no real
      > difference.

      I can assure you that it makes a real and important difference for a lot of
      Inform code. Having an object that is a member of several classes is a very
      common thing in Inform, because it is common to have classes that are
      entirely orthogonal to one another. If you had to declare a fooplusbar
      class every time you wanted to make an object derive from two classes foo
      and bar, and a fooplusbarplusbaz class whenever you wanted to derive an
      object from three classes, and so on, a huge mess would result.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    11. Re:Lisp by angel'o'sphere · · Score: 1

      Common Lisp *IS NOT* object oriented. Period.

      CLOS, the Common Lisp Object System is a runtime environment build around Common Lisp. That one is object orineted.

      Wether CLOS beats "every other language" you know is a matter of taste. E.G. in my eyes it does not beat Java. Why? Java is in most regars static typed. CLOS is dynamic typed. *I* simply can not work with that :D OTOH, Java does not beat C++ either, I would prefer the best stuff from C++ and the best stuff from Java as *my language of choice*.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  128. The Ankh by Anonymous Coward · · Score: 1, Funny

    Has anyone noticed that the Egyptian symbol Ankh resembles a 0 and a 1 separated by a line?

    1. Re:The Ankh by Anonymous Coward · · Score: 0

      Dude you are so deep. Wait until Bill and Ted hear about this...

  129. 'Bespoke' languages by zalzadore · · Score: 2, Interesting

    At UNI (15 years ago) one of the lecturers had written an OO language that we all had to use in his subject. A bit like ADA but with looser typing. At my last job (a large Financial institution) they had written their own finacnial programming language called A+ for their IBM mainframes.

    1. Re:'Bespoke' languages by michael_cain · · Score: 1

      At least the first reference shows A+ as a descendent from APL. Not surprising for a finance language, as APL's vector orientation makes it easy to express a variety of financial functions. I started using APL in 1975 or thereabouts -- had a full symbolic debugging capability, which beat the hell out of PL/I's hex dumps. I still use an antique APL interpreter on Linux as my usual calculator -- God, do I feel old.

  130. Algol 68 predates C by dmoen · · Score: 1
    Direct influence is Unlikely, since C predates Algol68. Its more probable that both were influenced by general discussions taking place at the time.

    C was designed and implemented between 1971 and 1973.

    The design of Algol 68 took place over a longer period of time before there was a working compiler (corrections if this is wrong, please), but surely the design began in 1968. The earliest Algol 68 publication I'm aware of came out in 1969.

    Doug Moen.

    --
    I have written a truly remarkable program which this sig is too small to contain.
  131. What happened to Dylan? by mveloso · · Score: 1

    No, not that Dylan, the other one!

    http://www.pcai.com/web/ai_info/pcai_dylan.html

  132. Python and Lisp by arevos · · Score: 1

    I would have given Python a bit of Lisp influence, myself, what with the lambda forms, and typical functioncal programming functions such as map and filter.

    1. Re:Python and Lisp by Anonymous Coward · · Score: 0

      If I remember correctly, those will be removed in the future because they are not "Pythonic", and new features in 2.4 allow one to do the same in a much easier way.

  133. 1995 by kryocore · · Score: 1

    Seems to me, as I recall, 1995 is when the Internet went public. Looking at the chart, there were a lot of changes in programming languages in 1995. Interesting...

    1. Re:1995 by geoffspear · · Score: 1
      And man do we all feel like fools for complaining about the huge influx of clueless newbies instead of getting in on the IPO.

      There were certainly lots of people from outside universities and military bases using the Internet before 1995. You recall wrong. Even if by "Internet" you mean "WWW" you're off by a couple of years.

      --
      Don't blame me; I'm never given mod points.
  134. Business Basic - 750,000 + Users at the moment by boogahboogah · · Score: 3, Informative
    I'm not surprised that the collegiate types that put together this history of languages missed out on this BASIC variant, called 'Business Basic'. It was created by the BASIC FOUR corporation, in California, on their proprietary hardware. It ties the simpleness of BASIC with relative record and keyed files, business math that assumed 2 digits to the right of the decimal point but could go to 12, extended variable names, data dictionary integration with the language, callable programs/routines, definable functions, etc etc etc. At the time, the BASIC FOUR systems were the best small business 'Minis' around. Unfortunately, the company tried to attack their VAR base and ended up planting the seeds of their own demise.


    Currently still being developed and used globally, with at least 750,000 + users all around the world.


    Currently offered by multiple vendors, runs on all Unix, Linux, M$ systems, except maybe on the 'big iron' IBM boxes. Current vendors with products that are supported are Thoroughbred, Basis, and Providex.

  135. Ot:Sig misquoted... by zobier · · Score: 1
    Yeah I had a look around. That Stardate is from The Original Series, Episode 14. Spock doesn't appear to have said that.
    "No," scolded Yoda. "Do, or do not. There is no try."
    --
    Me lost me cookie at the disco.
    1. Re:Ot:Sig misquoted... by Mycroft_VIII · · Score: 1

      Not to mention Doctor Spock was never on Star Trek (original series) that I'm aware of. I suspect humor is involved somehow. :)

      Mycroft

      --
      https://signup.leagueoflegends.com/?ref=4c3ed6600b6ea
  136. On the Seventh Day by handy_vandal · · Score: 1

    Where's the equal time for creationism? I don't believe in this "evolution" stuff. I think God created .NET (cough, cough) and then rested on the seventh day.

    If God had worked on the seventh day, He could have debugged all of Creation. But no, He had to rest.

    Q: Why does God permit evil to exist?

    A: Because He is lazy. If he'd worked on the seventh day, we'd be living in Paradise right now.

    -kgj

    --
    -kgj
  137. Plankalkul had no descendents by dmoen · · Score: 1

    If Plankalkul was added to the chart, then it would have no lines descending from it. The paper was written in German, there was never an English translation until relatively recently (in programming language history). Nobody was influenced by the language.

    Doug Moen.

    --
    I have written a truly remarkable program which this sig is too small to contain.
  138. Genetic code and Sanskrit by Anonymous Coward · · Score: 1, Interesting

    The oldest programming language might be the genetic code. If we restrict this exclusively to the human doman, then the ancient Indian language Sanskrit (http://www.a42.com/node/view/173) might be the oldest language in which computable expressions can be written. In fact many classical Sanskrit poems have been shown to be mathematical theorms, productions, computations etc..

  139. phylogeny of languages by a_d_white · · Score: 1

    What struck me first about the schematic was the sexual reproduction or lateral gene transfer between languages in the '70s and '80s compared with the speciation into distinct languages by the late 1990s. In the past, it seems, ideas were often combined into new languages (Scheme = Lisp + Algol), while now they've stratified into identifiable species (Python, Ruby, Java, Perl, PHP, etc, where a recent exception would be C#).

    However, further inspection shows that the timeline is distorted, making recent changes look more significant. Unlike more complete evolutionary records, this phylogeney shows languages that are important enough to remember (read: ancestors of currently used languages). A more complete tree would probably show that new languages are still being created that are amalgamations of ideas implemented in current languages. Some of these new languages we'll all be using in 15 years, but right now no one would think to include them in such a diagram.

    A more interesting study would track language features, and show features transferring into languages, e.g., the addition of OO to Perl.

  140. Nice! by CaptainPinko · · Score: 1

    Thanks to everyone who replied. GraphViz was exactly what I was looking for. The guide seems solid. Apparently there is a decent Java viewer too, but I haven't played with it yet.

    This makes me a happy boy.
    --
    Your CPU is not doing anything else, at least do something.
  141. I can beat that. by dmoen · · Score: 1

    I've programmed in Fortran (1954), Algol (1959), Cobol (1960) and Lisp (1960). Not at those times, mind you--these languages were all designed before I was born.

    I've also programmed in Raw Machine Code, by patching a running system (late 1940's?).

    Doug Moen.

    --
    I have written a truly remarkable program which this sig is too small to contain.
    1. Re:I can beat that. by FuzzyDaddy · · Score: 1

      But did you code in the 1954 version of fortran? I've coded fortran as well, but it was FORTRAN77.

      --
      It's not wasting time, I'm educating myself.
  142. A few errors - E.G. JavaScript by Quantum+Jim · · Score: 1

    There seem to be a few errors with both charts. For instance, the pdf diagram shows JavaScript to be directly influenced by only Java, while the Éric Lévénez's history shows links from both C++ and C. However, JavaScript was actually designed to be Self in C's clothing. Some features of LISP and other object-functional languages also influenced it's design. I wonder how the links in these charts were determined.

    --
    It is impossible to enjoy idling thoroughly unless one has plenty of work to do.
    - Jerome Klapka Jerome
  143. um... by Run4yourlives · · Score: 1

    Well,Basic and VB are mentioned a lot, but VB script (or ASP if that's your boat) is nowhere to be found...

    I assumed he left off the scripting languages until I noticed both Javascript and Jscript floating around.

    Pretty major oversite IMO.

  144. I also had an undergrad class on this. Or, at least that's what the class description said. I really thought it was going to be handy in the same manner you specified.

    Until the first day of class, when we found that the class was being taught by one of the moldering-in-tenure professors. Who adored SML, and spent most of the day at his terminal, implementing parts of the standard C library in SMLNJ. Who, instead of covering anything like what the class description said(or assigning us a textbook like the one in the link), repeatedly handed us assignments to recreate various elements of Lisp using SML. Most of us were too scared to pipe up that we didn't have any grasp of Lisp(not to mention SML) besides the historical entries. Didn't matter to him anyways--asking him for help during office-hours would get you a random half-hour lecture on logic sets and proofs, with a few thoughts about his recent vacation thrown in.

    It was almost three-quarters of the semester before we finally got together a petition to throw his ass out and get a competent replacement. Unfortunately, at that point all we had time left for was some basics of Java and garbage-collection. The grades the original prof had handed out still counted, so nobody ended up with anything better than a C or so at the end. :(

    --
    --
    1. Re:Heh. by Anonymous Coward · · Score: 0

      It was almost three-quarters of the semester before we finally got together a petition to throw his ass out and get a competent replacement.

      Doh! So that part of the class was a waste :(

      Unfortunately, at that point all we had time left for was some basics of Java and garbage-collection.

      Doh! So the entire class was wasted.

      The grades the original prof had handed out still counted, so nobody ended up with anything better than a C or so at the end.

      Doh! Thrice shafted.

  145. I'm disappointed... by loonicks · · Score: 1

    Where's befunge? Best. Language. Evar.

  146. Python w/ Livewires by sunami · · Score: 1

    At my school, we are learning python, with the help of the livewires package. It's great for beginner programers, as it's taught for the computer science 1 class.

  147. ARexx by Anonymous Coward · · Score: 0

    was probably the only version of rexx widely used. It was included in the Amiga o/s. Any Amiga app worth it's salt had an arexx port and could be easily scripted.
    But It's not included.

    1. Re:ARexx by Anonymous Coward · · Score: 0

      worth it's salt

      "its".

      But It's not

      "it's".

  148. which would totally make sense by Anonymous Coward · · Score: 0

    if the egyptians used arabic numerals...... :-P

  149. I learned with MAD by Ungrounded+Lightning · · Score: 1

    madprogrammer writes:

    No teaching/learning languages?

    I learned to program with GWBasic, QBasic, TurboPascal, Modula-3 - none of which made it into the chart...


    I learned with MAD (given your handle there ought to be a joke there somewhere).

    MAD - Michigan Algorithm Decoder - was a rather powerful language sometimes described as algol-like, contemporary with Fortran II, which compiled into object (or assembler) for the IBM 70x/70xx series.

    It was quite powerful. It had complex numbers, matrix types and operations. Particularly useful to me was that it let the user define new types, new operators, and rules for the code generator to support them. It also could show you, inline in your listing, the assembler code generated to support each line - invaluable for learning what was going on, and optimizing, and often handy for debugging.

    A lot of useful work was done using this language in the '60s and '70s in the University of Michigan (where it originated) and a number of other places - several other universities, the auto industry, etc.

    It died when the 709x series was replaced by the 360 series (although a low-key effort was made to produce a 360 version).

    Part of the problem was that some of the language features depended on being able to pass a second, hidden, address in each argument to its own routines on certain functions while still being compatable with the Fortran-supporting subroutine library. This would have been surmountable.

    The main killer was that the University had built its own timesharing system for the 360 series (MTS) while waiting for IBM to get its act in gear with TSS, and this had cought on and become production, not just at umich but at many other places. The U didn't have the budget to simultaneously support MTS, a language, its library, the "data concentrator" terminal server, and Dr. Dave's "fuzzball" routers for the early internet.

    In the absense of a compatible language on the new machines the still-in-production applications were ported to languages that WERE available, relieving the pressure to support MAD, and the language was allowed to die.

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  150. A better chart by Anonymous Coward · · Score: 2, Insightful

    http://www.cs.washington.edu/education/courses/cse 413/03au/misc/language-chart.jpg

  151. APT by bytecolor · · Score: 1

    Automatically Programmed Tools isn't mentioned. I would think the first programming language to recieve an ANSI specification deserves at least a nod. Not to mention APTs enormous contribution to numerically controlled manufacturing.

    --
    bytecolor
  152. Pascal-Bracketing Knowledge. by Anonymous Coward · · Score: 0

    "IMO they should choose something very simple, to emphasize the basics and self-discipline, rather than the syntax."

    FORTH on the low end. Scheme on the high end.

  153. Thanks by samvinci · · Score: 1

    Now I have a desktop background that's actually worth looking at.

  154. UNISYS ALGOL by bomberger · · Score: 1

    ruled... Gregory books taught me how to code, Unisys coding taught me how to build my OWN classes and my OWN types, and my OWN methods from a 48 bit word. Bit shifting to the max! That was the best and most fun I ever had programming.. Ah the days of my youth!

  155. Not S/360, 704 by JohnQPublic · · Score: 1

    LISP was designed for the IBM 704, not the System/360. The 360 series (and its subsequent 40 years of followons) weren't the source of CAR and CDR. The 704's word was divided into two parts, the "address" and "decrement". Hence "CAR" for "Contents of Address part of Register" and "CDR" for "Contents of Decrement part of Register". McCarthy is on the record about this.

  156. Absolutely! by benhocking · · Score: 1

    I spent several years developing enterprise-class software in Quick Basic, before writing a converter that would convert our ~1M lines-of-code to VB6. Imagine the challenges involved in converting code written in a language designed to be procedural driven to one designed to be event driven! (I had to hand convert our primary toolset which has all of the GUI stuff. Then, it has to invoke the proper routines when the specific buttons were pressed. I have to admit, it was the most fun I've ever had on a software project.) What made it even more interesting is that some of the code written in Quick Basic was originally written in old-fashioned line-numbered BASIC, with the GOTO's still intact. (In fact, part of our programmer's handbook taught when to use GOTO's, and the answer was not "never".)

    I have to admit, I also enjoyed the Quick Basic days when we had to make sure our program never used more than 590K. (We allowed no more than 50K be taken up by MS-DOS et al.) It encouraged statements like "intNumLinesOnForm = 15 - 5 * boolShowDetail", where "boolShowDetail" was actually an integer that was 0 if false and -1 if true. VB6 kept this behavior, but VB.NET turned true into +1. Luckily, I left (to go back to school) before that became an issue.

    P.S. The company I worked for was a great one. The president and vice-president were both programmers that made a point of still doing a little coding on a regular basis.

    --
    Ben Hocking
    Need a professional organizer?
  157. Resume by CaptCanuk · · Score: 2, Funny

    I guess I'll just print this out as the second page on my resume as a timeline of what languages I know and when I learnt them.

    Then prospective interviewers can't point out my current 8 years of C# experience is a lie.

    --
    ---- The geek shall inherit the Earth.
  158. Simula and smalltalk ... and LISP by anon+coward · · Score: 2, Informative

    Alan Kay also credits influence of LISP in the essay, as shown in the Levenez chart

  159. Ruby in the lead by csb · · Score: 1

    And down the stretch, Ruby v1.8.2 takes the lead! Oh wait... this isn't a race, is it? Darn.

    --
    We reserve the right to serve refuse to anyone. -management
  160. awk by isny · · Score: 1

    Awk is great. More people should use awk. It's like C without all the pointers.

    Then again....it's like C without all the pointers. :-(

    1. Re:awk by iggymanz · · Score: 1

      Perl is awk & nawk & C & C++ & lord knows what else

  161. Lévénez left out some by Nybble's+Byte · · Score: 0

    such as Quick Basic. Not a big omission as far as I'm concerned, though. I didn't see HP BASIC and Rocky Mountain BASIC, as used on their technical computers and workstations - far more powerful than your typical BASIC, with good floating point math and lots of I/O flexibility.

  162. HyperTalk, AppleScript, Dylan, Squeak by soundofthemoon · · Score: 2, Informative

    HyperTalk had about a kajillion users. It certainly deserves a place in this geneology. I'm not sure exactly where to put it, but it's certainly related to Smalltalk as a close cousin if not a descendant. For completeness, AppleScript should be listed as a descendant of HyperTalk.

    I don't know why the PDF lists C++ as an ancestor of Dylan. I was somewhat involved in the development of Dylan, and Scheme, CLOS and Smalltalk were the main parents.

    Squeak is the current leader of the Smalltalk bloodline. www.squeak.org

    1. Re:HyperTalk, AppleScript, Dylan, Squeak by adavies42 · · Score: 1
      And while we're on the subject of Apple and Smalltalk, what about Objective C?

      Or should I say, [objective-c : what about]?

      --
      Media that can be recorded and distributed can be recorded and distributed.
      -kfg
    2. Re:HyperTalk, AppleScript, Dylan, Squeak by soundofthemoon · · Score: 1

      Objective-C is already on the chart with Smalltalk and C as its parents, exactly where it should be.

  163. Interlisp and Interlisp-D by BanjoBob · · Score: 1

    Along the branch of the Lisp tree there was a wonderful development environment called Interlisp and Interlisp-D that were extremely easy to program and work with.

    The Interlisp environments had variants built upon them like Notecards.

    In the Lisp branches of both maps, the Interlisp variant is missing.

    Venue had the Interlisp version Koto ported to the x86 platforms and it performed reasonably well.

    Later versions of Interlisp could incorporate common lisp, Prologue and Interlisp all in one package that could compile and run programs built on all three.

    --
    Banjo - The more I know about Windoze, the more I love *nix
  164. Why No Mention of Mesa? by north.coaster · · Score: 2, Informative

    I could not find any reference in either list to Xerox PARC's Mesa, which is often credited as one of Wirth's inspirations for Modula-2.

    1. Re:Why No Mention of Mesa? by Spinality · · Score: 1

      Uh, sorry, Mesa and Cedar are both there in the middle of the 1st diagram, just above the Smalltalk thread, shown as deriving in 1977 from Algol and Pascal influences (which actually doesn't strike me as telling the whole story -- Smalltalk and Interlisp were both important sources of ideas).

      Both Mesa and Cedar were very important languages from a theoretical standpoint, IMO, though neither got much practical use because of their limited distribution/implementation.

      --
      -- We all have enough strength to endure the misfortunes of other people. La Rochefoucauld
    2. Re:Why No Mention of Mesa? by Anonymous Coward · · Score: 1, Interesting
      You are wrong concerning MESA. It was the systems programming language on the Xerox Lisp and office machines and hence the language in which the office environment - viewpoint - was written. Viewpoint (of course) had a lot of features, like embeddable applications, which were later 'invented' in products like MS office.

      When you booted an Interlisp-D machine you were first put into MESA, where you then had the option of loading a sysout or performing wonderfull things on the machine. After you gave the secret password 'I-ACCEPT-THE-RISK'.

    3. Re:Why No Mention of Mesa? by Spinality · · Score: 1

      I'm not sure what you mean when you say "you are wrong concerning Mesa." Do you mean it isn't in the diagram, wasn't important theoretically, didn't evolve with input from Smalltalk and Interlisp, or wasn't interesting?

      I found Mesa (and its embedding in the Pilot environment on the Alto platform, suggesting the famous Ingalls aphorism "an operating system is a collection of things that don't fit into a language -- there shouldn't be one") very interesting, and the source of important ideas for language design that were assimilated by an army of PARC followers. Obviously the applications built with Mesa were also interesting, as you say, though there are chicken-and-egg aspects to their relationship with the implementation platform.

      I of course felt that Cedar was much more interesting than Mesa, being further evolved, but many important seeds came from the Mesa concepts.

      Of course since I'm replying to an AC post, nobody will probably see this comment.

      --
      -- We all have enough strength to endure the misfortunes of other people. La Rochefoucauld
    4. Re:Why No Mention of Mesa? by Anonymous Coward · · Score: 0

      I am the AC in question.
      My point was just on the practical use. Being the 'motor' in the Xerox workstations to me is indeed a very practical application as far as MESA is concerned. One can just lament, that Xerox was much too early, when compared to contemporary offerings and market perception at the time.
      In some respects both Interlisp-D and Viewpoint still has the upper hand on current offerings.
      Best regards

    5. Re:Why No Mention of Mesa? by Spinality · · Score: 1

      Oh, you mean that Mesa DID get practical use. I thought you were saying the reverse, that Mesa was an unimportant side project. Yes, of course you're right, and I didn't mean to imply that Mesa was just a theoretical exercise. I should have said "didn't get widespread production use and public visibility."

      Unfortunately PARC was always a bastion of great ideas, great technology, great human-factors vision...but limited commercial success. Of course it was a lab universe -- R&D with an emphasis on R. So it's not fair to judge PARC as a product development center. Better to compare it to Project MAC or CSRG, or the Sarnoff labs. Still, it always seemed that Xerox managed to shoot itself in the foot when trying to leverage the wonderful output of its lab environment. And some of it SHOULD have been leveraged, because it grew into robust, mature technology, far advanced from the ad hoc benchtop experiments we think of as typical lab output.

      Just think if Visual Basic had been Visual Cedar. (Though of course VB started as Visual Ruby, didn't it, still a big paradigm shift.) Oh well. I'm glad a few of us dinosaurs remember the progress in software architecture that was made in the 70s-80s, back when hardware was expensive, and smart thinking and bespoke languages/systems could really make sense. Some of those good ideas are probably lost. Instead we have XML.

      Cheers.

      --
      -- We all have enough strength to endure the misfortunes of other people. La Rochefoucauld
  165. Moving from C to C# by mrericn · · Score: 1

    Despite the naming of C#, I don't see why it is always shown as deriving from C. It is clearly a direct decendent of Java, maybe with a little Delphi thrown in for good measure. The value vs reference types, parameter passing, inheritance, scoping... all variations on Java.

    Sure there are plenty features of C there, but most of those were in Java...

    1. Re:Moving from C to C# by Anonymous Coward · · Score: 0

      J isn't a note on the chromatic scale.

  166. ISO/ANSI/Standardization by Mysteray · · Score: 1

    From the chart, it looks as if ISO and ANSI seem to mark the end of the line for most languages they standardize. Question is, are they executioners, vultures, or just plain slow?

  167. What about [Boolean Algebra]? by Anonymous Coward · · Score: 0

    I'd go even earlier than that. Boolean Algebra. Lowest you can go. Then BNF on top of that.

  168. Why not include RenderMan, Cg, HLSL, and GLSL? by Anonymous Coward · · Score: 0

    This programming language evolution tree is making a big mistake by not including GPU programming language such as RenderMan, the Stanford Shading Language, Cg, HLSL, and GLSL.

    This discussion has been so CPU-centric.

    The day of the GPU is coming; the day of the CPU will soon be past.

  169. patterns everywhere... by recharged95 · · Score: 1

    Looks like a lot of the scripting languages just improve themselves (versions) vs. the core languages either merging with others or evolving.

  170. BASIC, not Basic, by tonsofpcs · · Score: 2, Informative

    re: the first one http://www.levenez.com/lang/history.html it is BASIC, not Basic. Also, there was MS-BASIC, GW-BASIC, BASICA, Apple BASIC, MS QBASIC, MS QuickBasic, QuickBasic Extended/PDS. Also, they list JScript, and not VBScript; PHP and not ASP. Also, this one is missing Rexx. http://people.mandrakesoft.com/~prigaux/language-s tudy/diagram.pdf seems to have some data that is off to the right of the page, including what appears to say "PostScript".

  171. Missing statistical languages by DavidHumus · · Score: 1

    like S+, R, SAS, SPSS.
    Also, I didn't see Matlab, which is
    kind of popular in certain crowds.

  172. Re:Don't believe him -- SCO by Anonymous Coward · · Score: 1, Funny
    Bill Gates invented everything.


    Maybe so, but SCO own all the copyrights.
  173. D? by Anonymous Coward · · Score: 0

    Where, pray tell, is D? And what about ECMAScript and VBScript? Assembly is more of a form of self-mutilation, but I think it could be mentioned.

    And what about Emacs? *ducks*

  174. A real Language Education by smcdow · · Score: 1

    http://www.99-bottles-of-beer.net/

    --
    In the course of every project, it will become necessary to shoot the scientists and begin production.
  175. Tron by rabel · · Score: 1

    This is also handy as a TRON level map...

  176. Daisey by comet69 · · Score: 1

    I didn't see "daisey" on there either.. i thought it was related to Common Lisp in some way... anybody see it on there at all??

    --
    - Hi I'm Linus Torvalds and I pronounce Linux, Lih-nix..
  177. Something missing by adeydas · · Score: 1

    Shouldn't we include ADA and similar types also?!

  178. ColdFusion ignored by mdinowitz · · Score: 2, Interesting

    And as usual, ColdFusion has been ignored by both. It was out before Rebol, Asp, PHP, etc. It's still running strong and it's a proof of concept that tag based languages (as now seen in JSP and Asp.Net) work. Where's the recognition?!?

    --
    Michael Dinowitz House of Fusion http://www.houseoffusion.com
  179. Type inference and polymorphism by dspeyer · · Score: 1
    The fundamental problem with type inference is that it doesn't play well with polymorphism. In O'Caml, you can only create polymorphic functions either if they ignore the type altogether (ie 'a -> 'a) or if all the subtypes of a supertype are used (ie a match statement). The former is to weak to handle some cases, and the latter requires excessive wrapping to be useful.

    Other than that, type inference is great, and it might be possible to find a better compromise than O'Caml (though it's theoretically impossible to solve it completely unless you're willing to introduce runtime elements). I could complain about the poor error messages in type conflicts, but that's a problem with the interpreter/compiler, not the language itself.

  180. Strongly typed languages by Per+Abrahamsen · · Score: 2, Informative

    The term *used* to cover languages where variables have types that can be (and conventionally are) checked at compile time.

    However, since the term had strong connotations, advocates of languages where values have types that can be (and conventionally are) checked at run time, started claiming that their languages are also strongly type cjecked.

    As a result, the term is today meaningless. What I use instead is talking about static typechecking (type errors detected by the programmer at compile time) and dynamic typecheckig (type errors detected by the user at run time).

    Python rely on dynamic typechecking.

    1. Re:Strongly typed languages by HeghmoH · · Score: 1

      It's not meaningless, it simply means something different. Strongly typed means that you can never take a piece of memory and reinterpret its bits as something other than what it actually is. Today, there are four corners (at least!) in language typing:

      Strongly statically typed: strong typing is enforced at compile time rather than runtime. C++ resembles this, but doesn't go all the way because you can still cast pointers. Something like ML might be more like what this is.

      Strongly dynamically typed: strong typing is enforced at runtime by type checks or any other mechanism. Examples of this abound. Lisp, Java, Python, Perl, Smalltalk, and the list goes on.

      Weakly statically typed: type checking is done at compile time, but it's easy to get around. The most obvious example would be C.

      Weakly dynamically typed: type checking can be done at runtime, but it isn't enforced. C++ with RTTI would fit somewhat in this category, as would Objective-C.

      --
      Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
    2. Re:Strongly typed languages by Anonymous Coward · · Score: 0

      Strongly statically typed: strong typing is enforced at compile time rather than runtime. C++ resembles this, but doesn't go all the way because you can still cast pointers. Something like ML might be more like what this is.

      But most MLs provide the same feature, they just strongly advise against using it. (Check Obj.magic in OCaml, or Unsafe.cast in SML - the latter's an extension to the standard, but the most widely-used implementations - SML/NJ and MLton, at least - provide it.)

      Heck, even Haskell provides ways to escape the type system when you Really Want To.

    3. Re:Strongly typed languages by iwan-nl · · Score: 1

      I'm not sure I understand this correctly, but by your discription i'd say java is Weakly Staticly typed, because "type checking is done at compile time, but it's easy to get around."

      Example #1:

      Bar bar = new Bar();
      Foo foo = bar; //Causes compile-time error

      Example #2 (gets around compile-time check):

      Bar bar = new Bar();
      Foo foo = (Foo)bar; //Throws ClassCastException at runtime if Foo and Bar don't share a common ancester

      Could someone enlighten me?

      --
      I'm trying to improve my English. Please correct me on any spelling/grammar errors in this post.
    4. Re:Strongly typed languages by Fahrenheit+450 · · Score: 1
      It's less a case of being able to do something, ond more along the lines of having to do something explicitly. For example, this is just fine in C/C++:
      #include <stdio.h>

      int main ()
      {
      printf ("%d %c %d %c\n",10,'a',(10+'a'),(10+'a'));
      }

      response: 10 a 107 k
      But not so good in OCaml:
      # Printf.printf "%d %c %d %c\n" 10 'a' (10+'a') (10+'a');;
      Characters 41-44:
      Printf.printf "%d %c %d %c\n" 10 'a' (10+'a') (10+'a');;
      ^^^
      This expression has type char but is here used with type int
      You have to use explicit conversions to get this to work:
      # let f = Char.code
      and g = Char.chr in
      Printf.printf "%d %c %d %c\n" 10 'a' (10+ f 'a') (g (10+ f 'a'));;
      10 a 107 k
      --
      -30-
    5. Re:Strongly typed languages by HeghmoH · · Score: 1

      You didn't get around it at all. The fact that you get an error means that the compiler saw your type mishandling and caught it, and didn't allow you to proceed.

      Compare this with C:

      struct Foo *foo = ....;
      struct Bar *bar = (struct Foo *)foo; // no error, may or may not work

      C will not do anything until you start getting corrupted data or crashes. Java, on the other hand, will stop you cold, just as you stated. This means that Java is strongly typed, but dynamically typed.

      --
      Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
    6. Re:Strongly typed languages by iwan-nl · · Score: 1

      The ClassCastException is thrown at runtime, so it's not the compiler that saw my error, but the jvm that was unable to downcast the object.

      However, your main point remains valid. Thanks for the information.

      --
      I'm trying to improve my English. Please correct me on any spelling/grammar errors in this post.
    7. Re:Strongly typed languages by HeghmoH · · Score: 1

      Yeah, I should have said "runtime system" instead of "compiler" there. My bad.

      --
      Mod down posts with a "Free Mac Mini/iPod" sig, they're spam!
    8. Re:Strongly typed languages by angel'o'sphere · · Score: 1

      The parents explanation is correct.

      Strong vs. weak typing is one axis of the matrix and and static vs. dynamic typing is the second axis.

      Strong typing basically means: errors because values/memory are interpreted wrong (a integer suddenly gets interpreted as pointr, regardless wether by accident or cast) can not happen. Regardless wether this is enforced during compile tyme (static type checking) or during run time (dynamic type checking).

      All languages where the programmer can write code, wich causes an error or a crash can be considered weak typed languages.

      Prime example: assembler. No one prevents you from reading a double from a file and load 8 bytes to teh adress $10000. Then loading the first 4 bytes of that double into a register and jump to the adress contained in that register.

      Casts usually make a strong types ystem weak, at some point. Without casts C++ is a strong typed language (an int is an int is an int, and not a pointer). While C is a weak typed languge (an int is an int or apointer or anything else).

      Instead of modding me, mod the parent ... seems he either got modded down or has no karma.

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    9. Re:Strongly typed languages by angel'o'sphere · · Score: 1

      The first one is static typed.
      The second one dynamic.
      Both are STRONG typed.

      In a weak type system there neither would be a check at the first example (and therefor a crash or bug at the first usage of foo) nor there would be a check at the second example, and therfor crash at the first usage of foo.

      Of course you could check at the point of usage, foo.someMethod(), if you check its strong typed. Regardless wether you do it static (compile time) or dynamic (runtime).

      angel'o'sphere

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  181. Doctor Who will be on air and Trek wont be by wolverine1999 · · Score: 0, Offtopic

    So now in a few months, Doctor Who will be on air (the new series), while Star Trek won't be.

    It used to be the other way round after Doctor Who was cancelled. Trek will come back, and it will be better, I hope.

  182. mumps - m - cache by brausch · · Score: 1

    Cache is still in very active use.

    www.intersystems.com

    in the financial and medical industries in particular.

    --
    "Almost every wise saying has an opposite one, no less wise, to balance it." - George Santayana
  183. NELIAC by WaRtHaWg · · Score: 0


    I haven't searched the 400 plus previous replies, so this is probably a dupe. The Naval Electronics Laboratory Algol Compiler was popular with certain super-secret federal projects from about 1960 til I dunno when.

  184. Re:Pascal (lisp != simple) by Anonymous Coward · · Score: 0

    or is it:
    ((((((((((neq lisp simple))))))))))))))
    oh crap! to many close paransss...
    lisp is the *worst* language to start out with.
    For exactly the reason you point out. utterly horrible syntax. And that's all you worry about as
    a beginner learning lisp. The back-assward syntax
    of a back-assward langauge. That has never produced anything of use (actually maybe, but I'm keen to
    hear of some *large* *all-lisp* program that does
    something truly useful (not play ping-pong or some crap) )

  185. Missing in action ? by Anonymous Coward · · Score: 0

    As the first page can't be searched easily, it's difficult to find more obscure languages.

    Trac seems to be missing from the PDF-page, as is Algol-Genius (Algol with Cobol-style I/O), SAL (a porting language for SNOBOL), and LAX.

    They could be missing because someone evaluated them and found thy didn't have any influence on other languaages, of course. But I kind of doubt that.

  186. Left Out by Anonymous Coward · · Score: 0

    Tutortext, a middle to late 1960's SOAP (Symbolic Operator Assembler Program) created to teach programing via a early paper hypertext, )"a la" choose your own adventure) textbook. Learned to program with it when the only computer in town was the Bank's. Made it easy to program a Bell Lab's "Cardiac" cardboard computer simulator when I got one in 1967 during a high school field trip to the local phone company office. Still have the "Cardiac" .

  187. Re:Pascal (lisp != simple) by Anonymous Coward · · Score: 0

    oh crap! to many close paransss...

    So take a lisp variant that does away with the superfluous parentheses, like Logo. Anyway, there are some very cool editors (DrScheme, eg) that mitigate the whole parentheses thing.

    That has never produced anything of use (actually maybe, but I'm keen to
    hear of some *large* *all-lisp* program that does
    something truly useful (not play ping-pong or some crap) )


    This is completely irrelevant for learning how to program. For a beginner, ping-pong may be a gigantic leap. Once you have a good grasp on the fundamentals, THEN you are ready to move on to an industrial language.

  188. Scheme is for PIMPS! by Anonymous Coward · · Score: 0

    Scheme is for PIMPS! :-D

    That is all.

  189. It's an old and obsolete argument. by hey! · · Score: 2, Informative

    Well the strong/weak typing issue is pretty old fashioned.

    Strong and weak typing is not about doing implicit conersions. It's about trusting what the programmer is doing.

    K&R C was weakly typed (I'm reaching back decades here so cut me some slack). This was especially fun with pointers which were pretty much all just addresses to memory that usually were implemented as ints.

    E.g.
    int incrAt (int *x) {
    return ((*x)+1);
    } ...
    int i = 1;
    float f = 3.14;
    i = incrAt(&i); /* OK */
    i = incrAt(&f); /* Compiler trusts you but shouldn't */

    ANSI C is more strogly typed:

    i = incrAt(&f); / *compiler complains */

    But, it is still happy to trust you if you insist:

    i = incrAt((int *) &f); /* compiler trusts you */

    Strong typing doesn't have anything to do with implicit conversions, in my opinion. Consider the following expression:

    2 * 3.5

    What every sensible language does is this (in prefix notation):

    floatMult(intToFloat(2),3.5)

    as opposed to:

    intMult(2,2.5)
    or
    floatMult(2,3.5)

    which would give the wrong answers. The situation is not different for complex types like objects where there are well defined operations and type promotion schemes.

    What strong typing vs. weak typing is, or was about in any case, was safety vs. the amount of work the compiler or runtime system had to do.

    These days with powerful systems and overcomplex problems, safety is paramount.

    With respect to static and dynamic, they mean exactly as you say.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  190. GPL and functional programming etc. by carnun · · Score: 1

    How about graphical programming languages (GPLs) like LabVIEW which I believe was decended from a language called G.

    And then there is the whole class of functional programming languages like FP and ML and their various derivates.

    Another language I didn't spot was SAS , a high-level statistical programming language used by auditors and banks a few years back.

    Not to mention anything about more hardware related languages like VHDL.

    I'll stop now, before my background starts showing too much.

    --
    - Carnun, Son of Danu -
    "Existentialism lead to nihilism. Nihilism lead to dancing"
  191. HEY, where is os/400 or system 38? by kcim · · Score: 1

    I still have some old as/400 IBM miny main frame boxes. and they have os/400, a moguler language an also system 38 (or 36?) operating system. The os/400 operating system I think uses RP language an object language. I never ran these,the one machine I booted into the dedicated services tools using the defult pass word of all 2s. what confusing sh!t , with 20 min. boot times an all Im still clue less on these machines,they should win the most propritary system award.They are late 80's vintage,need to check back on that chart.

    1. Re:HEY, where is os/400 or system 38? by kcim · · Score: 1

      Correction, thats RPG object language, witch is I think, is a scriping user language.Not for operating system writing? Just curious where on the chart they fall.

    2. Re:HEY, where is os/400 or system 38? by iggymanz · · Score: 1

      you can get books on administering an AS/400 at Borders or Amazons. OS/400 is the operating sytem. System 36 and System 38 are actual minicomputers that ran the SSP operating system. RPG II and RPG III and RPG 400 are compiled languages, they make assembler that goes to machine langauge. Interesting thing about the AS/400 is that the software is run on a virtual machine, the real machine language is a closely guarded IBM secret (keeps them stable and uncrashable)

    3. Re:HEY, where is os/400 or system 38? by iggymanz · · Score: 1

      should have added that's for the old CISC AS/400; the newer ones have popular and well know RISC chip that emulates AS/400 CISC to run a virtual machine

  192. INTERCAL is parent of Aspect-J by jgardn · · Score: 1

    INTERCAL is the parent of Aspect-J.

    For those of you who don't know, INTERCAL introduced the concept of COME FROM. Since GOTO is considered evil, COME FROM is exactly the opposite. You specify somewhere else in the code that you would like the control to pass from another part of the code.

    Aspect-J is cool because you don't even have to label the COME FROM points. It can literally be anywhere in your code!

    --
    The radical sect of Islam would either see you dead or "reverted" to Islam.
    1. Re:INTERCAL is parent of Aspect-J by tengwar · · Score: 1

      From what I heard, COME FROM actually originated as a COBOL debug hook on some paeleolithic platform. According to the same source, the COME FROMs were sometimes left in production code as being too difficult to remove.

  193. Python by jgardn · · Score: 1

    Python is heavily based on ABC.

    I think heavily is the wrong word, since it really only borrows the indentation. Most of the concepts were borrowed from C and Modula 3. ABC is a weak-dynamically typed language, while Python is strong-dynamically typed.

    You'll also note that one of them got that. The other one doesn't mention ABC.

    --
    The radical sect of Islam would either see you dead or "reverted" to Islam.
  194. C for Beginners by jgardn · · Score: 1

    If you started the computer programmer off with a background in hardware, and they understand how you go from RC circuits to transistros, to ICs, then they should learn C. Heck, they already understand assembler, so there won't be any surprises in store for them. Good C programmers are always able to compile the code in their head anyway, and good C teachers show how to compile the code into simple instructions.

    However, if they have no idea what an RC circuit is, it's best if you led them into something simpler and designed to be understood. Sadly, that is not C or Java or even perl. I think Python is the current best education language for the layman.

    --
    The radical sect of Islam would either see you dead or "reverted" to Islam.
  195. Microsoft Centric, pish :) by NoMercy · · Score: 1

    The chain of BASIC goes from a very early version number straight along to MS VB.net, I was looking forward to seeing a complete tree of the various versions of basic, yet this manages to exclude all the other windows versions, let alone the vast numbers of other basic clones generated for other platforms over the years.

  196. Fortran 2003 is missing by G3ckoG33k · · Score: 1

    The official Fortran 2003 standard was published on Nov 18 2004. It is ISO/IEC 1539-1:2004. Read more here.

  197. Go Forth ... by Anonymous Coward · · Score: 0

    and procreate!

  198. APL by APL+bigot · · Score: 1

    Iverson passed away October 19, 2004 at age 83. So long Ken, and thanks for all the APL.

    Err... Make that October 22, 2004. It's late, time for bed.

    --
    Heisenberg may have been here.
  199. But we should be JOVIAL about this by ej0c · · Score: 2, Interesting

    Don't see the language JOVIAL. We should. Used in many, many USAF systems, JOVIAL was a true precursor to Ada, and influential in its own right.

    If nothing else, JOVIAL should be recognized for the role it plays in things-that-go-BOOM, and therefor in the flow of world history.

    However, JOVIAL is significant computationally for the way it introduced real-time extensions, suport for embedded systems, and for very-large-scale systems engineering.

  200. APL, A, A+, J, K by Anonymous Coward · · Score: 0

    K should be a descendent of A+, not J. K was written by the same guy that wrote A and A+. The only commonality with J is that K uses ASCII characters instead of funky APL glyphs.

  201. 2 omissions: C++/CLI and Object Pascal (/Mac) by ivec · · Score: 1

    If C# (even v2) is mentioned, the C++/CLI extension to C++, which makes all of C#'s features available in C++, definitely should be included.
    [C++ 200x is in progress, ok to omit].

    Having been a mac user last century, I think the Object Pascal compilers it supported in the eighteies (MacApp anyone?) should be included -- I believe it was a precursor to Borland's Delphi.
    Hypercard, AppleScript, and (to a lesser extent) Dylan would also be worth mentioning.

  202. Verilog and VHDL are missing by Anonymous Coward · · Score: 0

    Both are hardware description languages and IEEE standards (1364 and 1076 respectively). Both were stared in the 1980s -- Verilog-XL was started by Gateway Design Automation and VHDL was initiated by the DoD.

    These languages are either interpreted at runtime/simulation time or compiled into a binary executable. So, if Java can be on the list, these should be too!

  203. Try not.... by Kolisar · · Score: 1

    I hate to comment on a sig but the there are two things wrong with the sig "Try not, Do or Do not, there is no try -- Dr. Spock".
    First, I believe that "Try not. Do or Do Not, there is no try." was said by Yoda in Starwars Episode IV (the first StarWars movie back in 1977).

    Second, Dr. Spock was a child psychologist, Spock from Star Trek was called "Mr. Spock" not "Dr."

    1. Re:Try not.... by Kolisar · · Score: 1

      Sorry, it was Episode V, Yoda was not in episode IV. The rest of the comment still applies.

  204. Re:Occam / Comal by CrazyBusError · · Score: 1

    Argh. Do we have to? I'd tried to purge that from my memory. Then again, Occam was only ever used on Unisys transputers and how many of them are still around?

    Anyone ever use comal? We were taught it at school. It was like a cross between pascal and basic. Strange stuff.

    --
    -Never argue with an idiot. They drag you down to their level, then beat you with experience-
  205. eiffel? caml? by Anonymous Coward · · Score: 0

    where are they? Eiffel is a pretty nice object-language, and caml gave me the biggest headache :)

  206. INTERCAL vs. BF by abb3w · · Score: 2, Informative
    Would it be better to learn BrainFuck instead?

    That's a better idea. Putting "BrainFuck" on your resume will doubtless highly speed up its evaluation by most potential employers.

    --
    //Information does not want to be free; it wants to breed.
    1. Re:INTERCAL vs. BF by mrchaotica · · Score: 1

      You did realize that both of my posts were jokes, right?

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  207. There are a number of languages not represented. by Richard+Steiner · · Score: 1

    Many of them are on non-mainstream platforms like the one I've been making a living on for the past 15+ years (the Unisys Clearpath IX mainframe line, also known at various times as the Unisys 2200-series, the Sperry 11000-series, and the UNIVAC 1108/1110 and friends).

    I'd be curious to know where languages like PLUS (aka PLSS, the language used to write much of OS2200) would fall, as well as languages like CALL (an interpreted macro language developed at Unisys Roseville and used to write utilities) and SymStream (also known as SSG, the language used to control large system software compiles and other things). Even transaction-automation languages like TTS might be of interest.

    On the Unisys A-series/MCP side of the mainframe world, the WFL command language surely deserves mention, and the "assembler" on that architecture is actually a variant of Algol I believe.

    On the Macintosh, a number of folks used to use a nice little interpreted language called Hypercard, which allowed one to create a series of graphical panels with images and buttons and link them together graphically, and I remember some fairly powerful interfaces written in that languages under MacOS 7 and 8.

    Many of those languages are still in use, but bear little resemblance to the somewhat mainstream languages that are shown on those trees...

    --
    Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
    The Theorem Theorem: If If, Then Then.
  208. Philosophy is nothing without communication by solomonrex · · Score: 0

    Syntax is part of the job. Teach programming without it, and it's like writing without good spelling. You can't be truly effective until you master the discipline.

    1. Re:Philosophy is nothing without communication by pz · · Score: 2, Insightful

      Would you have students learn to read German as part of a philosophy class so that they can study the Germanic greats in their native language? Probably not, because the particular laguage used to express deep concepts is more-or-less irrelevant. Instead, you would use the one easiest for the task. In the US, it would probably be English. In France, French. In Japan, Japanese.

      So when you're trying to teach programming -- not just training someone how to use a particular software house's tool -- why not use a language that best exposes the most important issues without obfuscating them with the arcana of syntax?

      Here's another analogy, if you want to teach someone to drive, do you teach them using a tractor? It would work, right? The same basic principles and laws apply to driving tractors, busses, cars, and trucks. But you probably wouldn't want to use a tractor (bus or truck) because they're particularly difficult and quirky to control. You'd probably use a car, and, at least in the US, probably one with an automatic transmission. You would do this because cars the easiest vehicular form to control, allowing the student to quickly master the concepts around controlling their vehicle and concentrate on the more important aspects of driving such as the conventions and laws surrounding interacting with other drivers. In a similar way, Lisp (or Scheme, my personal variant) allows the student to quickly get to deeper issues in programming because the syntax is so simple.

      --

      Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
    2. Re:Philosophy is nothing without communication by JohnnyFusionGun · · Score: 1

      A novice philosopher may not be expected to read german philosophers in the original german, but they WOULD need to learn at least a few german words which don't trivially translate. Say, Gestalt or Weltanschauung. It's impractical to learn philosophy without learning a few foreign words here and there.

    3. Re:Philosophy is nothing without communication by Inthewire · · Score: 1

      Or schadenfreude

      --


      Writers imply. Readers infer.
  209. Re:Pascal (lisp != simple) by pz · · Score: 2, Informative

    I'll bite on this troll because it plays on so many misconceptions.

    [Lisp] has never produced anything of use (actually maybe, but I'm keen to hear of some *large* *all-lisp* program that does something truly useful

    How about an entire operating system? Or have you never heard of Lisp Machines? A full-blown editor, or have you never heard of Emacs? How about a state-of-the-art compiler with incremental compilation, on-demand linking, better-than-human-hands optimization, or have you never heard of Common Lisp?

    [L]isp is the *worst* language to start out with. For exactly the reason you point out. utterly horrible syntax. And that's all you worry about as a beginner learning lisp.

    Have you spent time teaching programming courses? I have. Have you studied the pedagogy of programming? I have. When you teach programming based on C, and similar syntax-laden languages, you spend 1/2 to 2/3 of the course detailing syntax. When you teach Lisp or its derivatives, you spend one week on syntax, and the rest of the term on concepts. Why? Because the syntax of Lisp is incredibly simple and this frees the course to concentrate on more important issues in programming.

    ((((((((((neq lisp simple))))))))))))))
    oh crap! to many close paransss...


    You probably never used an editor that had proper indenting and parenthesis matching. In Emacs (and related editors like Epsilon, Jove, microemacs, mg, etc.) you never wonder how many parentheses you need because it's obvious. Parentheses are not a burden.

    --

    Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
  210. Perl 6? by Anonymous Coward · · Score: 0

    Didn't see it listed.

  211. History of Programming Languages by Telemachas · · Score: 2, Insightful

    Ahhhh! And *NO* mention of dbaseII, dbaseIII, or even of dbaseIII+ !

  212. You're a FONT CRITIC? by Anonymous Coward · · Score: 0

    That's so fucking gay.

  213. Re:Java by Anonymous Coward · · Score: 0

    And the performance.

  214. Re:Found in Wired Issue 10.06 (Jun 2002) by Anonymous Coward · · Score: 0

    Pirate.

  215. Re:Pascal (lisp != simple) by JohnnyFusionGun · · Score: 1

    I believe lisp is the language in which AutoCAD is written? Anyways there is AutoLisp for AutoCAD users.

    NAVEX is written in lisp, and that's not a trivial application!

  216. BrainFuck by Anonymous Coward · · Score: 0

    You did realize so were both of the responses?

  217. Also Left Out - Parex - Varpro - Newvar etc. . . . by Anonymous Coward · · Score: 1, Interesting

    Parex, TPL, Varpro, Varpro 2, Newvar were all ComputerVision
    (Now owned by Parametric Technology Corp.) programming languages for 2D CAD systems in the 1970's. These systems ran on $1,000,000 16bit minicomputers which ran ComputerVision's OS named CGOS 10. Each system had 1 to 10 storage tube graphics terminals which cost around $60K+.

    EZGraph was a DEC (Digital Equipment Corp.) language for creating graphs and charts on PDP 11 microcomputers in the 1970s.

    You could program 1970's IBM mainframes not with just Cobol or Fortran, but with OS batch like features like JCL (Job Control Language), JES (Job Entry System) and CLists (Command Lists).

    Mainframes also ran huge special programs which amounted to software languages of their own, such as SAS (Statistical Analysis System) and GPSS (General Purpose Simulation System).

    Still have some code in these forgotten languages.

  218. Awful Languages by ConnectInterrupt · · Score: 1

    Not every programmer is a Software Engineer.

    1. Re:Awful Languages by pz · · Score: 2, Insightful

      Not every programmer is a Software Engineer.

      And I'm doing everything I can to correct that.

      --

      Put my fist through my alarm clock with its ding-dong death inside my ear. - The Blackjacks.
  219. Re:Java by arodland · · Score: 1

    There is no such thing as "Java Script", only JavaScript.

    The only connection between the two is that they were both big at Netscape around the same time. They were about to release a version of Navigator with support for Java, and at the same time, also coming up with this nifty little language for scripting page objects. Originally it had some other name, but some genius decided "hey, these are both shiny active-content things. Let's name the scripting one JavaScript, so it sounds more impressive next to Java!"

    And thus was JS born.

  220. C is not for beginners by swamp+boy · · Score: 1

    I taught a university course "Advanced Business Programming" using C in the College of Business Administration when I was a graduate student. Prior to C, this class was taught using COBOL. Unfortunately, the students didn't have a good programming background coming into the course -- their idea of pointers (or a linked list) was drawing arrows on paper. I pleaded with the faculty administrators not to use C for this course, but they insisted on C. The course was a disaster -- just as I suspected. Don't get me wrong -- part of the blame could be placed on me as being a terrible teacher, although I did pretty well teaching other university courses.

    Business programming is all I/O oriented. In C, you can't do much I/O without understanding pointers. I spent 2 or 3 lectures trying to describe pointers in every way that I could think of. 90% of the students just didn't get it - and ended up furiously hacking through every assignment without understanding what they were doing. Of about 40 students, I had about 2 or 3 that completed the course who really understood what they were doing. This was in the early 90's. Ironically, I'd say that the foundation that they would have received in COBOL (not taught by me) would have been far more useful and educational to them.

    I've got nothing against C -- I actually like it. I just don't think it makes a good language for beginners. YMMV.

  221. Missing Carl Hewitt's Planner and Actor languages by Steve+Witham · · Score: 1

    Both these diagrams leave out Carl Hewitt's Planner and MicroPlanner, which influenced Prolog, and his Actor languages like PLASMA which influenced Smalltalk, Conniver and Scheme.

  222. Tree by language features? by timjdot · · Score: 1

    What would be more interesting to me would be to see language feature evolution. E.g. C# copied packages from Java and Java copied foreach from VB. Where did foreach first orginate? PERL copied {} for statement blocks from C but where did it first originate? And those sorts of features. Personally, I like the charts that reflect that VB.Net is more like Java than BASIC et cetera.

    Thanks for the fun and useful topic.
    TimJowers

    --
    Expect Freedom.
  223. Re:Guys come on, Java sucks by Inthewire · · Score: 1

    How did this escape the attention of the oop.ismad.com moron?

    --


    Writers imply. Readers infer.