Monday, February 4, 2013

Professional books

Good books are so rare. I understand that by the time the book is written the software or technology has moved forward so much that the book becomes slightly outdated when it's finally released. Of course, a lot of times it doesn't matter that much. Most books offer additional data on their website's or blogs. And even if they don't - there are always a lot of articles on the web that will tell you what exactly changed and how it will affect your work.

But despite of this it's so difficult to find a book that's not written for beginners or intermediates. And for some reason more than any other computer literature programming books are just really heavy with introductions and dedications and unnecessary information. And it goes on for like 20 pages!

And the other thing is people writing books even for beginners always assume that their audience is not just a beginner in that language but new to the whole concept of programming in general! So another 20 pages are dedicated to loop constructs and if statements. Would be nice to just have a short syntax and maybe a short explanation if even that. I mean if a person doesn't get if else they can either a) google it or b) seriously reconsider their career choice. And sure we all have to start somewhere and beginners' books have their place. But in my opinion it would be better to have books on programming in general for beginners where all of that would be explained in detail like what classes are and what binary code is.

And there are excellent books on that subject - like Charles Petzolde's "Code: The Hidden Language of Computer Hardware and Software". That book must be the very starting point for any beginner programmer.

The other thing that really irritates me is how some simple things are explained in great detail over and over. Seriously, it's a book! Go back and re-read the first time the issue was explained if you don't get it! And then more complicated things are just explained in a couple words like oh by the way there's this thing that you can use here's one example. Next topic.

And it's so easy to pick up really bad manners from wrong books. Somebody who is new and doesn't know any better will adopt the techniques from the book and do it that way for a while. Like validation for instance. If you get a book on PHP most of the time they won't tell you that for the user's sake you should do it in javascript and THEN do it on the server-side before putting it into a database. No, if you get a book on a specific web language 99% of the time it will tell you how to do everything in that language and at best say "you could also do it in javascript but let's not worry about it right now".

I think for web-development it's crucial to give the whole package. Though the compound books that cover more than one language or technology are usually even worse. Which again goes hand-in-hand with the scarcity of books for professionals rather than beginners.

I guess what I'm saying is there need to be more books really teaching people the art of programming, the advantages and disadvantages of doing things one way or another, and listing some essential libraries and plugins. I mean seriously why would anybody in their right mind not use jquery? if you're spending 50 pages on javascript dedicate at very least a paragraph of what jquery is and that it's the way to go. It's just like at my university when we first started HTML class they were making us write things in notepad so that we would know all the tags and their properties by heart. Then next semester they gave us dreamweaver and told us to forget everything we learnt before because you don't need to know anything by heart. It's not a history class it's programming. Syntax is necessary but you can always look it up. The thing that important is to understand why and how, the abstract ideas, the logic behind it all.

Of course, it's easy to criticize others' work especially not having written any books... but it's just frustrating sometimes. Most of the time I personally use the book as a starting point for something I know nothing about and then learn through error and trial and googling the subject matter. Just keep in mind that you're not the only person in the world who ran into a question or a problem and there are a lot of forums where you may find the answers. It's always about asking the right questions. Like one of math-teachers used to say "fully understanding the problem is 50% of its solution".

No comments:

Post a Comment