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."
The same program, written in 621 of the 2,500+ is here.
You can find this meta-language you speak of, if you read Godel, Escher, Bach By Douglass Hofstadter. It's called 'GLOOP'.
My blog
He was referring to Assembler.
===== Murphy's Law is recursive. =====
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.
That green slime had it coming.
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...
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.
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.
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.
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.
cool programming challenge: figure out the optimal vertical order for the languages so as to minimize the length of relationship indicators
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
What we really need is a meta programming language of which all the other programming languages are special cases.
;-). Common Lisp certainly isn't.
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
Save your wrists today - switch to Dvorak
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!!!
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
You are so right ! , ,b, c ) yielding the last expression,
Similarity also includes 'union' and struct,
use of pointers (those the syntax is different the model is similar ).
the += family of operators,
pragmas
( a
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.
They also forgot Atlas Autocode (the first programming language I was exposed to, back in 1965).
-wb-
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.
Because they want you to by more books. They are not in the poster business, they are in the book business.
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....
Didn't Ada Lovelace write "code" for Babbages machine in 1899? I thought she invented the subroutine?
https://www.accountkiller.com/removal-requested
>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.
They should tree it out, showing how C+ came from C, etc, instead of just showing the languages "appearing".
excitingthingstodo.blogspot.com
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:
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
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.
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
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).
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.
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.
,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.
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)
"If you are a dreamer, a wisher, a liar, A hope-er, a pray-er, a magic bean buyer
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
Database engine for analyzed or annotated text