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?

16 of 598 comments (clear)

  1. 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:
  2. 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 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.
    3. 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".

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

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

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

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

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

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

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

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