Joel on Software
Feb 24: Miami:
Future of Web Apps

Wanted: Coverago Engineering (Software Developer - all levels) at Coverago (Newark, NJ). See this and other great job listings at jobs.joelonsoftware.com.

2002/05/06


This item ran on the Joel on Software homepage on Monday, May 06, 2002

Why Religious Wars are Stupid

Yesterday I made what I thought was a lightweight claim about how the "choice" of languages in .NET is not as much of a choice as you might think.

Some people assume that this means I am against .NET, or I'm "clueless," because I don't understand the productivity benefit of managed code.

OK, they didn't read what I wrote less than a month ago praising the productivity of .NET.

Of course, when I wrote that, some people assumed it meant I was for .NET, and dug up an old article from two years ago in which I complained that an early white paper on .NET didn't say anything. (It was true, the white paper didn't, and .NET didn't ship for 2 years). So I'm a hypocrite because I used to be against .NET and now I'm for .NET.

Anything as complicated as .NET is bound to have many positive aspects and many negative aspects. Duh. The stupid thing about religious wars is when one person says, "you don't get as much language choice as you think" and the other person says, "you are clueless, because you're 4-6x more productive!" What a waste of time.

The World Is Complicated. Get Used To It.

Some people can't. Look at how angry Michel gets because I point out that (a) features sell products and (b) choices reduce usability. So? The whole point of design is that you have different goals that you need to resolve. Want to design a trashcan for street corner? You have to make it light so it can be emptied easily. You have to make it heavy so it won't blow away. You have to make it big so it will hold lots of trash and the trash won't blow out. You have to make it small so it won't take up too much space. You have to make it easy to throw trash in so people don't miss and litter. You have to make it hard for trash to get out so when it's windy the street doesn't litter itself. Design is all about making hard choices and, hopefully, sometimes, hitting upon elegant solutions that solve conflicting goals. But when you can't solve conflicting goals, you have to be smart enough to decide which goal to solve, and not just be a lazy punter and pretend that adding a checkbox to the options dialog will solve it.

Boom

Don't use Verisign. They suck, and there's no reason to use them. I've been using register.com for domain names (although namebargain.com is cheaper and run by register.com with the same excellent interface) and Commercelock, also run by register.com, for digital certificates. Commercelock is actually provided by Baltimore Technologies which charges a heck of a lot more for exactly the same thing.



Oh, and by the way: My company, Fog Creek Software, has paid internships in software development for qualified college students. They're in New York City. Free housing, lunch, and more. And you get to work on real, shipping software with the smartest developers in the business.

About the Author: I’m your host, Joel Spolsky, a software developer in New York City. Since 2000, I've been writing about software development, management, business, and the Internet on this site. For my day job, I run Fog Creek Software, makers of FogBugz—the smart bug tracking software with the stupid name, and Fog Creek Copilot—the easiest way to provide remote tech support over the Internet, with nothing to install or configure.

Enter your email address to receive a (very occasional) email whenever I write a major new article. You can unsubscribe at any time, of course.

Email:

 
Home | Email | Bug Tracking Software | Remote Assistance | Complete Archive