[Comment removed by author]
I don’t know what your definition of “youngster” is, but maybe I fit that description – mid 20’s, and have really only been seriously writing code for a few years. I love James' blog, because he seems to have an excellent perspective on development that I find myself agreeing with regularly (and I can’t say that I’ve ever really disagreed with him).
Here’s a couple of points using some of his recent posts as an example:
The Silent Majority of Experts: Before lobsters, I hadn’t really ever contributed or commented on a site like stack overflow or hacker news; most of my sharing was on IRC. As I talked to other people, I realised a lot of people are busy actually doing things and don’t spend time answering questions online (except, in my experience, on IRC) or writing blog posts. There are several people I respect that provided interesting perspectives on a couple of “unhip” languages, particularly Perl. Perl is interesting because it was the first language I really found with a centralised package / library repository (CPAN) and one that seems to be omnipresent on the internet. Almost everyone I know who has been around has written their share of Perl and a lot of systems run that are taken for granted because they are behind the scenes and not really user-facing, but are critical for the proper functioning of the internet.
One Small, Arbitrary Change and It’s a Whole New World really highlights that sometimes a seemingly small change (or design decision) can have a lot of second and third-order effects that will affect the life of the software over time in ways unpredictable when the decision was made. One area I’ve seen this in is when concurrency gets added later; sometimes it becomes extremely difficult to just refactor to get stable code; often times entire sections have to be rewritten to account for this change because the original assumptions didn’t account for later changes.
I’ve not been one to really care much for discussions over this coding philosophy or that one. Keeping in mind Your Coding Philosophies are Irrelevant and The Most Important Decisions are Non-Technical, coupled with my experience with the OpenBSD crowd’s “shut up and hack” philosophy, has taught me to value working code that does its job well over writing it in the latest and greatest language or using $hip_methodology.
It’s late and I’m pretty tired, so hopefully those make sense.
I’m a youngster and I tend to agree with his posts. I think his points are not very controversial for anyone who has programmed for a bit.