
Ask HN: Is it more fun ( and wise ) to implement or to read about coding theory? - SNBasti
I love to read about design patterns, syntax and semantics language specifications ( e.g. the C++ standard ), Unit tests and this kind of stuff. Actually even more than to actually implement it because I am not confident with my skill level and the final outcome. 
I do not want to stop reading about coding theory until I reach an expert level, writing good and clean code. For me it feels right and I love it. What do other programmers say about this approach? Thanks
======
PaulHoule
It is optimal to use both book learning and learning by doing.

You can solve a lot of problems by looking on StackOverflow, particularly the
ones like "how do I get the length of a string in
(Haskel|Tcl|Lisp|Python|Ruby|COBOL|...)"

In some areas you can get away with it, but when a software system has been
worked on for (say) 20 person years by multiple persons, you will find things
breaking down because people did not understand the fundamentals.

Thus it is good to study the fundamentals, particularly the fundamentals that
are relevant to the project work you are doing now.

I upload technical books to my tablet and read them while I spin at the gym.

When it comes to a practice like unit tests, it is a letdown if you read about
them but don't write any tests because the value of unit tests in most
situations in indisputable.

Also if you take a class in Physics or Calculus or something like that, doing
problem sets is essential for you to really learn the book content. Teaching
physics, I've heard so many times that "I understand the concepts but I can't
do the problem" and then worked with the student to understand the thought
process for us both to understand that the student did not understand the
concept at all.

------
angersock
It's like sex: you can read all you want, but nothing beats getting messy and
doing it for real with other human beings.

I guess what I'm trying to say is that if you spend all of your time reading
theory instead of building software, you're a wanker.

------
GFK_of_xmaspast
Turns out an excellent way to improve your skill is to actually implement
things.

