Skip to main content

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.

Comments

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.
jjinux 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.
Anonymous 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?
jjinux 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.
jjinux said…
Whee! I made it onto DZone again :-D

http://www.dzone.com/links/computer_science_popular_languages_never_die.html
Anonymous 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.
jjinux said…
> Crap, I write some of those languages _daily_.

hahaha

Great comment ;)

Popular posts from this blog

Ubuntu 20.04 on a 2015 15" MacBook Pro

I decided to give Ubuntu 20.04 a try on my 2015 15" MacBook Pro. I didn't actually install it; I just live booted from a USB thumb drive which was enough to try out everything I wanted. In summary, it's not perfect, and issues with my camera would prevent me from switching, but given the right hardware, I think it's a really viable option. The first thing I wanted to try was what would happen if I plugged in a non-HiDPI screen given that my laptop has a HiDPI screen. Without sub-pixel scaling, whatever scale rate I picked for one screen would apply to the other. However, once I turned on sub-pixel scaling, I was able to pick different scale rates for the internal and external displays. That looked ok. I tried plugging in and unplugging multiple times, and it didn't crash. I doubt it'd work with my Thunderbolt display at work, but it worked fine for my HDMI displays at home. I even plugged it into my TV, and it stuck to the 100% scaling I picked for the othe

ERNOS: Erlang Networked Operating System

I've been reading Dreaming in Code lately, and I really like it. If you're not a dreamer, you may safely skip the rest of this post ;) In Chapter 10, "Engineers and Artists", Alan Kay, John Backus, and Jaron Lanier really got me thinking. I've also been thinking a lot about Minix 3 , Erlang , and the original Lisp machine . The ideas are beginning to synthesize into something cohesive--more than just the sum of their parts. Now, I'm sure that many of these ideas have already been envisioned within Tunes.org , LLVM , Microsoft's Singularity project, or in some other place that I haven't managed to discover or fully read, but I'm going to blog them anyway. Rather than wax philosophical, let me just dump out some ideas: Start with Minix 3. It's a new microkernel, and it's meant for real use, unlike the original Minix. "This new OS is extremely small, with the part that runs in kernel mode under 4000 lines of executable code.&quo

Haskell or Erlang?

I've coded in both Erlang and Haskell. Erlang is practical, efficient, and useful. It's got a wonderful niche in the distributed world, and it has some real success stories such as CouchDB and jabber.org. Haskell is elegant and beautiful. It's been successful in various programming language competitions. I have some experience in both, but I'm thinking it's time to really commit to learning one of them on a professional level. They both have good books out now, and it's probably time I read one of those books cover to cover. My question is which? Back in 2000, Perl had established a real niche for systems administration, CGI, and text processing. The syntax wasn't exactly beautiful (unless you're into that sort of thing), but it was popular and mature. Python hadn't really become popular, nor did it really have a strong niche (at least as far as I could see). I went with Python because of its elegance, but since then, I've coded both p