What programming languages do you consider indispensable in your experience?
- by Federico Ramponi
Each programming language comes with its concepts, best practices, libraries, tools, community, in one word: culture.
Learning more than one programming language will make you a better programmer, for the more concepts you learn, the faster you will feel comfortable when the next language or technology will come.
Mine, so far, are C, some C++, and Python, and many times I read that it would be worth learning LISP, for "the profound enlightenment experience you will have when you finally get it" (quoting Eric Raymond).
My questions are: Which is the next one you would consider a good investment to learn? Of the many programming languages you have learnt and worked with, which ones do you consider to be an essential part of one's CS culture, and why?
EDIT. Further question: is there any language you would sincerely advise to avoid as a waste of time? (The famous, and questionable, slatings in this letter from Dijkstra come to my mind.)