This year, 2008, was a year that saw many a new term or expression get ingrained in the minds of us .NET developers. Quite a few I’d rather not see in the next year, as they’ve overstayed their welcome. Some are catch-phrases, some are misapplied concepts, and others fall into the “make my brain hurt” category. Regardless of where they came from, here are ten .NET things I’d like to see make a graceful exit in the new year:
1) Open Spaces
I love me some open spaces, as I’ve had some great experiences with both the Austin ALT.NET Open Space and the recent KaizenConf open space. But somewhere along the way, a great idea got usurped, strangled, mangled and mass-produced into some kind of buzz-word hippie-fest where we sit around in circles and sing kum-by-ya. There’s a book on the subject, yet, just like Agile, a non-agenda for a conference became associated with Open Spaces. CowboyConf != Open Space. What comes after FooBar Conf? Wait, I know, it’s ScheißenConf.
2) Any MS ORM
First was the EF Vote of No Confidence, then the realization that EF was worse than we thought it was, then a little LINQ2SQL love, then a sad realization that L2S was going away. A popular, widely used, commercially supported ORM for .NET already exists. It just doesn’t come from the left coast.
Speaking of MS ORMs, has anyone else noticed the breeze blowing from all the hot air surrounding the new “experts” in the nascent technologies coming out of Redmond? If it’s not in Beta yet, you can’t be an expert unless you’re on the dev team. Being an expert in a product doesn’t mean you’re an expert in the field, that’s two entirely different purviews. Any time a new acronym rears its ugly head, you can bet there are several book deals, speaking engagements, articles and consulting gigs lined up to take advantage of a yet-to-be-proven technology. It would be amusing, if it didn’t drown out the useful conversations.
4) LINQ 2 Your mom
LINQ query expressions (not just the extension method operators) opened a whole new world of internal DSLs for .NET developers. Unfortunately, the compiler hooks to open up the “from…where…select” goodness were not made public, so the really interesting boo-like applications were left in the dark. Instead, we get treated to weirdness like LINQ 2 Amazon and LINQ 2 WoW. What was that Jurassic Park line? “You were so preoccupied with whether or not you could, you didn’t stop to you if you should.” Unless you really understand what the LINQ operators are doing under the covers, and what the underlying IQueryProvider object is doing underneath the covers, you’re just creating a hot mess.
We have enough acronyms driving our design. DDD, TDD, BDD, SausageDD, let’s call the whole thing off. Unless you can define what these concepts/architectural styles describe, imply, infer in one volume, let’s just not talk about it. Underscores in a method name don’t count as a sea change, paradigm shift, quantum leap or revolution. The only caveat is if there is a Big Blue Book on the subject, which means it’s a game changer. Cherish that bible.
6) Feeding the trolls
Productive: (adj) Yielding favorable or useful results; constructive. There are certain folks in our community that, when provoked, will actually respond to your inanity. Do us all a favor, just shut up, and don’t provoke.
7) Fluent interfaces
Yes, you found the magical mystical extension method! It’s a miracle! Now put that hammer down, my face is not a nail. Just like #4 in this list, we’ve taken a useful idea in internal DSLs, and fouled it up just like you knew we would. You know what’s a great DSL? HTML. If I have to have two dozen characters, parentheses, angle brackets and percent signs to create “<form>” tag, something went awry. Clever is rarely simple, and unless that fluent baloney improves the situation, you’re a glorified code-sturbater.
8) The BCS
Nothing to do with coding, except that computers help decide who is in the NCAAF championship, where millions of dollars are at stake. One thing can be certain, Mizzou will never, ever vie for the title. Ever.
Nor Texas Tech.
Just thought I’d throw it out there, as I know someone reading this has the pull to make it happen.
It’s no coincidence that one of the XP values is Courage. Though we pride ourselves in pushing the envelope and branching out, why are we the quickest to bash a new concept? If you signed the EF VoNC without even looking at EF, you’re subtracting, not adding. Walk a bit in those other shoes before dismissing the framework, tool, concept or idea. Courage is trying something new despite all your inclinations not to. Think TFS is garbage? Try it out. Think SVN is for pinko FSF weirdos? Give it a week. Funny how the loudest protests come from those with the most ignorance.
10) Bold typeface in blog posts
One of my bigger pet peeves is anything in bold. It’s a cheap trick to grab attention, yet it always works. Yes, Atwood does it all the time and although it grabs attention, it’s the blogger equivalent of that dork that “quotes” “all” “his” “words”. The last thing we need is another cookie-cutter Atwood knockoff.
11) Top ten blog posters that can’t count
The worst offenders of all are those morons that create top-ten lists to grab attention and readers, yet can’t count. Oh wait…