>>>>> "Olwe" == Olwe Melwasul <olwe at cpinternet.com> writes:

    Olwe> CompSci is SO bizarre! When I was knocking around CS (stork with twins 
    Olwe> ended my grad school hopes ;-)  ), there were so many conflicting facts 
    Olwe> and opinions about computers. This was at Wichita State. We had a Lisp 
    Olwe> genius who did automated math theorem proofs. I asked him in an email if 
    Olwe> I should maybe tackle Lisp. His email reply said "No, learn C". Three 
    Olwe> words. Short, concise, to the point.

    Olwe> And there was the UW(ash) professor who was a firm believer that any 
    Olwe> language that let you do the stuff C/Assembler/C++ etc. did should be 
    Olwe> left in the past. The argument goes that speed is good enough these 
    Olwe> days, CPU cycles are practically free, so it's time to move forward and 
    Olwe> stop the blood-and-guts pointer pennance and go-it-alone memory 
    Olwe> management games.

    Olwe> Then I find out that practically nothing MS has ever sold actually used 
    Olwe> Visual C++ (something they pushed relentlessly as THE Big Project 
    Olwe> environment). MS uses blood-and-guts C with the usual mountain of MS 
    Olwe> secret tricks. Then they push all these IDEs that do basically one 
    Olwe> thing: data management on Windows. Lord help you if you get off their 
    Olwe> straight line expressway through the jungle.

    Olwe> Then there's Big Eric Raymond with his "The Art of Unix Programming." He 
    Olwe> says C's great and scripting languages too. He's very happy with the 
    Olwe> byzantine, wooden-handled level of Unix--then, now, and in the future. 
    Olwe> Then there's Knuth who had his own home-brewed assembler (the latest 
    Olwe> runs on a virtual MIPS environment). For him even C is too low-brow. And 
    Olwe> then there's Lisp-Meister Paul Graham. I read about a functional 
    Olwe> language conference he attended where some Perl people showed up. A 
    Olwe> panel discussion left Perl a bloody pulp. Graham is famous for Yahoo 
    Olwe> Stores, which has lots of Lisp in it. Orbitz also has Lisp.

    Olwe> In general, if programmers get good at something, they have the 
    Olwe> subjective, self-serving if not paranoid tendency to see the computer 
    Olwe> world revolving around their skill set, their language(s). 
    Olwe> [your-language-here] can do everything!

No, that's just not fair to these people.  Let's try to unpack what
these people want to do with their languages, and I think you'll see
that they are *not* paranoid, self-serving, yadda, yadda.  They are
just trying to do different things.

For example, "Knuth  who had his own home-brewed assembler.... For him
even C is too low-brow."  Knuth is NOT trying to write software in MIX
(I think that's what it's called; I forget), nor is he trying to get
YOU to write software in it.  Knuth is interested in EXACT analysis of
algorithms.  He's trying to answer questions like "exactly how many
multiplications will be done in the course of executing this
algorithm" (among many, many other questions!).  A clean assembly
language, not tied to any particular chip, is useful for that project.

Eric Raymond likes C, but says that you should learn Lisp, because
learning it will make you a better hacker by making you think
differently about programming.

Paul Graham is really interested only in the software problems that
come from running a very small business, where excellence and speed of
development are critical factors.  Perhaps he doesn't come out and say
this as clearly as he might.  If you want to start the next EDS, you
don't want to work his way.  But if you want to survive in a startup,
you can't afford to work like EDS, either.

The conversation we started with is "what's a good language for an
introduction to CS?"  or possibly "what's a good language for learning
to program?" or possibly even "what's a good language for getting a
job?"  Those are probably not all the same question!  At any rate, I
was only trying to answer the first form.  I think Scheme is a great
language for learning the basics of the discipline of computer science
(and Abelson and Sussman a wonder-filled textbook).  I don't program
in Scheme myself, and wouldn't suggest that anyone else do so (except
for very particular cases).  So what?  You wouldn't try to saw wood
with a hammer, either.

Different languages are good for different things.

Now, maybe we you'd like to revisit the earlier question, and ask
whether it was meant as:

What's a good language for an introduction to CS?

What's a good language for learning to program?

or 

What's a good language for getting a job?

I'm not way interested in the third question.  

It seems to me open to debate whether the first two have the same
answer.  There's more to CS than programming.  I've argued that
Scheme, or some other relatively "pure" programming language gives a
better foundation for coming to grips with some of those other things.

Cheers,
R

_______________________________________________
TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
Help beta test TCLUG's potential new home: http://plone.mn-linux.org
Got pictures for TCLUG? Beta test http://plone.mn-linux.org/gallery
tclug-list at mn-linux.org
https://mailman.real-time.com/mailman/listinfo/tclug-list