What is the oldest programming language still being used?

I.T.

Feel free to differentiate between “still being used in a rather widespread manner” vs. “only being used by a few diehard hobbyists (or such).”

Well, some version of FORTRAN has been in use since 54, though I doubt anyone codes using only '54 compatible code anymore.

I’m not sure there will be a clear cut answer to this question, as pretty much all the 3rd generation languages (FORTRAN, COBOL, etc) are still very much being used. You’d have to get back to assembler and machine languages, which are tied to specific CPUs. So really, the question is “what is the oldest CPU still being used and programmed with machine or assembler?” I have no clue what that would be.

Or simulated. There are still available simulators for IBM 704 assembly. FORTRAN was created as a more practical alternative to that assembler.

“I don’t know how the language of the year 2000 will look like, but I know it will be called Fortran.” – John W. Backus

You also have to question whether the modern dialects of those third generation languages are the same language as the original forms. Compare, for example, the original FORTRAN to FORTRAN IV, FORTRAN 77, and modern Fortran-95 (I think): None of those are compatible with each other in that no one standard, de facto or otherwise, defines all of them. COBOL/Cobol has undergone a similar transformation.

In terms of practical usage (as opposed to novelties/curiosities) it’s almost certainly FORTRAN (closely followed by Lisp.)

Of course, FORTRAN has evolved considerably since the 1950s. The FORTRAN 2003 standard contains tons of features that hadn’t even been invented in 1954, like object-oriented programming.

I’d venture to guess that if the Wikipedia doesn’t have a page on it, it’s a decent bet that the language is defunct.

Or we could be funny and say DNA.

As someone who wrote a lot of FORTRAN in the 1970’s, I have to say that the idea of object-oriented FORTRAN hurts my head.

With the already-mentioned caveat that “still being used” is a fuzzy definition I’d say Lisp. Fortran is still being used but (I believe) mostly in pre-existing applications. Lisp is still being used as a teaching language at MIT and occasionally shows up in new software applications like ITA Software.

:smiley: True, and a good point.

A decent number of scientists still write in Fortran77 (me for example, but I know several others), albeit they’re usually either older or the Grad students of older advisors. But its far from dead.

Object-oriented FORTRAN, I can cope with. But object-oriented COBOL (yes, it exists) deeply scares me.

I speak as someone who writes mainframe Assembler code for a living.

Current Climate Models are written in FORTRAN 90, but FORTRAN 90 supports full control structures. I haven’t used any Fortran version since 77, but I suspect the current dialects resemble the original FORTRAN about like vb.net resembles the original BASIC.

http://www.giss.nasa.gov/research/modeling/

http://en.wikipedia.org/wiki/Fortran#Fortran_90

Of course, just because a language supports the control structures needed to write good code, doesn’t mean the programmers use them. I doubt that most scientists have training in proper software development methodology and even programmers that know better can always say, “I’ll come back and clean it up after I’ve met my deadline.”. And don’t get me started on what happens to good code after a few years in maintenance.

RPG has been around since the early 60’s. It’s evolved and thrived. RPG IV has very modern features.

…as long as no-one mentions object-oriented BASIC

Define “programming language”. All the ones cited so far are high-level languages which the computer then compiles into lower-level assembly or machine language, which the computer can then run directly. It’s entirely possible to program in assembly, or even directly in machine language, and many people still do, particularly for speed-critical applications, or when bootstrapping a compiler. Machine language, of course, was the “original” programming language, unless you could directly modifying circuits by moving wires around.

I’d say FORTRAN is still very much alive and well for applications that require serious number crunching. FORTRAN compilers are usually extremely well optimized for such programs and can generate very efficient number crunching code.

Arrgh… I meant “count”, not “could”. :smack:

Of the early ones I’m aware of, COBOL, Fortran and Lisp still are used, though all of them have evolved in the mean time. I know Fortran is still used in scientific and engineering tasks, Cobol seems to be really only used for maintenance of various systems (in other words, not really for new development as far as I’m aware - but there are plenty of COBOL applications still running in various very critical systems). And Lisp and its dialects seem to be undergoing a small revival at the moment with the new found love for functional programming and (less recently) virtual machines and dynamic typing.

BASIC appears to be later than either of those three.