learning html and javascript could be a good place to start since you can make things right away with those.
i think that is very important when you start, to get instant feedback, making stuff is fun :)
for this reason i would recommend python as your first language.
it is very highlanguage and have extensive libraries. it has clear sparse syntax and is very easy to write and read.
but that doesnt mean it is a weak language, ont he contrary it is a very powerful language that is used by a lot of big companies and small startups.
so not only is it a good language to start with but it is also something you will have great use for in general as a skilled hacker.
while paul graham and a lot of others rave about LISP(right fully, its a powerful, flexible language with some very special features) i wouldnt start with it.
it lacks a standard and you start working on a higher level of abstraction right away, there is not a lot of libraries that you can just install and start having fun with right away as you can with python.
i definitely think you should learn it later on but not at the start.
with python you can add the pygame library and start making simple games right away, it is very easy.
you can write webapps with webpy/django without much knowledge needed.
then as you evolve you should pick up something like the art of programming(or a similar book that has code in a language you know) and learn about all basic algorhitms and datastructures.
if you want to be a serious hacker you need to know the theory.
python however lets you create cool things right away without knowing that much.
while this is a rant for python it is not fanboyish, i just think python is very suited for programmers of all skillevels.
there was an article on here some days ago about pythons suitability as a beginners language.
there are other options obviously, ruby for example his fairly similar to python in a lot of aspects but when python tries to keep things simple(there should preferrably be one obvious way to do things) rubys philosophy is there is more than one way to do it.
you could ofc learn java(java and javascript only have the name in common) which is wide-used language that you will run into sooner or later anyway.
on this board youll probably find that it often gets critisized for being a language for average programmers though. it is fairly verbose and in some peoples opinion too objectoriented and dont offer any options.
the downside with python and ruby are that they can be pretty slow but that isnt an issue for most applicatiosn and certainly not for the apps youll write a s a beginner.
ruby also has a very popular webframework called rails(ruby on rails).
c/C++ are probably the fastest(executionwise, not developmentspeed) and are also good to learn but are a little more difficult to start with and c is fairly low-level. good to know but wouldnt recommend it to start with.
devc++ is a good development environment if you do though.
Not for a non-hacker. That book is great for programmers who want to learn python, but someone new to programming would need something more like "Wade Into Python."
For a complete newbie, the Zelle book is probably even better. I think it is called "An Introduction to Computer Science Using Python." MIT and a few other schools use it now, but it is a very gentle introduction.
HTDP.org is also really good if you go the Scheme route instead.
Imp is right, that's a terrible book for someone just getting started. I'd recommend "How to Think Like a (Python) Programmer" available on the web here: http://www.greenteapress.com/thinkpython/
O'Reilly's Learning Python is also an excellent learning tool for the language.
I was about to recommend How to Think Like a Computer Scientist (http://openbookproject.net//thinkCSpy/), which is what I've been using and thoroughly enjoy, until I realized that it's the original version of How to Think Like a (Python) Programmer. Glad to know the new version's out. Hope this clears it up for anyone else wondering why TCSpy hadn't been mentioned yet.
Also, Lisp lacks a standard? Huh? Care to elaborate on that?
I mean sure, CL's standard is older than some dinosaurs, and Scheme's standard is currently rather controversial, but both have standards. Especially in the case of CL, there's little to complain about.
And which CL would you recommend the Padawan Hacker use? Oh, that's right there isn't a majority view on this... hence no standard CL to point people towards.
One of you is talking about a standard in the true sense (such as an ANSI Standard, which Lisp has in spades) and one of you is talking about a canonical/standardIZED IMPLEMENTATION (which Lisp doesn't technically have.) So, everyone can follow the actual ANSI Standard for CL. And if you're looking for a standardized open-source implementation, you should just choose SBCL ;-) Either way, you should be Lisping instead of arguing.
i think that is very important when you start, to get instant feedback, making stuff is fun :)
for this reason i would recommend python as your first language. it is very highlanguage and have extensive libraries. it has clear sparse syntax and is very easy to write and read.
but that doesnt mean it is a weak language, ont he contrary it is a very powerful language that is used by a lot of big companies and small startups.
so not only is it a good language to start with but it is also something you will have great use for in general as a skilled hacker.
while paul graham and a lot of others rave about LISP(right fully, its a powerful, flexible language with some very special features) i wouldnt start with it. it lacks a standard and you start working on a higher level of abstraction right away, there is not a lot of libraries that you can just install and start having fun with right away as you can with python. i definitely think you should learn it later on but not at the start.
with python you can add the pygame library and start making simple games right away, it is very easy. you can write webapps with webpy/django without much knowledge needed.
then as you evolve you should pick up something like the art of programming(or a similar book that has code in a language you know) and learn about all basic algorhitms and datastructures. if you want to be a serious hacker you need to know the theory.
python however lets you create cool things right away without knowing that much.
while this is a rant for python it is not fanboyish, i just think python is very suited for programmers of all skillevels. there was an article on here some days ago about pythons suitability as a beginners language.
there are other options obviously, ruby for example his fairly similar to python in a lot of aspects but when python tries to keep things simple(there should preferrably be one obvious way to do things) rubys philosophy is there is more than one way to do it.
you could ofc learn java(java and javascript only have the name in common) which is wide-used language that you will run into sooner or later anyway. on this board youll probably find that it often gets critisized for being a language for average programmers though. it is fairly verbose and in some peoples opinion too objectoriented and dont offer any options.
the downside with python and ruby are that they can be pretty slow but that isnt an issue for most applicatiosn and certainly not for the apps youll write a s a beginner.
ruby also has a very popular webframework called rails(ruby on rails).
c/C++ are probably the fastest(executionwise, not developmentspeed) and are also good to learn but are a little more difficult to start with and c is fairly low-level. good to know but wouldnt recommend it to start with. devc++ is a good development environment if you do though.