http://www.perlmonks.org?node_id=397710


in reply to (OT) "Learn one new language every year"? Yeah, right.

Of all, Lisp most changed how I think, I'll probably never use it again ... the point is that you don't get yourself in a rut where you think in a certain way and don't change it. Even languages you don't like (some may actually like ones I don't), can provide lessons on language design, software design, and programming style.

Computer Science is no more about computers than astronomy is about telescopes.

Replace "computers" with "programming languages" and you get my general point. The same goes with operating systems. Just using Windows, or just Linux, or just Mac ... you miss out on the differences and ways to borrow from them all. However, the downside of being worldly in such persuits, is you start to find your perfect language doesn't exist ... and you would have to make it yourself!

Yeah, it's about concepts though. I discard 80% of what I learn. And that keeps me sharp. The language list on the resume are the ones I could still employ, I keep LISP on there just to show I know how to think functionally because if you put "functional programming" on a resume, most OOP-biased managers think you are talking about procedural (which is NOT really bad either) code -- and they've probably been conditioned against it.

I was always ticked when my university made programming about languages. My best professors didn't even write code on the board. Computer graphics was about math. Finite automata was about math. AI was about algorithms and data structures. And all those things have changed the way I code. Do I remember anything from CS1 and CS2 (first badly-trained C++ and later Java-centric courses)? I've tried to UNLEARN it. I do Java at work but I don't let it change the way I think...

My desert island list is C and Perl. I'll learn the corners of those, what I don't already know. They are tools. Languages are tools. These are the sharpest tools (or heaviest hammers), and beyond that what is most important is your brain. If a language is boring and uninteresting, skip it unless forced (or it's required resume experience...though I don't recommend working where you don't like it -- been there, doing that).

One rant I see is that employers often don't recognize that interviewees (sp?) are sometimes really sharp people that think abstractly -- they are looking for ACME-FOO 9.6 and you have ACME-BAR, they don't want you. They don't know how to seperate thinkers from implementers.