Slashdot Mirror


The Best First Language For a Young Programmer

snydeq writes "Fatal Exception's Neil McAllister questions whether Scheme, a dialect of Lisp taught as part of many first-year CS curricula and considered by some to be the 'latin of programming,' is really the best first language for a young programmer. As he sees it, the essentially write-only Scheme requires you to bore down into the source code just to figure out what a Scheme program is trying to do — excellent for teaching programming but 'lousy for a 15-year-old trying to figure out how to make a computer do stuff on his own.' And though the 'hacker ethic' may in fact be harming today's developers, McAllister still suggests we encourage the young to 'develop the innate curiosity and love of programming that lies at the heart of any really brilliant programmer' by simply encouraging them to fool around with whatever produces the most gratifying results. After all, as Jeff Atwood puts it, 'what we do is craftmanship, not engineering,' and inventing effective software solutions takes insight, inspiration, deduction, and often a sprinkling of luck. 'If that means coding in Visual Basic, so be it. Scheme can come later.'"

3 of 634 comments (clear)

  1. Scheme is the best teaching language by Gorobei · · Score: 5, Insightful

    for the professors, that it. By removing all the syntax, etc, you can be introducing functions, lexical scope, binding, etc in the first week. Data structures and recursion in the second.

    Result: most students quit by week two, and you are left with a fairly teachable remainder.

  2. Re:Python then C/C++ by SirLurksAlot · · Score: 5, Insightful

    Nowadays I would suggest $_language_of_choice as firs language as it is $_reasons[0], $_reasons[1] and $_reasons[2] language. Then extend it with $_arbitrarily_superior_language.
    Just don't start with $_other_language[0], $_other_language[1], $_other_language[2] or $_other_language[3] as it will screw the person up for lifetime.

    Please, I get so tired of arguments like this.

    As long as:

    1. the language (and the associated tools) are available
    2. it has all of the fundamentals of programming (looping, flow control, data structures, variables, etc)
    3. and it grabs their interest

    who cares what languages they learn? If they enjoy it and it allows them to learn how to program why should it matter what language they start out with?

    --
    God, schmod. I want my monkey man!
  3. Quit knocking the hacker ethic... by tjstork · · Score: 5, Insightful

    People that knock the hacker ethic are a bunch of MBA drones that could never really build a damned thing themselves.

    You learn to program by diving in and doing it. The more you practice and study, the better you get at it. GM was very good at shackling some very brilliant engineers and turning them into process drones. Look at where it got them. Great things are built by individuals and the more steps you have in the way of people being individuals, the worse you will get. Products have to be owned by the engineers that make them and they are personal works of art.

    At the end of the day, the managers, bean counters, and all of these other people with their measurements, metrics and fancy charts are so much fluff, a tax on the capable in society... by really a bunch of leaches that could barely feed themselves as they lack the mental self sufficiency to do anything other than to try and ride the labor of others. We condemn socialism in society there's no real difference between the PM in a three piece suit and the lowest of the homeless people. Neither add any real value to society, its just that, the PM knows how to use PowerPoint and the homeless guy does not.

    --
    This is my sig.