Join 137,227 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 2,029 people online right now. Registration is fast and FREE... Join Now!
I personally prefer books when starting from ground zero, because most programming authors are still writing books for the gratification of saying, "Hey! I wrote a book!" (don't lie, you know you'd like that sort of gratification ).
When I'm done with books, usually well commented snippets or tutorials go down quite nicely on top of my new toolkit.
I've gone ahead and hit internet, thats where i learned my first few programming languages back when i was 14. Now i find it easier to learn from books though, and i'd recommend this way to people going into programming.
I haven't a preference so I'll just be brief about my views of each of them...
Books - I really like reading programming books and I think they are a great help. I much prefer them over the internet however I don't get out book shopping much and so unfortunately I don't often buy them.
Internet - My main method of learning as it is free and easy to access. I don't like the way some online tutorials are written but then that's all I can get if I don't want to spend any money or effort.
Source Code - Until I'm quite good with a language I hate looking at source codes. They're very confusing when you're new to a language and even when you're good with a language they take a whole lot of effort - which I don't have - to read through them and understand them. My worst method unless I'm really good with coding.
Classes - I would prefer to learn with a teacher with classes and lessons but I just don't have that opportunity unfortunately. This would be my prefered method if I could have them but I can't. That's why I can't wait until university when I can finally just do the subjects I enjoy and learn them how I enjoy learning them: Computer Science & Mathematics In Classes With Books!
So overall if I had to choose, either books or classes but both of which I currently lack.
This post has been edited by Kingbradley6: 12 Oct, 2008 - 04:07 AM
I own several programming books, but they are almost all in near mint condition as I rarely open them. I find examples and documentation are how I learn the fastest.
If there is a good teacher, classes can be the best way to go by far, I don't know about anyone else, but I find a good programming instructor to be VERY hard to find.
EDIT: I am not an English major
This post has been edited by William_Wilson: 12 Oct, 2008 - 04:20 AM
books. i dont even pay attention in class, or even understand what he is saying to pay attention, so i spend my class time reading the book and working ahead on my projects and labs
Except for one lone C++ book I have (C++ Primer Plus, Waite Group Series), I have learned everything I know exclusively from the Internet. I have never felt any dumber than the next programmer just because I learned online, as opposed to a classroom or book.
for the most part I learned via the internet, but source is also a very good option (especially when it comes with a tutorial so you can see what the code does if you can't figure it out).
I usually use the internet - I have bought books but I find them a bit of a pain in the arse to read. I like instant results/gratification so books don't really do it for me as it requires a bit of work ;D
I started with books, and then after a couple of weeks started going on the internet looking at intermediate topics, and literally forced my brain to process them.
Now when I learn anything new, I just look it up in the docs and get going.
We didn't have no fancy intertubes when I was learning, nosiree Bob. We read from marble tablets, wrote our source code with chisels, and dammit, that's the way we liked it!
OK, not really, but close. I started with AppleBasic on AppleIIs in high school. Never did anything with that. Some years later I started running a BBS and wanted some special utilities, so I picked up Pascal. Later I learned C and C++, COM, Python, PHP, VB, Ruby, C#...whatever it takes to do the job, you know?
Having the vast resources of the Internet makes it pretty easy to learn, but it can be difficult to learn *properly*, i.e., best practices. Unfortunately there is no shortage of people out there who fancy themselves programmers and post horrible code that others subsequently copy and paste into their own projects without expending the effort to understand the underlying concepts. Find FAQs on the language(s) you're interested in and frequent them. Read lots of code online and study it and make your best attempt to understand what it's doing and why it's being done that way.