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 is still a favorite among scientists.
COBOL is still alive and well in ERPs and banking systems.
C isn't dead by a long shot. Kernels (e.g. Linux) and interpreters (e.g. Python) are still written in C.
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 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 is alive and well at the firmware level.
Pascal's not dead. It's still being taught as a first programming language.
Ada is still being used by the military.
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.
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.
It makes me sad, but there are still kids who learn programming by way of BASIC.
Smalltalk is still alive and well in projects like Squeak and Seaside.
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.


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
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_.


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

Drawing Sierpinski's Triangle in Minecraft Using Python

In his keynote at PyCon, Eben Upton, the Executive Director of the Rasberry Pi Foundation, mentioned that not only has Minecraft been ported to the Rasberry Pi, but you can even control it with Python . Since four of my kids are avid Minecraft fans, I figured this might be a good time to teach them to program using Python. So I started yesterday with the goal of programming something cool for Minecraft and then showing it off at the San Francisco Python Meetup in the evening. The first problem that I faced was that I didn't have a Rasberry Pi. You can't hack Minecraft by just installing the Minecraft client. Speaking of which, I didn't have the Minecraft client installed either ;) My kids always play it on their Nexus 7s. I found an open source Minecraft server called Bukkit that "provides the means to extend the popular Minecraft multiplayer server." Then I found a plugin called RaspberryJuice that implements a subset of the Minecraft Pi modding API for B

Creating Windows 10 Boot Media for a Lenovo Thinkpad T410 Using Only a Mac and a Linux Machine

TL;DR: Giovanni and I struggled trying to get Windows 10 installed on the Lenovo Thinkpad T410. We struggled a lot trying to create the installation media because we only had a Mac and a Linux machine to work with. Everytime we tried to boot the USB thumb drive, it just showed us a blinking cursor. At the end, we finally realized that Windows 10 wasn't supported on this laptop :-/ I've heard that it took Thomas Edison 100 tries to figure out the right material to use as a lightbulb filament. Well, I'm no Thomas Edison, but I thought it might be noteworthy to document our attempts at getting it to boot off a USB thumb drive: Download the ISO. Attempt 1: Use Etcher. Etcher says it doesn't work for Windows. Attempt 2: Use Boot Camp Assistant. It doesn't have that feature anymore. Attempt 3: Use Disk Utility on a Mac. Erase a USB thumb drive: Format: ExFAT Scheme: GUID Partition Map Mount the ISO. Copy everything from