5 ms·
One was to write a book about programming. Your programs literally have to be exemplary. It was interesting how much work that took.
by pg 16y ago
One was to write a book about programming. Your programs literally have to be exemplary. It was interesting how much work that took.
- runjake 16y agoI usually don't upvote pg's comments, because he could say "I like turtles." and get 1,000 upvotes, but pg's advice here is gold. You should do this. You don't even need a publisher, you could approach your topic like Zed Shaw did with "Learn Python The Hard Way". Or you could do a series of blog posts. You WILL get feedback and this will improve your skills.
- davidw 16y agoIf you're only focusing on the 'writing really good code' aspect, sure. But in the wider world, writing a book can be a spectacularly bad way to invest your time. I've made way more money from my "Slicehost vs Linode" article than I have from my portion of "Tcl and the Tk Toolkit, 2nd edition", even though the latter required a ton of hard work.
- aaronblohowiak 16y agoI think the value is in the writing itself, not the monetary feedback.
- davidw 16y agoYes, I acknowledged that - but I think that most people would do well to at least consider the other aspects of writing a book as well.
- projectileboy 16y agoTotally agree. I have a whole series of "Using ..." tutorials that I've written, just for the purpose of learning - having to write in a style where you're explaining something to others forces you to truly understand the subject matter. As an added bonus, you then have some handy reference materials.
- Confusion 16y agoOr you could use code reviews. At work, every few weeks, I'm obliged to start a code review and have others take a stab at my code. Of course I want that code to be nice, concise, readable, understandable, well documented, well tested, etc, because they will all be looking at it very closely. It has worked wonders for the overall quality of my code.
- te_platt 16y agoThat's a good example of how much you learn by teaching. To paraphrase Richard Feynman - That which I cannot teach I do not understand.
- abecedarius 16y ago"What I cannot create, I do not understand." -- http://en.wikiquote.org/wiki/Richard_Feynman http://en.wikiquote.org/wiki/Richard_Feynman
- michael_nielsen 16y agoOne of the best ways to improve any skill is to exercise the skill in public; the more demanding the public the better. This is true of writing and of speaking and of most kinds of research. Advice like "get a mentor" or "work with the best" or "learn by teaching" is also a special case of this general principle. We become what our friends demand us to be.
- pyb 16y agoYes interesting, could you please get into more detail ? Can you remember how long it took to write the On Lisp code ? And was writing the text quicker than the code ? Was it a lot easier to write Ansi Common Lisp afterwards ?