Programmer brainfood
One of my favorite pastimes is scouring the internet for stuff to read. Much of the time I search for interesting articles about programming (in a broader sense than “just writing code”). These are the fruits of my labor. (This is taken from a post I made on a forum.)
Teach Yourself Programming in Ten Years
Many books claim to teach technical subjects in so-and-so days or hours. Peter Norvig disagrees with this approach and instead offers his own recipe for success, which includes teaching yourself over a span of ten years — not days.
Knowing Java is not knowing much
This article puts forth the idea that simply knowing a language doesn’t mean that you know a whole lot, whether it be Java, C, or something else. It’s a good, brief message.
I’ve seen a lot of people try to throw design patterns around to make things less painful, and while well-implemented ones can help out a whole lot, it doesn’t address a core issue: Design patterns show a deficiency in the language.
Static Typing, Dynamic Language Performance, V8 and Tracing JITs
“For optimisation, more is known about a program written in a dynamically typed language at runtime than is known about programs in statically typed languages at compile time.” Dynamic languages are getting much faster. This article drives the point that performance needn’t be a trade-off, and that the more you know about a program’s characteristics at runtime, the more it can be optimized.
This is an entertaining and long (transcribed) talk that Steve Yegge gave earlier this year. It goes over a *lot* of stuff (when he’s not rambling
) and may take a while to read through, but it’s still enjoyable.
Paul Graham argues that all languages were not created equally, and shares what he believes “power” actually means. This is one of my favorite articles, and I highly recommend it to all programmers. (It is at least worth reading the “blub paradox” section.) He has other interesting essays posted on his website as well.
From the comments: Someone once asked Somerset Maugham if he wrote on a schedule or only when struck by inspiration. “I write only when inspiration strikes,” he replied. “Fortunately it strikes every morning at nine o’clock sharp.” Not strictly for programmers, but just as effective!
Strong typing vs. Strong testing
Bruce Eckel of “Thinking in [Java, C++]” fame offers the argument that strong testing, even in dynamically typed languages, trumps the presumed safety of static type systems. (Note that “strong typing” here refers to static typing.)
Have some of your own? Feel free to share them!
Tags: programming, reading, self-help

November 12th, 2008 at 12:05 am
You should check out the articles at http://www.joelonsoftware.com; they’re quite good
I especially like this one: http://www.joelonsoftware.com/articles/fog0000000319.html
November 12th, 2008 at 12:11 am
Oho, thanks for reminding me. I’ve mentioned Joel Spolsky in another post but forgot to slide him into this one. One that I liked was “Things You Should Never Do, Part 1″ http://www.joelonsoftware.com/articles/fog0000000069.html
I’ve made that error before.
November 12th, 2008 at 11:12 pm
that’s a pretty cool article…hadn’t read that one before