Monday, August 20, 2007

Computer Science: Popular Languages Never Die

It's interesting to me that while a modern Web application seems to have a shelf life of two years, popular programming languages never die. This isn't news, but I thought I'd just point out a few:
FORTRAN
FORTRAN is still a favorite among scientists.
COBOL
COBOL is still alive and well in ERPs and banking systems.
C
C isn't dead by a long shot. Kernels (e.g. Linux) and interpreters (e.g. Python) are still written in C.
Lisp
Even though Lisp was first written about 40 years ago, Lisp is still used at various companies like Orbitz, and rest assured that as long as Paul Graham lives, he'll never stop talking about it ;)
APL
APL seems dead, but it's not. Every once in a while, I'll meet a strange hacker who can translate a long algorithm into a single magical incantation of funny symbols in APL.
Forth
Forth is alive and well at the firmware level.
Pascal
Pascal's not dead. It's still being taught as a first programming language.
Ada
Ada is still being used by the military.
JavaScript
You might ask why I bring up JavaScript since it's clearly everywhere. I'm sure that if its designer knew that it was going to be the single most widespread programming language interpreter on the planet, it might have gotten a bit more of a design review ;) JavaScript is wonderful and horrible at the same time, and I highly doubt it will die within my lifetime, even though it'd be wonderful if we could replace it.
Prolog
I recently found out that Prolog is still being used in various natural language processing contexts.
Sed and Awk
Many hackers still use Sed and Awk in shell scripts when the complexity of a larger language like Perl isn't justified.
BASIC
It makes me sad, but there are still kids who learn programming by way of BASIC.
Smalltalk
Smalltalk is still alive and well in projects like Squeak and Seaside.
Assembly
One might think that the only reason to code in assembly is to write the backend for a compiler or to write boot code for an operating system, but assembly is still used anytime your resources are scarce, and you need to code close to the machine.
So the next time someone says that Java is dead, know that he's dead wrong. Java will be around at least as long as COBOL.

11 comments:

WildHeart said...

I make a living writing APL Code. And like me the 30 odd APLers who are employed by the same company I work for. We don't exactly write magically beutiful mathematical gems. Most of the time we do your daily bread and butter development.

There's actually a market for APLers and we wish we had more available.

Shannon -jj Behrens said...

> make a living writing APL Code.

Ha! Wow!

Andrew Dalke said...

MUMPS is also still around, given the various comments about it in Daily-WT^WWorseThanFailure. There are also a few people using SNOBOL, though perhaps only as a hobby.

What I haven't seen is people still using Algol. It was pretty widely used in CS, but according to Wikipedia, not in general programming. That lack of persistent installed base might be the difference.

Well I'll be - Monster has 3 job listings, like this for senior analyist: "Analysis, design, development using COBOL74, HTML, JavaScript, and ALGOL using a DMSII database on the MCP operating system. "

No listings for SNOBOL or SPITBOL.

Jeff said...

Algol was largely replaced by C because of the ease of porting (well, of rewriting from in C).

An awk is also very largely used in AI. It sounds counterintuitive, but a lot of prototyping and development of AI algorithms takes place in awk.

ray said...

"rest assured that as long as Paul Graham lives, he'll never stop talking about it"

I don't know *any* Lisp programmers who will *ever* shut up about it (except myself now that i've been bitten by the Haskell bug).

Anonymous said...

Algol will never be replaced on Burroughs machines as long as MCP lives. MCP (the operating system) is written in Algol.

Andrew said...

OK wildheart, where?

Shannon -jj Behrens said...

Good comments ;)

> I don't know *any* Lisp programmers who will *ever* shut up about it (except myself now that i've been bitten by the Haskell bug).

hahaha Yep, I've been bitten by that bug ;)

It makes me wonder if Liskell will succeed. All the "beauty" of Lisp syntax, including macros, but on top of Haskell.

Shannon -jj Behrens said...

Whee! I made it onto DZone again :-D

http://www.dzone.com/links/computer_science_popular_languages_never_die.html

Adam U. said...

Crap, I write some of those languages _daily_. Allow me to enumerate for the enjoyment of your readers:

COBOL85 - ERP nerd!

JavaScript - For the ERP, it has this funky API to call COBOL programs.. it's like 1997's discarded idea of web services.

sed/awk - I seriously wrote like 6-10k lines of sed/awk at my last job in the first 18mo I worked there. That's a freakin' ton of sed/awk. Why? Because my boss was afraid of Perl.

I'm currently learning Java so I can support the next generation of poorly-designed "enterprise" systems.

Shannon -jj Behrens said...

> Crap, I write some of those languages _daily_.

hahaha

Great comment ;)