Re: Better is better: improving productivity through programming

From: Cameron MacKinnon (cmackin+nn_at_clearspot.net)
Date: 04/06/04


Date: Tue, 06 Apr 2004 15:34:19 -0400

Kenny Tilton wrote:

> Sunnan wrote:

>> I can understand that there's lot of dirty water under the bridge
>> between the two camps (I've been reading _The Evolution of Lisp_) but
>> what about all the newbies that came along, found two camps and found
>> it to be a pretty hard choice?
>
> It's their fault, they should have come here to c.l.l. and we would have
> straightened them out. Where are they?
>
> The differences between the two languages are pretty dramatic, so I am
> surprised to hear of hordes of newbies unable to choose between them.

No, the differences between the languages are miniscule, and magnified
out of all proportion by drama queens.

Consider:
        - Lots of irritating superfluous parentheses[*]
        - powerful macro system
        - garbage collection
        - CONS cells
        - closures
        - higher order and first class functions
        - REPL
        - recursion
        - a user community full of smug weenies
        - a standard and a number of conforming implementations

There's more, but I'm sure you get the idea.

In his first days, someone new to the field will be unable to tell
between Scheme and Lisp code. And if he's conscientious and tries
reading up on the technical differences, there's all manner of Lisp-1
versus Lisp-2 papers, which quickly start to look like irrelevent
theological discussions. Or he asks in a newsgroup, and gets an
irreverent theological discussion.

> My guess is that they are not actually writing code. Shopping for
> clothes is pretty hard until I start trying things on and see how they
> look on /me/.

So fifteen minutes with each one ought to be enough to choose?

Of course they're not writing code! They're spending time figuring out
which language to spend the next three months learning. And once they've
waded through a lot of discussions like this one in the archives,
they'll have to face round two, choosing which of a number of
implementations to use.

"Decisions in rearview mirror appear more obvious than they were at the
time."

There was a rumour recently that someone was going to put lipstick on
one of the pigs (I think OpenGL was mentioned) so that newbies could
tell them apart.

My advice: Find a text or tutorial that you like, and use the language
that's in that. Switching later is easy. For bonus self-flagellation
points, use the language that the text doesn't use: This is still pretty
easy (unless the text is "On Lisp"), but it highlights the differences.

Criminy, yesterday that "Who is Erik?" guy and today this. Maybe when
Sun and MS joined forces, it was to create an Abstract Usenet Troll
Factory class to distract Lispers. :-)

[*] From a newbie's perspective! No flames please.

-- 
Cameron MacKinnon
Toronto, Canada


Relevant Pages

  • Re: C vs. C++ vs. Java
    ... as specified by it's standards. ... topic" for a C language newsgroup. ... We were all newbies once. ... newbie is not OT for a C language newsgroup. ...
    (comp.lang.c)
  • Almost keywords
    ... Python is fit enough for newbie programmers, ... case sensitivity of all the language (in natural languages the case is ... If you take a look at the Python newsgroup, you can see that newbies ...
    (comp.lang.python)
  • In defense of Visual Basic (was Re: Why Python does *SLICING* the way it does??)
    ... >> criterion for language design is a road to madness, ... >> than that newbies don't stay newbies forever. ... People bash VB as a language the corrupts a programmer and prevents him ...
    (comp.lang.python)
  • Re: Indentation and optional delimiters
    ... newbies, that's just a sign that newbies don't know the Right Way from ... higher level computer languages. ... Python. ... JIT (and the user will look for a better language). ...
    (comp.lang.python)
  • Re: Indentation and optional delimiters
    ... that's just a sign that newbies don't know the Right Way from the Wrong ... Probably many years ago a language like Python was too much ... But there's a need for higher level computer languages. ... Today Ruby is a bit higher-level than Python (despite being rather ...
    (comp.lang.python)