ProgrammingLanguagesWorthLearning

ThoughtStorms Wiki

Context : ProgrammingLanguages

Quora Answer : What programming languages are a waste of time to learn?

Nov 26, 2016

Contrary to other answers here, Brainfuck will teach you a LOT. About Turing machines and minimal machines in general. About what languages could be. Even more-so PietLanguage can help you understand what a programming language could be. Any esolang will help open your mind to the possibilities and see programming in an entirely new way.

Similarly, a lot of old languages built on particular principles may have "died" in the sense that no-one's using them. But the ideas they brought are valuable, and knowing them will help you write new programs and new languages better. (And sometimes the old ideas come back entirely.)

So no-one uses SNOBOL .. but many people have to implement complexes of string processing through pattern-matching. No one uses Prolog but many use inference engines. No one uses FORTH, but concatenative languages are fascinating. No one is using SISAL but everyone is interested in data-flow. (Especially in the form of "functional reactive programming"). It used to be that no-one used Lisp ... but then after 20 years in the wilderness Lisp is back with a vengeance.

I spent a year as a MUMPS programmer. And I experienced a great deal of pain and anguish. But I learned a lot .. about scope, about data-storage (no fashionable NoSQL database comes close to what MUMPS globals can do), about always-on-systems that are updated in place etc.

So what languages AREN'T worth learning?

It's tempting to say "all languages are worth learning". Which is true.

But probably the languages that are least worth spending time studying are the ones which are so like languages you already know that you can more or less pick them up as you go along. I feel very little inclination to study Ruby because I believe that is has relatively little teach me over Smalltalk / Python / Perl and Javascript which I already know. When I've had to read or write any Ruby, I've kind of muddled along ...

I'm not saying that that's perfect. Of course I've had to look things up online. Of course, I'm stumped by a few strange-looking idioms. Of course, I'm not writing as elegant and powerful Ruby as someone who knows the power-features and the patterns.

But if I have to write a lot of Ruby going forward, I'll probably just keep picking it up. And at some point I'll be OK at it. (I think.) Obviously doing this, I'm learning the language anyway. But I didn't have to make a big thing of learning the language.

No Backlinks