Since I started my career in software development, I've read and reviewed code in a variety of languages. In each of them, I believe I've learned a few things. I haven't always learned what to do, sometimes it's been an informative overview of what not to do. Regardless, I thought it'd be worth sharing my notes here:
Classic ASP – I feel a certain appreciation for Classic ASP. Not only is it the first code I wrote above the byte-level, but it resembles old PHP3/4. Unfortunately, it hasn't evolved much since that time. When you find a Classic ASP app, you can count on page after page of HTML validation errors, minimal css and table-based design, and behavior that is inconsistent on anything other than IE6.
If you have more lines of html validation errors than actual code, you might be a Classic ASP developer.
Java – There isn't a problem in existence that a framework can't solve. If there's a new kind of problem, it just needs a new framework. If the framework is your problem, wrap it in another framework. If that framework is a problem… you get the drift. That said, the Java community put the ideas of Unit Testing, Design Patterns, and Continuous Integration into the mainstream of development. A great contribution to be sure.
If you have Factories for your Factories or more layers of delegation than you have team members, you might be a Java developer.
Perl – When I worked at the Library of Congress, one of the bearded Unix Gurus crawled out of his cave long enough to scrawl this on the wall with a piece of charcoal:
“Perl is a write-only language… because there's no way you'll be able to read it later.”
If you've uttered “I'll just write some Regex…” more than 23 times in one day, you might be a Perl developer.
.Net – While some people believe .Net (VB.Net specifically) is just the next version of Classic ASP, they're horribly, horribly wrong. .Net applications combine Classic ASP's dismissal of Internet standards with Java's love of complexity to create an application that is indecipherable to users or developers… or any browser that is not Internet Explorer.
If you recently considered testing your application with “that Firefox thing”, you might be a .Net developer.
Rails – The Rails guys worked on the principle of simplifying the “crud” of the application that we burn lots of time on. Rails was built by some smart people and even better, they implemented the ideas (Design Patterns, Unit Testing, etc) of other smart people. As a result, they've determined that The Rails Way is The One True Way – no, seriously, there's even a book called The Rails Way – and as a result, there's a bit of an attitude…
If you've ever included porn in a conference presentation… no wait, that's not fair.
If you've released a single application and now consider yourself an expert, you might be a Rails developer.
PHP – And in terms of fairness, I can't leave PHP out. The PHP world has had problems with security, tend to abuse their databases, and some consider us “very rambunctious“. As a result, PHP is kind of a mutt language with room for everything from everyone. It has most of the benefits and drawback of the above languages combined with a long term effort of improving things.
If you've ever used the word “spaghetti” to describe your project, you might be a PHP developer.
If you've ever considered where the line between “drunk” and “effective coder” is, you might be a PHP developer.
If the words “haystack” or “needle” send you into convulsions, you might be a PHP developer.
/me dons a flame retardant suit..