Back in the day, there were a lot of academic programming languages (okay, maybe not a lot, but it seems like there were more than today). I distinctly remember spending time in both high school and college learning languages like Basic, Ada, Pascal, Prolog, Haskell, Scheme, and Turing. While it's unfair to call all those languages solely academic, it's also unfair to say they are industrially equivalent to an enterprise language like Java (or even C or Smalltalk back in the day).

My question is, what academic languages are still in use (and still taught today)? It seems like there's a lot of Java schools, and a rising number of Python schools, and even some that teach languages like C as the first programming language - but what would be the modern equivalent to something like Pascal?

  • Are you asking for languages that were (at least initially) designed as educational languages (like Pascal), or just what are the common languages in the academia? – yannis Dec 23 '11 at 4:29
  • Though OCamL and Scheme (maybe smalltalk(personally never tried it)) is the best for academic programming language. But in our schools or universities (in my country) you will not find such thing as "academic" in total. In usual our teachers is people who absolutely have no any interest in their direction. they get their education with very easy way and then got salary as janitors and the only things they can provide is still being Pascal or Basic or C. Ok, maybe some C# or Delphi. But no more! – cnd Dec 23 '11 at 4:50
  • Ada? Academic?!? – SK-logic Dec 23 '11 at 8:41
  • Lisp is quite academic, despite what its fan base claims. – quant_dev Dec 23 '11 at 10:10
  • 2
    @quant_dev, there are many Lisps out there. It would not be very academic to call Common Lisp (with its more than 1000 pages spec) an "academic language". Scheme used to be one up until R5RS, and then rapidly degraded into a practical language. Things like elisp and AutoLisp had never been even close to the high academic standards due to their mundane practical nature. – SK-logic Dec 23 '11 at 10:34

There seems to be a constant debate on the ups and downs of even teaching something like an academic language. I've heard (especially more recently) lots of people who are completely ok with teaching C(++) and Java only. Personally, having gotten the benefit of being taught various different languages and paradigms I do believe this is too shortsighted though.

With that said, I do believe it is really hard und probably unjustified to classify a programming language as academic, hence, implying it is not used for practical purposes. There are a few such languages (f.ex., Whitespace and other such esoteric ones), but you will see that you will have to reason with every other person on which language the two of you consider academic - and the third person will disagree.

Of the academic languages you named, I have seen half of them being used in the industry for commercial products (Ada, Pascal, Prolog, Haskell). And I even see much less known languages being used in companies. Certainly, only few companies dare to venture that path.

Closing in on your actual question: which languages are still in use and being taught today?

I'd say most of them. Personally, my alma mater has just recently upgraded their courses to a new set of courses. Interestingly enough, these courses now contain even more courses that deal with languages other than Java or C. For example, Prolog and Haskell are still being taught to new students.

Even if the likelihood of applying that knowledge in an industrial setting is low, the thought processes you develop when learning about logic and functional programming will give you an edge over pure Java-schoolers for decades to come.

  • +1: I agree that knowing Haskell can make you a better Java programmer. I think the distinction between mainstream / practical (useful) and academic / theoretical (maybe interesting but not useful) languages originates in the industry. The industry is under the pressure of return-of-investment considerations regarding the costs of learning programming languages, or the risks of hiring highly-educated developers. So the industry may favour a more superficial education. This leads to a lower productivity (lower ROI), but the industry tends to optimize in the short term, not in the long term. – Giorgio Dec 26 '13 at 13:26

Uuh, this is not a well worded topic :)

Although there is no doubt some languages are more used in industry than other, naming them is controversial, and depends heavily of what industry you're in. For example, C okey, Java okey (they're rather mainstream, and their influence is rarely questioned nowadays), but I've never (until I started following these forums) even heard of Smalltalk, less alone heard of anyone doing something with it. Actually, I still don't know of anyone doing anything with it...

That being said, I know of several small to mid size project in Basic, and several medium in Pascal (depends on one's classification of small/medium/large). Never heard of anything being done in Turing, neither in the academia nor in the industry.

I'm sure others will have similar experiences to share.

See my point? Everyone will have different views on this ... so putting together a list of used in industry and used in academia languages is really a non-grateful task.

As to the modern Pascal equivalent, if you're excluding Delphi I would go with Python. It hip, it's popular, it's everywhere and a lot of people swear everything can be done with it. Just like Pascal in the 80s :)

  • 1
    Never heard of smalltalk? I heard it at the intro to every java course and tied to any mention of objective c :P It also has influenced other languages. There is even a current web framework for it. Seaside I think? Definitely agree with your later points though. Some academic languages (ones I've seen used) I can think of are Lisp, Fortran (not so intro), Python, and Java. Not that they don't have general and enterprise use but they have been used fairly well in academia. C/C++ as a first start for software students seems to be vanishing though. – Rig Dec 23 '11 at 4:44
  • @Rig I don't think it's impossible to not have heard of smalltalk, why do you assume everyone had a java course? A typical intro to java will of course mention smalltalk as an inspiration to java, but still does that count as "having heard of smalltalk" from a developer's perspective? Yeah you heard the name, but probably just that... And now that I think of it, I never had an intro to java course myself... I taught one, but that's a whole different story... – yannis Dec 23 '11 at 4:57
  • @Yannis Rizos I suppose you are correct. I agree that even though I have heard of it in passing I haven't "heard" of it as in seeing an active code base. Still, it does have a small cult of supporters. – Rig Dec 23 '11 at 4:59
  • @Rig - Ah, but you are assuming I have a cs degree? ;) – Rook Dec 23 '11 at 5:02
  • @idigas true story – Rig Dec 23 '11 at 5:03

Ocaml, Haskell, Scala, Clojure are perhaps "academic" languages, but there are several companies using them extensively.

And learning widely different language make you think differently, even when programming in a mainstream language. So learning Ocaml or Scheme will change the way you think and code in C++ or Java.

The SICP is an excellent book & course, based upon Scheme.

  • 1
    I totally agree. Just bought myself SICP as a Christmas present. – Giorgio Dec 26 '13 at 13:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.