Imagine you were elected coroner of IEEE or somesuch governing body and you had to pronounce a programming language as dead. What signs would you look for? Are there any zombie languages out there that don't know they're already dead?
-
7What do you define as a language? Are FORTRAN I and Fortran 95 the same language? Lisp 1.5 and Common Lisp or Scheme? Are they less different than, say, Algol and Pascal?– David ThornleyOct 5, 2010 at 15:28
-
That's a good question which I can't exactly answer. The people answering the question seemed to take it to mean an atomic language (i.e. B is not C), so I'll yield to their insight.– Peter TurnerOct 5, 2010 at 16:47
-
@Peter Boughton, did you at least get the Megadeth reference?– Peter TurnerOct 5, 2010 at 16:48
-
1@Peter (not me) megadeth.com/discography.php?era_id=4 You can't have Holy Wars without The Punishment Due. Pretty awesome song, it's actually about The Punisher.– Peter TurnerOct 6, 2010 at 2:14
-
1@Peter Turner, that song was also about a tour Megadeth was on in Ireland and Mustaine saw a huge Protestant/Catholic riot. He details this in his autobiography that recently came out.– Jesse C. SlicerOct 6, 2010 at 14:18
8 Answers
Computer languages never die; they only turn from overhyped to underused. Someone will always re-discover an old language and learn it, just for the fun of it.
Addendum: Those people who like older languages sometimes write a new language inspired by it. So even if the original language is dead by some people's terms, its spirit continues to live on in its descendants. Some examples include:
- B and BCPL inspired C
- SNOBOL inspired Icon
- Algol inspired too many languages to count
-
ALGOL! Second mention in as many days. Only yesterday (or was it today) was the first mention of Algol I have seen on any StackExchange site, although a search uncovers plenty.– Mark COct 5, 2010 at 7:46
-
Agreed, but only opposed to programmers.stackexchange.com/questions/9521/… (Mild Fuzz's) answer using the comparison to linguistics. You're saying that unless we burn our documentation and source code, there is no such thing as programming language extinction - but a language must be proclaimed as toast before you can scrape the burnt stuff off it and eat it. Oct 5, 2010 at 17:01
-
2Even C "owes a considerable debt to Algol 68", c.f. Dennis M. Ritchie (January 1993): "The scheme of type composition adopted by C owes considerable debt to Algol 68, although it did not, perhaps, emerge in a form that Algol's adherents would approve of." . "The Development of the C Language". cm.bell-labs.com/cm/cs/who/dmr/chist.html. Retrieved Jan 1 2008. Jun 9, 2011 at 5:52
-
2A language may be dead if there is no hardware you can run it on (and no emulators can be written because no specs are left). Jan 26, 2012 at 14:40
In linguistics, a dead language is defined as one which has no native or fluent speakers. I think this definition translates quite well in the programming sphere. A dead programming language is one that no programmer uses as their main language, or no system supports natively.
-
By no system, do you mean no actively developed computer (like a Commodore) or no actively developed OS (like DOS) or both? Oct 5, 2010 at 11:47
-
Maybe a system that is no longer actively supported by the manufacturer? Oct 5, 2010 at 12:06
-
9A dead language is a language that is not likely to ever change. A lack of a significant amount of colloquial speakers is a prerequisite for that, but dead generally signifies immutable, at least as far as my understanding goes.– Tim PostNov 16, 2010 at 4:17
-
@TimPost that is a great definition. Just think how Latin was used for years as major language in science after it was long gone or how in the banking world old mainframes still use programs written in ancient programming languages, that still need to be maintained -- the programs, that is.– LegolasMar 27, 2012 at 8:27
-
@TimPost: I don't think that is the case by definition, but as a result of the language not being used. I wouldn't call a language dead if it is used but not changed, but that very rarely happens. May 2, 2012 at 16:48
A language is dead when no one in their right mind would ever do a greenfield project in it. Just like dead human languages aren't completely irrelevant (because we study history), dead programming languages aren't completely irrelevant (because we maintain all that crufty historical code).
-
2So, Tcl is dead? Batch scripts are dead? Seem to be quite popular to me, though I'd never implement anything new using either... Feb 17, 2011 at 3:47
-
3@Billy: Batch scripts are great for very quick and dirty code that doesn't take more than a few lines, because the interpreter is just there. As far as TCL, I know so little about it that I can't comment intelligently.– dsimchaFeb 17, 2011 at 21:28
-
@dsimcha: Maybe so, but I've seen batch scripts with tens of thousands of lines. Not something I'd start a new project with, but certainly not dead. Starting new projects is much too high a bar to meet; most software projects are not greenfield projects. Feb 17, 2011 at 23:17
-
1@Billy: But my point is that you would start a new project with batch scripts, even if said project is tiny.– dsimchaFeb 18, 2011 at 16:59
-
@dsimcha: Err.. no, I would not. Read my previous comment again. Feb 18, 2011 at 17:01
If I were the IEEE coroner, I'd look for the same signs linguists use to determine whether a natural language is dying/dead, viz.
- How many programmers still use the language?
- What is the average age of its users?
- What percentage of the youngest generation of programmers acquire fluency with the language?
Based on these criteria, I'd guess COBOL is moribund. Despite 220 bazilion LOC written in COBOL, according to this 2006 article in CW, the average age of COBOL programmers has got to be over 50 by now. While I couldn't find exact statistics, I'd guess the average Java programmer is in his/her 20s, by comparison. COBOL apologists point out that some 5B LOC are still written in COBOL annually, but I don't think this is a reliable measure: I could probably re-write 10 lines of COBOL in 1 line of Perl or a few keystrokes in J--COBOL is a fairly verbose language.
-
2IBM fully supports and develops COBOL environments.– user1249Jul 8, 2012 at 8:28
A programming language is not dead as long as you can find some sort of specification of it, from which you can create a compiler or an interpreter able to run programs on a working computer.
-
2
-
5in linguistics, what you are describing is an extinct language, one that can not be resurrected because we no longer have enough information to relearn it. A dead language is not that severe. Oct 6, 2010 at 10:47
- How many books have been published about this language recently?
- How much chatter (IRC, e-mail, blogs) has been generated about this language recently?
- How many programmers un-ironically self-identify as natives of this language?
As someone pointed out, there's always a sect of people, either historians or crazies, that will go out and study dead languages for the hell of it. Dead languages are easier to find by raising this bar.
-
Case in point Delphi, of which I am a native. It has some active chatter and a plethora of historical, but still relevant chatter. It had adherents, you can make your own judgement about irony. But the books are curiously missing in the thick tome aisle at Barnes and Noble between C and Erlang. They exist, Dr. Bob and Marco Cantu still are practicing their craft, but the books distribution seems predominantly web and convention oriented. Oct 5, 2010 at 16:46
-
2Delphi has never had a lot of books, even back when it was very popular. Oct 5, 2010 at 18:24
People opinions determine the deadiness
- Man walks into a hip, new geeky hi-tech area bar.
- Man starts talking about cool features in COBOL.
- People start backing away, giving you a wider and wider berth.
- People are smirking all around
- Man learns that COBOL seems pretty dead huh?
p.s. I was tempted to use 'woman' or person' instead of man but I don't want to imply that the [female] gender was related to it, was tempted to use 'person' but sounded weird given our history of "man walks into a bar" style jokes. Well anyway, at least I'm thinking about the stuff.
To me, there is a difference whether a committee has decided something is dead or something is dead to me.
For example, Forth per se is dead to me: there are not many current Forth projects I can learn from, there are not many active mailing lists or forums where I could ask for help, and there are not too many libraries available.
The Forth-like language, Factor, on the other hand seems to be a lot more alive. I would not call it dead even though it is not much less obscure than Forth.