Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

IMHO, not only should you learn as many languages as possible, but you should aim to learn languages that are as far away from your normal language as you can. These days, most developers work with languages that are directly derivied from C (C++, Java, and Perl are all examples). They may be only vagely reminicient of C, but C's influance is undoubtable on all of them.

It would therefore do most developers well to try to find a language that is almost but not quite completely unlike C. For instance, a few weeks ago, I began dabbling in OCaml, inspired by MJD's strong typing talk (where he shows how ML's strong type system actually caught an infinte loop bug (!))

I've never used a strongly typed language before, and before I read MJD's speech notes, I had assumed that such a language would be even more annoying than C's type system. Now I know that it's C's brain damaged types that are the problem, not strong typing in general.

Perl will give you great flexibility in writing your code. If anything, this only makes learning other languages more important, as opposed to sitting in Perl's sandbox. Even if you never code in those languages, you'll probably end up coding similar ideas in your Perl code and other languages that you use often.

Someone (demerphq?) said in the CB a while back that they've been programming LISP for so long that they really ought to learn the language. Functional programming, as in LISP or ML, is possible in Perl, but Perl isn't necessiarily the One True Way to do it (in fact, it quite likely isn't, since its version of functional programming is just one aspect of Perl, whereas its a fundamental part of OCaml).

So go ahead and learn Smalltalk. For that matter, learn INTERCAL (a language so annoying that it uses DO NOTE THAT for one-line comments). The important thing is to be immersed in as many different styles as possible.

----
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
-- Schemer

: () { :|:& };:

Note: All code is untested, unless otherwise stated


In reply to Re: is it worthwhile to learn smalltalk ? by hardburn
in thread is it worthwhile to learn smalltalk ? by tos

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (6)
As of 2024-04-23 13:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found