Re: How to help create a singularity.

From: Eugene Leitl (Eugene.Leitl@lrz.uni-muenchen.de)
Date: Mon Apr 30 2001 - 05:31:19 MDT


On Sun, 29 Apr 2001, Samantha Atkins wrote:

> "R." wrote:
> >
> > I can't seem to pick a prog language to learn.. this thread has helped.. I'm
> > considering the merits of C#

Put down that ring, Bilbo Baggins. I know it's round, golden and shiny,
but believe me, you don't want to put it on, especially not now, with all
the Nazgul in attendance. See sharp: in fair Elvish script, yet in the
foul language of Redmond, there are things written on it that will chill
your very soul, and slowly, imperceptibly draw you to Redmond, where you
will dwell henceforth, bound, until the sun burns out and the stars fall
from heavens. Do you really, really want that?

> A first language should in my opinion be something that is fun, that has
> powerful enough constructs to create stuff that is interesting and that
> you can learn with as long as you wish. It should be clean and robust
> so you aren't fighting with a lot of arcane BS and should be interpreted
> so you get immediate feedback.

Yes!

> I would strongly recommend learning Ruby. It is relatively little known
> in the States yet but it has taken Japan by storm including many Perl
> and Python enthusiasts. It is clean, fully object oriented, includes
> real reflection, is fully garbage collected and includes many constructs
> useful in AI type applications. Check it out including a free
> mainstream online book on the subject at http://www.rubycentral.com.

I would argue against Ruby. Not because it's a bad language, it certainly
is nice, but it does not have any extra advantages, to learn something
with very little code base and community support. There's a reason why
Python is said to come with "batteries included". This is not true for
Ruby. The situation is clearly different to Perl vs. Python.

Btw, I don't condone language wars, but I can't resist posting the
following delicious bit of net.humor (ask Google for attribution):

EXTERIOR: DAGOBAH--DAY
           With Yoda strapped to his back, Luke climbs up one of the
        many thick vines that grow in the swamp until he reaches the
        Dagobah statistics lab. Panting heavily, he continues his
        exercises--grepping, installing new packages, logging in as
        root, and writing replacements for two-year-old shell scripts
        in Python.

YODA: Code! Yes. A programmer's strength flows from code
      maintainability.
      But beware of Perl. Terse syntax... more than one way to do it...
      default variables. The dark side of code maintainability are they.
      Easily they flow, quick to join you when code you write. If once
      you start down the dark path, forever will it dominate your destiny,
      consume you it will.

LUKE: Is Perl better than Python?

YODA: No... no... no. Quicker, easier, more seductive.

LUKE: But how will I know why Python is better than Perl?

YODA: You will know. When your code you try to read six months from
      now.

> I used to recommend (back in the early 80s) that people start with
> Smalltalk as a pure OO language with an excellent working environment
> unrivaled in IDEs even today. I would still recommend it or Ruby for
> really learning OO for the first time. I still think it is a really
> fine candidate. A well designed free Smalltalk can be obtained at
> http://www.squeak.org.

I would have recommended Scheme for the same reason. However, I explicity
recommended Python, because of availability of literature, support and
code base.

> Program in something that lets your mind sing and opens your head to
> your own brillance without bogging you down in language idiosyncrasies.
> Do you want to be expert in the vagaries of some language or do you want
> to understand and partake of the art and joy of programming?

Actually, I would suggest not to become a programmer, if you can avoid it.



This archive was generated by hypermail 2b30 : Mon May 28 2001 - 10:00:00 MDT