Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: (OT) "Learn one new language every year"? Yeah, right.

by SpanishInquisition (Pilgrim)
on Oct 08, 2004 at 16:52 UTC ( #397710=note: print w/ replies, xml ) Need Help??


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

  • Lisp makes me think differently. And in weird (good) awys.
  • Ruby lets me know what clean Perl and magic simplicity looks like. (And reminds me why package management needs to be orderly)
  • C teaches me how to create order where there is no order. Plus, it allows me to get "real" work done when there are no bindings for something in a HLL.
  • C++ reminds me to only selectively use language features and how to be skeptical.
  • Batch languages and shell scripts (and make) remind me that sometimes you just need to keep it simple.
  • Java reminds me what anti-design is. And really, how to write REAL OO by using it as a counter-example.
  • Python reminds me how a solution to a problem can still be a problem
  • Pascal. Hmm. Teaching languages. Those languages that can't do... (grr...)
  • (GW) Basic reminds me how even bad languages can be fun to play with and can be made useful.
  • SQL is useful as both a toolkit and an idea -- 4GL's -- dealing with arbitrary input to do arbitrary things, flexibility
  • Haskell and OCaml are on the "to visit" list. Unless something funkier comes along. Functional Programming is the right kind of mind bending...

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.


Comment on Re: (OT) "Learn one new language every year"? Yeah, right.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://397710]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (5)
As of 2014-12-28 23:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (183 votes), past polls