Slashdot Mirror


The History of Programming Languages

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

42 of 684 comments (clear)

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

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

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

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

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

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

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

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

    --

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

    He was referring to Assembler.

    --
    ===== Murphy's Law is recursive. =====
  4. Logo! by Xaroth · · Score: 2, Interesting

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

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

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


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

    --
    ...and you run and you run and you can't stop what's been done...
  6. VMs will solve this issue by Ars-Fartsica · · Score: 4, Interesting
    At some point at VM, be it JVM, Parrot, Mono/CLR runtime will become pervasive and become the de facto meta language, with specific developer-level langs simply being syntactic sugar.

    One thing that has always bothered me is the lack of standards for basic syntax. Why not just have a standard for basic operators? For example does anyone really lose flexibility if we say statements are delimited by ';'? Or a standard syntax for if-then-else? e.g. perl's syntax is a pointless departure that adds no value.

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

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

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

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

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

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

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

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

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

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

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

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

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

      Give Common Lisp a real, honest try. You'll be surprised.
    3. Re:Check out Lisp by ari_j · · Score: 2, Interesting

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

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

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

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

  9. Re:Meta Programming Language by Anonymous Coward · · Score: 5, Interesting

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

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

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

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

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

  11. HyperTalk? by adavies42 · · Score: 2, Interesting

    Did anyone spot HyperTalk on there? If nothing else, it should be there as the ancestor or influence of AppleScript.

    --
    Media that can be recorded and distributed can be recorded and distributed.
    -kfg
  12. Lisp by ultrabot · · Score: 2, Interesting

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

    Lisp is it.

    Other "modern" (higher level than C) languages are special cases of primordial Lisp, optimized for various niches and programmer mentalities.

    This does not imply that Lisp is the best programming language (Python is ;-). Common Lisp certainly isn't.

    --
    Save your wrists today - switch to Dvorak
    1. Re:Lisp by Pxtl · · Score: 5, Interesting

      I was disappointed to see Lisp not get much cred on that chart. First language with dynamic typing is worth noting. I've been reading up on Lisp (not coded a line yet) and have suddenly become disappointed in the entire programming world - right here there's a language with a featureset that it has taken other languages decades to catch up to.

      Where is a language with the power of Lisp and the ease of Python? Python has some wonderful features in terms of speed and readability, but it is too tied to its primitives. After reading on Lisp, then going back to coding Python, I was really frustrated that the language wasn't better generalized - that all statements (if, import, etc) are hard coded - what if I want to make a custom block statement (like if or while) or something similar? Can't do that in Python, because you don't really have access to parsed code objects the way you do in Lisp.

      I've looked at the modern Lisp languages (Common Lisp and Scheme) and I can't figure out which ones are worthy of my attention. Scheme seems like it has lost the intelligent simplicity of Python in favour of clumsy "special character" based syntax, while Common Lisp has many detractors that don't complain much of details. Is your complaint about Common Lisp based on all Lisp variants? Or is CL especially bad?

      I know Lisp is not the ideal language - its ugly, illegible, and slower than compiled languages - but the fact is it existed at a time so far before many languages that pathetically failed to implement its features, so I'm a little confused at the way the computing world has ignored it, instead of trying to work its principles into modern languages (Python does a little, but ends up feeling cobbled together and inconsistent).

    2. Re:Lisp by ultrabot · · Score: 5, Interesting

      Is your complaint about Common Lisp based on all Lisp variants? Or is CL especially bad?

      No, I just don't think that a proper Lisp has been implemented yet - I'm thinking of a language with all of the semantics of Lisp *plus* easily readable syntactic sugar. I'd like to see a standardized lisp that I can write and read as quickly and Python.

      In Python we have a very succesful programming model, in Lisp we have potential for every conceivable programming model. Specializing the Lisp a little bit to optimize for pythonic programming would do a world of good.

      I want do do

      o = SomeClass()

      instead of

      (setq o (make-instance SomeClass) )

      The latter might be semantically more elegant, but boy, it doesn't flow like the python variant.

      As far as non-language-feature issue goes, Lisp does need a better (quantitavely and qualitatively - no "Functional Programming" people but people who can recognize the realities of programming today) community and one standard open source implementation. Availability of commercial implementations just doesn't cut it. And the one open source implementation should run on Windows too (no, Debian doesn't cut it).

      --
      Save your wrists today - switch to Dvorak
    3. Re:Lisp by Pxtl · · Score: 4, Interesting

      Okay, good to see someone has come to the same conclusions I have. Python is a wonderful language, but the problem is that it has grown osmotically - the language itself is good (not great, but good), but the real popularity of it comes from its incredible amount of "batteries included".

      IMHO, a real, true, ultimate pure _language_ (not standard library) needs to be polished up for an opensource successor. Something with the power of Lisp and the legibility of Python. I'm thinking of something very similar to python except that code-based blocks should be handled as custom objects like everything else in Python.

      In Python, the statement

      class foo(bar):
      def __init__(self):
      self.baz = "foo bar baz"

      is using the interpreter to auto-insance a bunch of standard Python objects (a class and a method, which is than in turn wrapped with an instancemethod) based around code objects. I can subclass the interpreter "method" object or create new substitute ones in its place, but if I want to use them in the interpreter, then I have to instance them the normal way, using

      mycustommethodinstance = mycustommethodclass(constructorarguments)

      whereas the main method object gets the nice
      def funcname(args):

      statement. This is the biggest failure of Pythons generalism - its inorexicably tied to its core objects, so that if you are using it like Lisp as a fully custom-made lexicon, you still have to either a) tear the contents out of the engine objects and relocate them into your own objects or b) use stupid constructors like

      myfunc = myfuncclass("myname", "my massivestring of text that is actually the whole code block that this contructor will compile into code but I have to enter it as a string like this its kinda stupid eh?")

      Not very nice. I want to make custom if and class statements, replace the implicit behaviour that typing i=1 creates an int object instead of some other custom object I want it to make. Likewise, I want to use other datatypes otehr than a true python Dictionary object as the local namespace or the global namespace (well, the globals can be any kind of mapping, actually).

      A generalized Python would be my dream language - Python, but where all the core objects and statements (like "if" or "class") were part of the standard library.

  13. Functional programming languages dying? F# XSLT? by 3770 · · Score: 5, Interesting

    Aaah, the nostalgia!

    Anyway, I didn't see any programming language versions for functional languages (the ones I recognize are Haskell, ML and Miranda) after some time in -99.

    Does that mean that they are dying out?

    I've heard rumors of F# from Microsoft but I don't know if that is true.

    It would be a pity if functional languages would die at this point in time since proponents of functional languages always used the argument that "they may be slow now but they scale really well on massively parallell computer systems" (because of no side effects) and we are at the brink of seeing multi-processor systems starting to go mainstream.

    On a separate note, XSLT, which isn't a programming language in the traditional sense, is functional in its design. I think the designers of XSLT really put some thought into it. In any event, XSLT doesn't have any side effects, making it a functional language in a sense, and this means that it also should scale really well on massively parallell systems.

    So, I guess the theory behind functional languages live on in one of the hottest technologies around today.

    Also, the last version of Prolog was in -97. Pity, you can really do some magic in that language.

    --
    The Internet is full. Go Away!!!
  14. Re:Delphi from VBasic?? by lvdrproject · · Score: 4, Interesting

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

  15. Re:What? No Algol 68 - C link? by Anonymous Coward · · Score: 1, Interesting

    You are so right !
    Similarity also includes 'union' and struct,
    use of pointers (those the syntax is different the model is similar ).
    the += family of operators,
    pragmas ,
    ( a ,b, c ) yielding the last expression,
    the stdio library borrows extensively from the formatted transput features,
    and so on.
    I think it rocked, and if you compare Algol60 to Fortran and Cobol, you have to admire its stunning elegance and influence (for its time).

    C++ is even more derivative of the algol family
    operator overloading, ref modes and all that goodness came from there.

  16. Re:Wait a minute! (What about Atlas Autocode?) by waterbear · · Score: 2, Interesting

    They also forgot Atlas Autocode (the first programming language I was exposed to, back in 1965).

    -wb-

  17. Ha! I was right! by Anonymous Coward · · Score: 2, Interesting

    My friends and I still, to this day, argue about which came first: Pascal or C. Every single one of my friends insist that C came first. I maintain that Pascal came first, but by a small margin. I had my years wrong, thinking it was 68 that Pascal (1970) came out and 69 that C (1971) came out, but I was still right about order of generation.

    I still don't understand why people have such a burning hatred for Pascal. Is it because they were forced to learn it in school? It's a very complete language and has nice structure. It can be extremely powerful if used correctly and defines a large chunk of how the modern programming languages operate, just as Algol and Fortran have.

    I should break out my installation CD and convert some of my recent programs to Delphi, just for kicks. Man, I miss Borland.

  18. Well, duh! by V.+Mole · · Score: 2, Interesting

    Because they want you to by more books. They are not in the poster business, they are in the book business.

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

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

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

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

  20. only 50 years? Ada Lovelace? by Sebastopol · · Score: 2, Interesting

    Didn't Ada Lovelace write "code" for Babbages machine in 1899? I thought she invented the subroutine?

    --
    https://www.accountkiller.com/removal-requested
    1. Re:only 50 years? Ada Lovelace? by Mad+Bad+Rabbit · · Score: 2, Interesting

      Earlier than that: she translated an article on the Analytical Engine (written by L. F. Menebrea) with several added notes of her own, including a sample program to compute Bernoulli numbers. This was published in the October 1843 issue of Scientific Memoirs.

      See http://psychclassics.yorku.ca/Lovelace/lovelace.ht m#G

      --
      >;k
  21. Re:Meta Programming Language by Srin+Tuar · · Score: 5, Interesting

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

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

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

  22. They should tree it out. by gurps_npc · · Score: 2, Interesting

    They should tree it out, showing how C+ came from C, etc, instead of just showing the languages "appearing".

    --
    excitingthingstodo.blogspot.com
  23. What do they mean by programming language? by KevinDumpsCore · · Score: 4, Interesting

    They didn't define what they consider a programming language (Turing complete? General purpose?). Powerbuilder and m4 are general purpose languages but I didn't see them on the diagram.

    If domain-specific languages are allowed, I think these were overlooked:

    • JCL
    • Music V (including Csound)
    • pd
    • RPG
    • SQL (including PL/SQL)
    • SuperCollider
    • troff (chem/grap/groff/pic/tbl/et al.)
    • Xbase (dBASE/Clipper/FoxPro/et al.)
    • XSLT

    BTW, you can download a more printer-friendly version here: Eric Levenez's Computer Languages History

    Also, a German version is available here: German PDF

  24. BASIC is incomplete by Anonymous Coward · · Score: 1, Interesting

    The history of basic is worng -- typical to attribute it to MS. Digital Equipment was the first corporation to use BASIC as a system level programming language (on PDP-11's -- RSTS), and then the first compiler version (BP2).

    BASIC -> DEC BASIC-PLUS -> DEC BASIC-PLUS2 -> VAX BASIC -> then around here is when it appeared in MS Windows.

  25. I actually think it makes sense. by Ayanami+Rei · · Score: 2, Interesting

    The use of ',' and ';'. Generally, you use ',' to indicate a list. Therefore it makes perfect sense it is used to create parameter lists, and when used as an operator, "returns" the expression to the right.
    The semicolon is often used at the end of a clause or list, therefore it does not defer to the right and thus is a suitable indicator for a logical break.
    I would think language programmers at some point flirted with the idea of using the period for an end-of-statement marker, but perhaps because it is also used as a decimal point in the ASCII character set, they might have been worried about determining whether a trailing decimal point after a numeric expression indicated end-of-statement or a decimal point missing the rest of it's significand.

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
  26. Re:Delphi from VBasic?? by parksie · · Score: 2, Interesting

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

    char *x = malloc(10);

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

  27. VisualBasic from Pascal by solprovider · · Score: 2, Interesting

    Delphi from VBasic?

    Which happens to "feel" exactly the same as VB. It's not simply the language syntax but also the structure, and programming in Delphi is practically the same as VB


    This is backwards. VB and Delphi both came from Pascal, although Delphi was an improvement and VB was a translation.

    In the late 80s, Pascal was the language being taught at most colleges, although C was starting to gain some marketshare. Microsoft needed to replace BASIC with a functional language. They took Pascal, changed the keywords to the ones from BASIC, added line numbers, and called it VisualBasic. This had the effect of killing the market for Pascal programmers. The good ones upgraded to Delphi; the rest moved to MS VB.

    VB 1.0 had much more in common with Pascal than it did with BASIC. "Pascal format function calls" are still used by VB, in contrast to "C format function calls". Pascal and VB have "procedures" (or "subroutines") which allow the values of parameters to be overwritten in calling routine. C requires that one and only one value can be returned, which must be explicitly assigned in the calling routine (although fun with pointers can cause many other effects.) BASIC did not have procedures, and subroutines overwrote the global variables, because BASIC was also missing local variables.

    --
    I spend my life entertaining my brain.
    1. Re:VisualBasic from Pascal by TheRealMindChild · · Score: 1, Interesting

      That is Cliff Clavin bullshittery right there. Visual Basic 1.0 for DOS was PDS (QBasic package) with form, button, etc objects. You COULD use it as your Qbasic environment... from there it got a windows port... and up until VB 6, even microsoft ADMITS to (search the MSDN) still using legacy Qbasic code in there.

      Qbasic NEVER NEEDED line numbers... that was GWBasic, halfwhit. You COULD use line numbers, if you wanted too... hell, you STILL CAN in VB.

      I trust you work for Borland... that, or you are one of the poor suckers too stupid to REALLY understand anything but Delphi, and even then the concepts past their VCL/CLX boggle you. Never in my life have I read such completely made up crap

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    2. Re:VisualBasic from Pascal by solprovider · · Score: 2, Interesting

      (Responding to a flame that was just modded Interesting.)

      I did not mention QuickBasic because it is not on the chart, but most of my previous post really applied to QuickBasic since it was not called VB until it moved to Windows.

      I did not state that QuickBasic or VB "required" line numbers. I stated that MS added the ability to use line numbers as part of the transition from Pascal to QuickBasic.

      When I first encountered QuickBasic, I already knew BASIC, Pascal, and C. I could replace the keywords in my Pascal programs and then do minor debugging to have functional QuickBasic programs. The API for VB has grown since then, but it still looks like Pascal with different keywords.

      It was a smart move for MS. Most college grads were learning Pascal, and the transition to developing in the MS-proprietary language was easy since few of the rules were different.

      ---
      Today I work with Java and LotusScript with Domino because it is allows much faster business application development than any other platform. LotusScript was based on VB, and still looks similar: same keywords, different API, and it has the List variable type. I also use Java for applets, servlets, and server applications; and one of my Java projects will require a GUI-based client, although I have not written it yet. (I prefer Java over C/C++ because the native memory management saves development and QA time.) I have never developed with Delphi, although several friends are good with it, and their code looks like super-charged Pascal.

      ---
      Fun fact: One of my IBM redbooks states that VisualBasic is a trademark of IBM. I think it was a misprint.

      ---
      BTW, there is only one 'h' in "half-wit".

      --
      I spend my life entertaining my brain.
  28. Re:"And no one will be definitely right" by nate+nice · · Score: 3, Interesting

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

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

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

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

    --
    "If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer ..."
  29. This site has more languages by ulrikp · · Score: 2, Interesting

    The HOPL is an "Interactive historical roster of computer languages". It has more languages, but also contain non-programming languages (like query-languages).

    The editor of the site has made two color-coded posters: Version 1 and Version 2.

    Other lists are here, here and here.

    Ulrik