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.
Design Patterns of 1977
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.
Dynamic Languages Strike Back
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.
Beating the Averages
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.
Write more to write better
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!