The lucky thing now is that we have computers fast enough that many different languages work at a pretty decent clip, depending on what you're doing
( ... )
I agree with your thoughts on OO langauges. I found C++ to be far more intuitive than C, at least in the abstract. Of course, the language and the type of programming are related. Currently, I'm in the game industry, so if that's where a person wanted to be, C and C++ are the way to go.
That's actually quite a nice thing about Java, is there is very little overhead to begin with. Creating small, usefull applications can be done without external modules or importing new routines, and one can then learn how to inherit from objects rather than going into procedural hell. ;)
dammit! I missed a closing tag so my long and thought out plan was eaten by the lack of ability to edit a comment.
For those playing at home the rest was, in short:
...Structure and Interpretation of Computer Programs available for free online they could learn the fundamentals of programming without having to worry about UI details. PLT Scheme offers a free compiler/environment that works well with HtDP.
in the general case i'd say python, even tho i hate its whitespace-structured syntax (i *like* closing braces; wtf?). i also like ruby quite a bit, but i think python's implementation is cleaner, certainly insofar as embedding is concerned (there's also much better support for C++ interop; eg: boost-python). much of ruby's problems stem from its perl-ish heritage (and the use of globals).
but, of course, the question to ask them is what they want to program and why. C++ and python cover quite a bit (and, contrary to what others may advocate, i'd suggest learning C before C++).
I would say that if someone was learning how to program, one might as well skip the python process and go right to C. :(
And yes, C should go before C++. What one learns in C handily moves to C++ without having to deal with C++'s odd way of dealing with subclassing and interfaces compared to other OO languages. ;)
it depends on what they want to do; unless they want to become a professional (or otherwise be very serious about it), there may not be that much reason to learn C.
It's obsolete enough. I agree with learning C before C++ -- I'd actually recommend learning C before any C-derived language, including Java. Java is one of those languages you don't ever "learn" so much as "use".
I was actually poking around at Python, looking at the idea of adding LDAP auth to Mailman. The documentation I found was terrible, which is one of the reasons I typically recommend Ruby over Python these days. Do you know of a good tutorial for Python?
I agree that it is a hard question. Sometimes you can narrow in on an answer by looking at the problem domain they're working in or their learning style. If you want them to succeed it helps to provide them with a good tool
( ... )
Tell them not to care about the hardware they're working on, but only the APIs they actually need. Try to narrow their field of vision or they'll become overwhelmed. With Windows, especially, it's impossible to get anything done if you're trying to learn at a high level at the same time. Learn at high level out of a book; program simple examples.
Comments 19
Reply
Reply
(The comment has been removed)
Reply
Reply
For those playing at home the rest was, in short:
...Structure and Interpretation of Computer Programs available for free online they could learn the fundamentals of programming without having to worry about UI details. PLT Scheme offers a free compiler/environment that works well with HtDP.
Reply
but, of course, the question to ask them is what they want to program and why. C++ and python cover quite a bit (and, contrary to what others may advocate, i'd suggest learning C before C++).
btw, fortran isn't obsolete.
Reply
And yes, C should go before C++. What one learns in C handily moves to C++ without having to deal with C++'s odd way of dealing with subclassing and interfaces compared to other OO languages. ;)
Reply
Reply
I was actually poking around at Python, looking at the idea of adding LDAP auth to Mailman. The documentation I found was terrible, which is one of the reasons I typically recommend Ruby over Python these days. Do you know of a good tutorial for Python?
Reply
Reply
Reply
Leave a comment