Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
  • 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.

In reply to Re: (OT) "Learn one new language every year"? Yeah, right. by SpanishInquisition
in thread (OT) "Learn one new language every year"? Yeah, right. by FoxtrotUniform

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others examining the Monastery: (5)
    As of 2018-02-25 18:36 GMT
    Find Nodes?
      Voting Booth?
      When it is dark outside I am happiest to see ...

      Results (314 votes). Check out past polls.