Posts
1150
Comments
891
Trackbacks
1
Bad Analogy Time Again: Alt.NET Libertarians

Standard disclaimer:  Everything is analogous to everything else, just as everything is different from everything else.  So, what I'm going to do is create an analogy, an admittedly bad analogy, to explain something I think about Alt.NET.  And not really about Alt.NET per se, but just some members in it.  And not really about Alt.NET but about certain personality types.  But I digress.

Additional disclaimer: I thought of different things besides Libertarianism to make the point I'm trying to make.  I wanted to exclude things like Scientology and Objectivism, because everyone accepts those are nutty, and I don't want to imply that certain Alt.NET types are nutty.  Well, yes I do, but more explicitly (not just by implication), and really more along the lines of 'wacky' since I think 'wacky' is better than 'nutty.'  Since the statistical part of the argument is an important one, and since most people will have at least a vague idea of what Libertarianism is (or will get it from the descriptions I give that are relevant), I went with it.

Additional Additional Disclaimer: if you are a strong supporter of Libertarianism, you will most likely be offended and/or quibble with some or all of my description of it.  That's okay, just keep in mind that I don't care.  And if you are a strong supporter of Scientology and/or Objectivism, God bless you and good luck.

Recent discussions by the Austin Bobbsey Twins (Jeremy Miller and Chad Myers) brought this post about (actually, comments by Myers and Ayende on the EF Wiki brought this about, but Miller trumps Ayende in this case, for reasons that may or may not be clear later, not to mention the fact that I waited so long that I can't find the actual damn comments...maybe later, so I'll rely on paraphrasing, that can't be problematic).

There are a couple of trends that have become very apparent over the last few months, some good, some maybe not so much.  Since I'm a contrarian, I'll concentrate on the 'maybe not so much part' and try to explain it a bit by talking a little bit about Libertarianism.

Since Libertarianism is very hard to define (according to Wikipedia, and Wikipedia can't be wrong), I'm going to define Libertarianism accurately enough to fit my topic, but geared specifically to my purposes.  Libertarians, in general, emphasize the importance of individual liberty and individual action above all else, especially in the political and social spheres, and, in conjunction, to minimize or even demonize actions of the collective and/or the state.  There are many different aspects to this.  One common aspect is the belief that "The extent of my liberty ends at my fist", which is to say, I have the right to say or do almost anything, as long as it does not cause any direct, immediate harm to another person.  Thus, for instance, a libertarian might argue in favor of the legalization of drugs (they would object to the fact that drug use needs to be legalized in the first place) by stating that my potential act of shooting myself up with <insert illegal drug here> harms no other person directly.  To the potential counter-argument that there are other indirect costs/harms to the use of drugs, a convinced libertarian would respond that those indirect costs/harms can be addressed by other means, outside of banning the drug use itself.  In fact, a convinced libertarian would argue that the burden of proof should rest on those that want to ban individual actions.

It is equally important to talk about the minimization/demonization of acts by the collective and/or the state, carrying on from the previous example.  The act by a group or a government to limit or prohibit the consumption of certain types of substances is an act that limits or prohibits the liberty of individuals.  As such, from the libertarianism perspective, that act needs extensive justification or it should be expressly rejected (really, really, really convinced libertarians would say these liberty-restricting acts should be rejected always).  It's not just that I have liberties, but also that no group should have the right to interfere with them (an interesting thought is whether a really, really convinced libertarian could object to the act of one single individual to restrict the liberty of another single individual...strictly speaking, I think that should be regarded as okay, and dependent on which individual is stronger).

Having said all that, and talking about the use of drugs (just say no, kids), ignore all that, and consider the following example.

Wherever you live, you undoubtedly have a police force.   Ignoring the real life problems of corruption and whatnot, the police force exists to enforce the peace, and to do so, it limits the liberty of individuals.  Libertarians don't like police forces (at least really, really convinced ones), but the fact is that in the real world, police forces exist for a reason, and no community/state/government could exist without one, and pretty much all non-libertarians accept this.

Here's where it all ties into Alt.NET.  There are very strongly held convictions by some members of the community that sound obviously correct, and obviously positive, and obviously to be practiced.  And, I think, they are.  But just not in all situations.  And here is where the problem starts.

I'm going to use v1 of the Entity Framework as the example here since it is the common topic.  For those of you in the .NET developer community not living under a rock, EFv1 is this thing coming from Microsoft in .NET 3.5 SP1 that is going to impact everything under the sun.  SQL Server 2008 and Visual Studio 2008 SP1 are the two things most immediately to be impacted, but it looks like EF will affect/infect (had to include that) mountains of code coming from Redmond in the next few years.  And certain Alt.NET types hate it.

Why?  Well, if you want the list, go read the Vote of No Confidence and you'll get a bunch of reasons.  Reading the vote again tonight, it reads as reasonable and correct.  Except that it ignores the real world (where the 'real world' simply means the greater .NET developer community).  Most of the real world doesn't use TDD or care about Persistence Ignorance and does use Data-Driven Development.  And though I believe that TDD, so-called Persistence Ignorance (I think the term is a misnomer but that's another debate), and following DDD are all good, I think this real world 'ignorance' is justifiable and good.  In many instances, it is possible to use data-driven development to good use, and EFv1 helps with this.

And while Chad can rail (pun intended) that he is a real-world developer, his comments on the EF Wiki to the affect that one should just walk away from clients that don't fit his definition of good practices proves him otherwise.  And while Jeremy can call anyone who disagrees with him a troll (and to be clear, I have been one from time to time, but I'm generally pretty clear on when I'm being one), his mirrored insistence that anyone who disagrees with the vote is ignorant is, well, ignorant.

As a general rule, I think that almost all of the advice that one can read on the Alt.NET mailing list, or blogs of the luminaries that accept the Alt.NET label, is something one should consider following, despite all the name calling.  Except when it is wrong.

In other words, when an Alt.NET Libertarian tells you that a police force is bad, ignore them.

Or something to that effect.

posted on Wednesday, July 30, 2008 1:35 AM Print
Comments
Gravatar
# re: Bad Analogy Time Again: Alt.NET Libertarians
Brian
7/30/2008 11:30 AM
That's a long way of saying that business' (ITS shops) aren't college campus' and the real world is more concerned with being pragmatic than being 'text-book' right.

Again, the term 'developer preference' and 'best team solution' has gone AWOL over the last few years, and the term 'everything looks like a nail' seems to becoming one of my most repeated remarks on blogs and discussions.

Right/Fast/Cheap, pick two - we all know that one, but:

DeveloperA.Right != CompanyA.Right
DeveloperA.Right != DeveloperB.Right
CompanyA.Right != CompanyB.Right
ItsShop.Right != Vendor.Right
ProjectA.Right != ProjectB.Right

Does this mean nobody is wrong, heck no, but it doesn't mean just because someone doesn't use the same technology as you that they are inferior.

Our community is getting to into finding solutions for problems that don't exist, applying solutions to problems without understanding the core problem, and in general becoming very black and white. I find these things in *certain personality types* (same disclaimers as above) in the Alt.Net community too (from what I read on blogs).
Gravatar
# re: Bad Analogy Time Again: Alt.NET Libertarians
jdn
7/30/2008 12:37 PM
It isn't so much about college campuses, but that technical design is only tangentially related to business value.

The criticisms of EFv1 are, as I said, totally accurate, from a certain technical point of view. But they don't really have much to do with the business value of EF as a whole.

The fact that some people think they've discovered the holy grail of programming and so are condescending towards people who don't agree with them is just an additional irritant.
Gravatar
# re: Bad Analogy Time Again: Alt.NET Libertarians
jdn
7/30/2008 12:37 PM
It isn't so much about college campuses, but that technical design is only tangentially related to business value.

The criticisms of EFv1 are, as I said, totally accurate, from a certain technical point of view. But they don't really have much to do with the business value of EF as a whole.

The fact that some people think they've discovered the holy grail of programming and so are condescending towards people who don't agree with them is just an additional irritant.
Gravatar
# re: Bad Analogy Time Again: Alt.NET Libertarians
Brian
7/30/2008 1:04 PM
>>The fact that some people think they've discovered the holy grail of programming and so are condescending towards people who don't agree with them is just an additional irritant.

1000% agree. That's hitting the nail on the head. That exact statement I will use that next time I'm dealing with someone implying unless it's some form of MVC it's not a real application (in particular I speak of web applications, but it applies at the general level too).
Gravatar
# re: Bad Analogy Time Again: Alt.NET Libertarians
Market Anarchist
7/30/2008 3:55 PM
"It isn't so much about college campuses, but that technical design is only tangentially related to business value."

Yikes! Perhaps this thinking is the problem. This must be why Jeremy et. al. are so emphatic...

That aside, as a real real real libertarian and someone who subscribes to your blog for the simple reason that you're a dick (oops, 'contrarian'), you did a pretty good job of summing up libertarianism in general/on the whole. Kudos.
Gravatar
# re: Bad Analogy Time Again: Alt.NET Libertarians
jdn
7/30/2008 4:31 PM
@MA

'Dick', 'Contrarian', it's all semantics.

What with my Ph.D. in Philosophy you know, I figured I could get Libertarianism half-way close on memory.

Seriously though, you really think technical design is more than tangentially related to business value? I mean, actual business value, not potential.

AFAIKT, while the marketplace may kill your business because your technical design is poor, it will not accept your business just because your technical design is good, elegant, etc.
Gravatar
# re: Bad Analogy Time Again: Alt.NET Libertarians
Market Anarchist
7/31/2008 11:31 AM
Speaking of semantics, perhaps I should have payed more attention to the word 'tangentially'.

Is good technical design valuable? Yes, of course. Does it *create* pure business value? No, probably not.

Is it a *competitive advantage* to have enterprise applications that are easily maintainable and extensible? Yes, absolutely.

So, I think the point is that if you're whipping up an app to get some functionality out the door for the biz to use, and the EF helps you do that more quickly and easily, awesome. Go with it. But if you're responsible for writing an app that needs to be very architecturally extensible, the EF may not be the way to go. The EF is less 'agile' than it could be. Architects, leads, managers, and grunt devs (like me) need to be aware of this if their overall goal is to make their organization more competitive.

But what do I know? I think police and courts should be privatized...
Gravatar
# re: Bad Analogy Time Again: Alt.NET Libertarians
jdn
7/31/2008 2:15 PM
@MA

I think your response is worth a follow-up post.
Gravatar
# re: Bad Analogy Time Again: Alt.NET Libertarians
Brian
7/31/2008 4:53 PM
@MA

So you have input on how to make your organization more competitve? WOW!

Grunts, and my fellow grunts, are just grunts, and whipping boys for management with no experience writing software that tell us how to write software.

We fight tooth and nail to improve the littlest things and when we win one (usually after losing 3 or 4 talented developers in the process) we rarely have the energy left to continue on to the next fight.

It must be really cool to work somewhere where your input is asked for AND acted upon!
Gravatar
# re: Bad Analogy Time Again: Alt.NET Libertarians
Ryan (MA)
8/1/2008 10:43 AM
@Brian

The input I have is directly proportional to the discretion I have over the architecture and other technical details of my app.

@all

The ALT.NET podcasts featuring Jeremy and Ward Bell are worth listening to. I don't here Jeremy saying things like 'The EF is totally evil and should never be used. NHibernate is the end-all be-all.' I hear him saying, 'I want something better than NHibernate. MS can do this. Right now they're going down the wrong path. Let's push them in the right direction.'
Gravatar
# re: Bad Analogy Time Again: Alt.NET Libertarians
jdn
8/2/2008 3:11 PM
I have listened to the podcasts. The confusion is in thinking Jeremy's opinion (and he's of course representing a number of people) is 'the right direction' as opposed to his opinion that EFv1 does not allow him to program 'in the way that I prefer' (if I recall what he says at the beginning of episode 8).

Those are not identical. Jeremy hints at that in places in episode #8, but (and this is something that will be in the follow-up post) if you can accept his opinion that Microsoft tooling has tended to ignore (if not outright hinder) the hard-core developer, the hard-core Alt.NET positions can really negatively flip things in the wrong way.

Post Comment

Title *
Name *
Email
Url
Comment *  
Please add 7 and 1 and type the answer here: