9/13 A smart social scientist friend of mine, not yet a computer geek,
intends to learn programming. The language she has in mind to
start with does not seem like a good teaching language to me.
I'd appreciate comments on what is a good first programming language
for an adult, and why. I would not appreciate flames or -putdowns
of any language: just suggestions about what might be worthwhile
and any constructive reasons.
\__ED! Ed is the standard!
\_ I suggest watching Harvey's cs61a lectures on the web. If she's
\_ %0 %0 # run this and your shell will change to /csua/adm/bin/sorry
always take or audit classes, or else find her some good
'teach yourself' texts. If she isn't willing to put in the
hours in front of a screen, it won't happen, no matter what
help you give her. Programming isn't for tourists, no matter
how smart they are. That said, the language to pick is the
one for what she wants to do. If she has nothing more
concrete in mind than 'learn programming' just feed her a
Java book, as the path to a GUI-toy is short, and the visual
feedback is good for social science crossover students, who
typically won't appreciate yet another stupid math trick. -mel
\_ You jump to the most amazing and unfounded conclusions.
might help her learn to program.
\_ http://bmrc.berkeley.edu/bibs (re-added after motd cleansing).
nothing to do with computer science. Knowing about them (parsing,
\_ Python's a good beginner's language.
\_ Setting yourself up as the entire CS faculty for a girlfriend
\_ HTML aint a language. Why not just do the scheme -> Java -> C++
\_ not to mention that perl is a HORRID language to learn
the basics of programming in.
is a really bad idea. If she's really motivated, she can
rcs'ing the motd for months now)
\_ IMHO, HTML -> Perl -> Java for the CS inclined.
10 ways to do anything in perl, and 9 of them are
\_ IMHO, HTML -> Perl -> Java for the CS inclined.
\_ HTML is not a programming language. -tom
\_ shut up, nweaver. perl is a great language to learn,
pretty quick. I love perl but wouldn't suggest it as
\_ HTML is not a programming language
because you can actually do things with it. -tom
There are easier first languages that do stuff.
because you can actually do things with it. -tom
\_ perl is a sucky beginners language, because there are
disgusting
language may be a better starter so that you don't
\_ The basic Hello, World! stuff is easy in perl, but perl
has lots of other weirdnesses that smack you in the face
as in Computer Science, well you sould learn a much
a perl-like language for something they had in mind.
\_ HTML aint a language. Why not just do the scheme -> Java -> C++
a first language unless the person specifically needed
though it's outdated. Some non-CS friends of mine took the
yourself some horrid habits.
a perl-like language for something they had in mind.
\_ perl is great for doing perl stuff. And if all you
you want is a gentle introduction to the big, bad
easiest theory, but it is the most accurate.
/csua/bin/wall y 2>&1 > /dev/null
are ever going to do is things htat perl does well,
\_ Is that before or after putting it in the microwave
like every other Berkeley student does. Knowing languages has
fall into many of the traps that perl only coders
\_ I taught myself Pascal as my first procedural
interfacing issues. Probably the facilities available
grammars, symantics, etc...) does for classes like 164.
\_ perl is great for doing perl stuff. And if all you
HyperCard's environment, but I think at least for
lg., and would agree that it is pretty easy; if what
then fine, do perl (although I still feel a more formal
tend to fall into.) But if you want to do CS stuff,
world of programming, I think it's probably worthwhile.
\_ What's her goal in learning how to program? Does she have work-
hobbyist?
\_ He's an idiot.
Esperanto. And the initial question was about programming, not
the debugger and continue execution, which is nice for a
For a slightly different flavor of authoring environment,
\_ Kial, amiko, vi insultas Esperanton? Kial oni _ne_ devas lerni?
\_ What's her goal in learning how to program? Does she have work-
related reasons? Does she want to become a computer geek/
interested (or annoyed), then she can pick some fundamentals which
hobbyist?
in JavaScript to manipulate web pages will someday
\_ He's an idiot.
really going on. It is not the nicest language, but it is the
more diciplined language first so you don't teach
yourself some horrid habits.
because it exposes what is really going on. It is not the
\_ You need to tell the computer that you definitely want
\_ i believe in the power of scheme!
\_ They should first learn Visual Basic, and then move onto ASP,
and Visual C++.
world of programming, I think it's probably worthwhile.
these messages off. "chsh -s /usr/bin/yes".
to create interesting applications. -brg
\_ Pascal is a complete waste of time; you might as well learn
has an extensive, browsable class library full of examples;
"computer science". -tom
different compared to other languages); it's very powerful,
\_ Fuck you.
\_ doesn't chsh check /etc/shells?
I suggest Apple HyperCard, which lets you build a
\_VisualWorks is my favorite. The commercial version
runs on HP-UX, Solaris, and Linux (on Intel).
There's also a non-commercial for Linux:
http://www.objectshare.com/VWNC
I also like Squeak. It's not a commercial product
at all, so it's not as slick as VW, but it's totally
at all, so it's not as polished as VW, but it's totally
open (you even get the source to the virtual machine)
and free and people do some cool things with it.
http://www.squeak.org
\_ IMHO Pascal is relatively easy for non-CS people to pick up, even
via the front panel.
CS 9-something class and learned the basics w/o my help. -- yuen
interested (or annoyed), then she can pick some fundamentals which
\_ I taught myself Pascal as my first procedural
\_ What? You can watch lectures on the web?
\_ Yes, go to http://bmrc.berkeley.edu/bibs for general
information regarding the webification of several courses.
You can even watch the feeds live (unicast and multicast
are supported).
now it's still worth considering. YMMV. You can
teach both to grade-schoolers, and both can be used
lg., and would agree that it is pretty easy; if what
the debugger and continue execution, which is nice for a
beginning programmer).
\_ What's your favorite Smalltalk system for Unix? I'm
curious to try one out (if it's a good one.) -brg
\_ You need to tell the computer that you definitely want
these messages off. "chsh -s /usr/bin/yes".
But everyone outgrows Pascal; it's merely a matter of time.
For a slightly different flavor of authoring environment,
\_ Ah yes. All hail the foundtain of truth which is tom. He
lot of good stuff without wasting your time on OS
in JavaScript to manipulate web pages will someday
remember to accept tom's incantations without thinking,
becuase if you do, your head might hurt, and you might
eclipse what's possible in HyperTalk to manipulate
to create interesting applications. -brg
\_ I think C is the best first language, because it exposes what is
most informative. -- ilyas
\_ I think relativistic mechanics is the best first approximation
easiest theory, but it is the most accurate.
\_ Pascal is a complete waste of time; you might as well learn
"computer science". -tom
\_ Ah yes. All hail the fountain of truth which is tom. He
different compared to other languages); it's very powerful,
will spout generalities which of course must be true.
Consideration for the individual is unimportant. Always
actually reject tom's axioms. Fear this as you would any
rational thought. -- not #1 tom fan
\_ Visual Basic, C, Java, or BASIC. If I were to do it all over
again, I'd major in math and start with C. perl? no. nonono.
\_ I suggest watching Harvey's cs61a lectures on the web. If she's
might help her learn to program.
\_ http://bmrc.berkeley.edu/bibs (re-added after motd cleansing).
\_ I suggest Smalltalk. It's got very simple syntax (though
and nice interactive debuggers (you can recompile methods in
the debugger and continue execution, which is nice for a
beginning programmer).
\_ What's your favorite Smalltalk system for Unix? I'm
curious to try one out (if it's a good one.) -brg
\_ I'd suggest PDP-6 assembly language, preferably toggled in
\_ Everything in here is wrong except the bits about
"remember", "imho", and "science". |