[Wellington-pm] How much perl is out there?

Daniel Pittman daniel at rimspace.net
Sun May 30 18:26:13 PDT 2010


Grant McLean <grant at mclean.net.nz> writes:
> On Mon, 2010-05-31 at 09:34 +1200, Cliff Pratt wrote:
>> On 31/05/10 09:11, Lenz Gschwendtner wrote:
>> >
>> > learning a new language is always worth it though but i would go for
>> > a functional language in that case. it stretches your mind way more
>> > and improves your day-to-day programming - in whatever language that
>> > is - remarkably.
>>
>> Functional? In what sense? One that works properly ('is functional') or one
>> that use functions ('procedural')?
>>
>> I'm not sure that I'd agree with the last meaning. I'd always go for an
>> Object Oriented language over a procedural one, if possible.
>
> I don't know that I'd 'always' go for OO over procedural (aka
> 'imperative'), but Lenz was actually talking about functional as in:
>
>   http://en.wikipedia.org/wiki/Functional_programming
>
> Functional languages include Lisp, Scheme, Haskell Erlang etc.  There are
> numerous advantages to the functional programming approach and Perl has
> borrowed a number of the features.

For what it is worth, my list of "languages every developer should learn" is:

Learn C, and then an assembly language, to teach you the fine details of how
machines work inside — and because knowing something at that level is going to
be of ongoing value to you over the years.

When you understand how to implement your own thread library you probably know
it well enough to get by.


Learn a functional programming language, ideally a Lisp or Scheme, including
their macro transformation languages and styles.  You probably know it well
enough when you look at languages adding syntax for something and die a little
bit inside.  (Writing your own meta-object protocol is a good step, too.)


Learn a stack-based language, like PostScript or Forth; the later is a better
choice, since it is the same idea as Lisp but the literal opposite
implementation decision.  You probably know it well enough when you understand
exactly why Forth and Lisp are the same idea, differently spelled.


Learn JavaScript; you know it well enough when you understand why a prototype
based object system is cool, since it is the third of the two OO styles.


> Arguably the fact that Perl allows elements of imperative, object oriented
> and functional styles (all in the same program) is one of the things that
> makes it seem alien to say Java coders.

*nod*  Though, recent Java has moved to introduce more features like closures,
so they are not /entirely/ blind to the attraction...

        Daniel

-- 
✣ Daniel Pittman            ✉ daniel at rimspace.net            ☎ +61 401 155 707
               ♽ made with 100 percent post-consumer electrons


More information about the Wellington-pm mailing list