ifacethoughts

Learn, But Not Necessarily Through Books

Reginald Braithwaite encourages us to go beyound the cut-paste action. I agree completely, I consider search for code is like a block. Copy-paste can help you get through your current block, but that is the furthest you can go with it. Every block is a learning opportunity that will help you cross all your future blocks. You can take much more than just functionality from a piece of code, the good way of writing code, the idiomatic uses, reuse and most importantly capabilities of the language. So I try to follow this advice to the best of my ability.

What I cannot follow is to read the books. It has been quite a while since I have read a full book on programming language. They always seem stale and incomplete when compared to the intelligent and insightful discussions in the online world.

So what do I do? I read individuals, like Reginald. Like Sam Ruby, Tim Bray, Bjarne Stroustrup, Bill Venners, Ian Bicking, Martin Fowler, Steve Yegge, Paul Graham, Obie Fernandez, Kevin Barnes, Bruce Eckel, Bill de hÓra, you can find the treasure in my blogshelf, and it is still growing. If you cannot follow individual people, follow other aggregators and planets. Yes, nowadays I prefer a blogshelf to a bookshelf. Mind you, there are not only blogs, there are papers, experiments, even short books, wikis, but available online. These people not only help you understand theory behind the code, but they also push it to extremes to give you a glimpse of the possibilities. And that is what one needs to understand to be able to not only read the code, but also rewrite it for a particular scenario. That is it, they help me understand not only what a piece of code can do, but also what I can do with that piece of code.

So, are all programming language books dispensible? No, but I would say they are not sufficient. I will suggest read the online documentation, tutorials and follow the individuals who experiment with the language. The next time you lay your hands on a ready-made piece of code, google for the keywords and try to read what these individuals say about them. That will give you a much better picture and a much better understanding of what you can do with it.

Discussion [Participate or Link]

  1. Hrishikesh said:

    You make a valid point about programming language books. Its far better to supplement your reading with blogs and online tutorials – as those are written by people who have already ‘been through it’, have already encountered the hidden corners of the language/technology.
    Ploughing through a book alone would take a really long time to grasp all the nuances, especially as you would have to go through all the experimenting by yourself. But I would say some degree of restraint should be maintained while aggresively following this philosophy – unless you’re really constrained by time factors and have to churn out something fast.

  2. engtech said:

    I used to think the same way, but then I started picking up books about programming languages I thought I knew well.

    I could always find something in the book that I had completely missed out in my online trawling for information.

    Now I go for a mixed approach, and usually searching through the index of a good book will give me better results than 10-15 clicks in a Google search.

  3. Binny V A said:

    If I run into any doubt while programming, I google it. I find it easier than wading through a book. I may even engage in a bit of copy-paste. But I will never, EVER, put some code into my application unless I completely understands what it does. If I find that I cannot understand a bit of code that fixes my problem, I study it until I understand it – then I add it to my code base(depending on the license of the code).

  4. Reg Braithwaite said:

    Good point, although I like to read books cover to cover. But the post you linked (thank you!) wasn’;t really about reading a book cover-to-cover, it was about looking certain information up in books instead of in rdocs or other media intended to be used as references.

    Once upon a time, it could have applied to looking things up in instructional books instead of in reference books. If (big if!) you have a good instructional book, when you look something up you will find more than the answer to your question.

  5. » Daily Bits - February 11, 2008 Alvin Ashcraft’s Daily Geek Bits: Daily links, development, gadgets and raising rugrats. said:

    […] Learn, But Not Necessarily Through Books (Abhijit Nadgouda) […]

  6. raveman said:

    books and tutorials many times are written by bad programmers. i remember on of my first hibernate tutorials was 20+ lines of code in main method. Any many people put everything in main method(or one method)? why ? ;>

Say your thought!

If you want to use HTML you can use these tags: <a>, <em>, <strong>, <abbr>, <code>, <blockquote>. Closing the tags will be appreciated as this site uses valid XHTML.

freshthoughts

contactme

Abhijit Nadgouda
iface Consulting
India
+91 9819820312
My bookmarks

badgesand...

This is the weblog of Abhijit Nadgouda where he writes down his thoughts on software development and related topics. You are invited to subscribe to the feed to stay updated or check out more subscription options. Or you can choose to browse by one of the topics.