I read an article about a programmer that doesn't read books and things but just starts a project and makes mistakes and fixes them while he's doing the project.
What is your opinion on this?
You can start with books, but what will keep you going and get you to learn a lot faster is stupid side projects, you can learn a lot from failure.
Also keep your side projects stupid, here's an article I read on that a few days ago that I thought was very good:
[url]http://firstround.com/article/Spotifys-Design-Lead-on-Why-Side-Projects-Should-be-Stupid[/url]
I never read a single book on programing.
In school even, I just learned from examples, but primarily by asking questions.
If there's something I don't know or am ever unsure of, I just google it.
It depends, there are things you're very unlikely to learn from doing, like formal thought patterns commonly associated with certain problems and solutions (but they also may not appear in entry level books).
Getting started by reading a book is certainly faster than by trial and error (assuming you're good at both and don't just copy/paste), and even later doing research usually gets you to your goal a lot faster than trying to invent a system from scratch.
That said, you probably learn faster by working on projects that interest you, so you can choose reading material with that in mind instead of going for super-broad-spectrum lecture.
It also depends entirely on your learning style. Some people learn better by reading up about things beforehand, whereas others (such as myself) learn better by actually getting their hands dirty with what they're trying to learn.
It's all down to preference in the end of the day; the best one is the one that works for you.
[QUOTE=Dario z;45155954]I read an article about a programmer that doesn't read books and things but just starts a project and makes mistakes and fixes them while he's doing the project.
What is your opinion on this?[/QUOTE]
Why not both?
I've learned things in books that I wouldn't have learned otherwise.
[QUOTE=Sergesosio;45164167]Why not both?
I've learned things in books that I wouldn't have learned otherwise.[/QUOTE]
I'd agree.
I have read books to get my bearings and set me off in the right direction, and then I begin my own projects, looking back to the book for reference if needed.
I wouldn't say that reading about programming or any specific language is crucial for learning to program, but you'll likely have to get comfortable with reading technical texts anyway. There are few other fields where you regularly need to read through hundreds of pages of documentation, manuals, standards and other reference material.
IMO, books are a good foundation for learning the basics of programming. There's also countless tutorials online that range from hello world to full on high end applications. Learning from mistakes is also necessary in order to build strength and knowledge while programming.
[QUOTE=Sombrero;45195050]IMO, books are a good foundation for learning the basics of programming.[/QUOTE]
Honestly, books are the only place where you'll learn more than just the basics. I've seen so many mistakes and shit written by people because they only followed tutorials and never received any in-depth knowledge of the language and tools they're using.
It's beyond me how people think programming tutorials are actually a good thing. Most of the time they just end up with code cobbled together from multiple tutorials, wondering why it doesn't really work as intended.
That totally depends though.
Tutorials that just teach you one thing in a narrow way, might not be a good thing to learn a programming language with - they are only good for learning how do that one thing.
When that happens that "cobbled together" code appears with coding styles mixed and stuff.
But there are tutorials that focus on teaching you components of programming languages so you can apply them to more things.
The "reader" has to get that though and be able to project all of that to his own programming style and see the bigger picture.
(That's what most books do too) Also with books you, most of the time, get only the views from the writer of the book, but by taking in tutorials from multiple sources you might be able to critically look at what's best practice for you and not just see one picture.
I like learning by example, so by example tutorials are great.
Example
[url]http://rustbyexample.com[/url]
That's especially good because I can use it for reference.
Everybody learns differently. I prefer learning by doing, but I still have a shelf full of programming books and I read articles all the time. Sometimes reading is the best way to point you in the right direction.
You can't learn programming just by reading up about it. You'll need to practise and try to 'figure' things out for yourself and develop a stronger problem solving ability. However saying that, it is important to read books at the same rate at which you're learning so you try to avoid developing bad habbits.
For example, when I first learnt to code; I created like 15 different very-basic programs and I just combined them all into one super-program using basic user-inputs and conditions to switch between program. Then I read up about functions and slapped myself in the face for doing it in such a bad way originally.
You can't avoid reading. Programming is not self-explanatory; to know what to type in your text editor to print hello world, you have to have looked things up at some point. In general, programming involves a lot of looking things up - no one can memorize all the functions the C standard library provides, for example, and there's always times when you need to check exactly how a certain language feature works.
Reading large books beyond the basics will, as others have said, teach you several things you might not think of on your own (or might take a while to). Or maybe it's easier for you to come up with some of them yourself. However, it's very unlikely that you'll reinvent every programming trick, thought process, data structure imaginable - you're gonna have to do some research. [I]Good[/I] programming books have the advantage of being reliable and covering a lot of them - and one of the biggest issues a programmer has is what they don't know they don't know.
Then again, reading about programming is only one part; you have to internalise it too.
Which one you need to do more of depends entirely on you, but you can't get by completely without one or the other.
I learned how to use directX8 in VB6 by reading through examples, and then applying them to my own work. saying a programmer starts a project just by starting one means i can open up an IDE, smash my head on my keyboard a few times and then call myself a programmer
I tend to get bored reading books about programming, so I tend just to jump right in and look up functions as I go along. And I really prefer learning by example.
And I try to code whatever comes to my mind, which is probably why I'm a shit programmer, since I don't get a lot of ideas.
What I usually do, is set a goal for a project. Ex: I want to render an arch on the screen. If there is an obstacle in the assignment, I will Google how to overcome such obstacle. Like: I don't know how to draw a specific element on the screen, how would I do that? Oh, you use DrawPixel.
Or I look at specific examples to see how its done(without copying any code).
Although, I don't think this would work for everyone. I'm a hobbyist :)
Sorry, you need to Log In to post a reply to this thread.