Giving Up on Microsoft

Wow – a list of 9 items you “have to install” to do .NET Framework 3.0 development. The only problem is that none of them actually have to be installed.

Here’s the list of what you actually “have to install” to develop with .NET 3.0:

* Microsoft .NET Framework 2.0 Redistributable Package
* Microsoft .NET Framework 3.0 Redistributable Package

If you happen to be running Vista, both of these are pre-packaged, so there is absolutely nothing to install.

I just find that the best way to have fun in this Open Sores vs. MiSFiT (MSFT is Microsoft’s NASDAQ symbol) war that is going on is to:

a) when surrounded by open sores fanatics, state how wonderful MiSFiT is and defend it with a religious blindness.
b) when surrounded by MiSFiT fanatics, state how wonderful Open Sores is and defend it with a religious blindness.

Won’t make you lots of friends but it is humourous to watch people’s faces contort and listen to their frustration grow as you blindly rebuff their arguments with whatever stupid rationalization occurs to you.

Hi Jeff. Hopefully you can at least give me credit for a reasonably nuanced view. I still think Microsoft makes a lot of superior tools, and if I were choosing an IDE purely on technical merit, I’d still be using Visual Studio. Unfortunately, I think that sort of thinking is long-term counterproductive while the company remains a threat to the very profession of software development (and yes, I mean that literally). I’ve developed that point in somewhat more depth in other posts over at A Fresh Cup so I won’t rehash it here.

As for the coverage at Larkware, I simply won’t write about things that I can’t cover with authority. As I’m not using Vista, .NET 3.0, Office 2007, or any of the tools that come after them, that knocks a lot of the current .NET developments off my radar, and lowers the amount of material I have to work with considerably. I expect to shutter the doors over there by the end of the year.

I have the same opinion about this issue/conflict.

I too understand its point of view, and mainly the reason to give up… The constant change (mostly innovation) Microsoft makes on the programming world (at least theirs) can make some programmers despair. Especially if they tend to follow Microsoft every move: on web development, desktop, operating-system, plataform (.net), etc

Not every product Microsoft releases should be seen as the right to use… There are great alternatives and some even better.

I really think with the latest improvements in Mono/.NET, Silverlight, etc… software should start to be more independent and not locked into Windows or other OS.

“I haven’t heard of an IDE better than Visual Studio. Do Perl and Python developers even HAVE an IDE, or do they just use vim or Emacs?”

It depends on your definition of “better” :slight_smile:

Python devs had IDLE, which works great for Python development. It allows you to write you programs, execute them, and manipulate them at runtime. Smalltalk VM’s are also IDEs. Apple developers have been pretty happy with XCode and Interface Builder (which is a much better way of creating user interfaces, from the MVC point of view, than Visual Studio has had pre-WPF.) Rails devs swear by TextMate and I can see why. It has great built in macro expansions built just for Rails. You don’t have to remember all the syntax for migrations. Just type “mcol” and hit tab, just like code snippets in VS 2005.

Perl devs are Perl devs. :expressionless: Bless their hearts.

"name any startups that use Microsoft development tools?"
There’s one here in Seattle. Jott.com. But it was started by a ex-Softies. There are a TON of companies in Redmond and Bellevue started by ex-MSFT employees and they all use MS tech. Built around Sharepoint, BizTalk, etc… You just don’t hear about them because they are trying to do REAL work, not just Web two-dot-oh stuff. :wink:

The MS startups I’ve seen generally fall into two camps. The “I worked on this product at MS and I can make it sing, here’s my hammer, where are the nails?” camp and the "I have had enough of this MS CRAP! " camp who gravitate towards anything !MS. The second camp always gives me pause. What do they know about MS that I don’t?

For my part, I practice a “coding to the bar” methodology. I use whatever tools and processes allow me to finish my work quickly and go have a frosty adult beverage at my local pub.

Hi Jeff, I’ve been a pretty regular reader of your blog for awhile now, and it’s always interesting and thought provoking. I couldn’t agree more with this post. I come recently from an extreme case of this in that I used to work at Sun Microsystem as an architect in the software division and 3 months ago left there for a position at Microsoft. It was amazing to me the reactions I got from my co-workers and people I knew in the industry. Everything from the joking “evil empire” comments, to those that still won’t communicate with me because I have sold out.

For me I made the move because I love designing and building software and I wanted to go to a place that seems to be able to deliver a lot of software. It also seemed like a great opportunity to learn a completely new set of technology and a whole new stack. That is half the fun of the software industry, there is always something new to learn out there. What I’ve found since starting is that the technology is not the only thing to learn, the different perspectives and approaches to building software between the Java community and the MS community also provide tons of opportunity. I think that the industry as a whole could certainly benefit from more cross learning from each other in so many different ways. I hope your post will be a wake up call to people!

Thanks,

MikeD

“If you had to pay for all the development tools yourself, would you?”

This is possibly the most important point that has been made in this comment thread yet. I’ve been working with MS tools professionally since '95. Been using them since VB4 and ran every flavor of DOS and Windows made to date on the x86 platform. I’ve paid for two pieces of MS software with my own money. A student priced Visual J++ when it came out and a starter edition of VB 5. Every other piece of MS software has been provided by my employer. I wonder just how many developers would start out learning on MS tools if they had to pay for them instead of pirating them, getting them for free at an MSDN event, or getting them from the companies MSDN subscription? The smartest thing MS ever did, developer tool wise, in my opinion is make the Express line free. They should include them on every install DVD of every version of Vista.

Why are a lot of startups using OSS? You get to:

  1. make the business people happy by lowering the initial cost of development
  2. make the developers happy by giving them new tech and toys to tinker and learn with.

In fact, as Miguel pointed out during the open source panel, he’s disliked by both camps: open-source zealots think he’s sold out to Microsoft, and Microsoft zealots think he’s destroying the value of the .NET platform.

Yeah… its a shame. That’s why I instantly shut off any communication with other developers who are closed minded enough to pick ANY camp over ANY OTHER camp, including but not limited to operating systems, data abstraction layers, data access methodologies, anti-pattern zealots, it doesn’t matter. If you close your mind off to something just because you don’t like it, you don’t deserve to be considered logical.

Every tool has its use, and every bolt has its place. Refuse to use a tool because it doesn’t fit into the project’s scope. Not because you are a whiny little snot.

In the instance of Mike, however, I definitely do understand. I went the opposite direction a few years back when .NET was first really starting to make waves. I came from a Linux background… 8 years… and still occasionally do work in PHP, Perl, Python, shell script, etc. when I must. But I got tired of it in just the same way… so I try my best to avoid it now, if at all possible. However, I do respect it and still carry a little bit of love for it, even though I’ve left it mostly behind. For me, it was more because I burned myself out on it. Shrug.

Again, great article Jeff, and I couldn’t agree more that Mono is a very phenomenal project. I only met Miguel briefly at a town hall meeting in Second Life when Phillip Rosedale was talking about possibly shifting all of SL’s scripting engine over to Mono. Miguel was standing next to me and shouting, “Phil! Phil! I’m Miguel! I am a developer on Mono! Please talk to me if I can help in any way!” :slight_smile:

Good times.

Well said, sir, well said.
Didn’t this kind of “us versus them” mentality cause America to be divided during the last Presidential election? I don’t want to morph software engineering into political issue, but understand what other parties are doing is such an important factor to be united again.

Re: the love/hate relationship with MS:

With the Microsoft stack you don’t get to mix and match the components. MS very much wants you to code to their APIs and their runtime. It’s an all or nothing deal. Since many developers would like to choose different components instead of just using whatever MS provides, they are ‘forced’ by MS into the ‘all or nothing’ choice.

All said, MS has brilliant people bringing us fun toys like Linq, Silverlight, and the DLR. :slight_smile:

Bob

Why does it have to be an all or nothing proposition?

Because Microsoft, for the most part, tries like hell to make it that way.

Thanks for the link to the fonts! I had not seen these yet, and I’m a font freak.

Oh yeah, great post!

From the blog:
“If, after getting your feet wet on both sides of the fence, you decide the other half is living better and you want to join them, then I bid you a fond farewell.”

I can’t afford to “get my feed wet on both sides.” My work involves PHP, Apache, and MySQL. To test the water on the other side, I would need an XP (or Vista) license, a MS SQL license, and Visual Studio (to learn ASP). Rather than pay for these licenses - just to see what advantages and disadvantages MS offers - I have to go with legally free software.

I respect those who develop on MS platforms, but I can’t justify the cost for me to purchase the licenses just to check it out.

To some people, the costs would be worth it, but I’m a coder in a small town (pop. 10K) in Arkansas. Even if I were to convince my employer to buy the software, I know it wouldn’t be a wise use of company funds.

I guess my point is: a Microsoft developer can use most of the popular open-source software available, because most of it is free. An open-source developer has to set aside funds and invest in Microsoft software.

I don’t understand the all or nothing approach that a lot of people seem to take with development. The “I’m a MS developer” or “I’m an open-source guy” or “Rails forever!”.

On a daily basis I’ll use Visual Studio, classic ASP, ASP.NET, Delphi, PHP and Ruby. I’ve used both Microsoft and non-Microsoft tools for as long as I’ve been developing. For desktop apps I use Borland’s Delphi, it’s still the best tool for pure Win32. For small clients I suggest PHP or Rails and usually larger ones or ones already going Microsoft I’ll go the Visual Studio + ASP.NET route.

In all my years of development I’ve never aligned myself with any one tool, to me that’s like saying “you know, I’m really a hammer guy. Those screwdrivers are for the corporate guys.” I didn’t think knowing multiple technologies from multiple vendors was so rare but I’m starting to think that’s the exception instead of the rule as I read more and more of these types of blogs.

My theory is, you use the tool that works well for the job and don’t worry about which one you used. No tool, language or framework is perfect and sometimes it’s just as easy to learn a new language as it is to fight with your current one.

P.S. If you think your development “stack” is large, check out mine…

Windows Vista
Visual Studio 2005
SQL Server Express SP2
Visual Studio 2005 SP1
Visual Studio 2005 SP1 Update for Vista
ASP.NET 2.0 AJAX Extensions 1.0
ISAPI Rewrite
Subversion (for version control)
TortiseSVN (again for version control)
PHP
Ruby
Rails
MySQL 5.x
CodeGear (Borland) Developer Studio 2006
CodeGear (Borland) Developer Studio 2006 SP2
CodeGear (Borland) Developer Studio 2006 Hotfix Rollup

Plus of course all the other developer things I can’t live without:
Firebug
Fiddler
GExperts
Development components like RemObjects, DevExpress, etc.
The best logger out there, Gurock SmartInspect
A solid text editor, TextPad or the new Window’s TextMate-like "e"
Mongrel
CodeSmith
.netTiers
SQLyog (for managing MySql)
SQL Server Management Studio Express (for managing SqlServer)
SQLiteSpy (for managing SQLite)
prototype (for javascript)
JQuery (because I like working with that as well)

And that’s knowing that I’ve probably left a handful out.

To the person wondering (rather derisivley) whether Python developers even have an IDE:

Did you read the same blog post I did? The one I read was about learning how the other half live, not putting them down.

I will accept criticism of using Emacs as a development tool from anyone who has learned it deeply, who slings Lisp in their sleep, and who has decided the prefer Visual Studio. And I will accept IDE criticism from those who have been using Visual Studio for years (or Eclipse, or whatever) and know it deeply.

From everyone else, sorry, but if you only know one, or half of one, you aren’t really informed enough to sway me from my path. This is exactly what I take from Jeff’s post: you must really learn the other way before rejecting it. Once you do, you may appreciate the things you used to think were problems.

Totally how i feel! I love being a MS developer, but if you have an open source fetish, power to you!
I’m constantly stealing good ideas from my friends working with OS technologies to use on my MS projects. It pays to have a diverse peer network no matter what industry you’re in.

Funny timing: we just had one of our newest teammates explode today because we’ve integrated Watir with our Nunit tests. He’s pissed about having to learn the slightest bit of Ruby in order to make a big improvement in our code quality. Our team lead just turned to him and said, “Hey, we’re a bunch of open source guys making a living in C#. Get used to it.”

Right tool for the job and nothing else matters.

Well said, Jeff.

“I do not teach, you know, Karate, because I do not believe in styles anymore. I mean I do not believe that there is such thing as, like, a Chinese way of fighting or a Japanese way of fighting…or whatever way of fighting, because unless a human being has three arms and four legs, there can be no different form of fighting. But, basically, we only have two hands and two feet. So styles tend to, not only separate man because they have their own doctrines and the doctrine became the gospel truth that you cannot change! But, if you do not have styles, if you just say, “here I am as a human being, how can I express myself totally and completely?” …now that way, you won’t create a style because style is a crystallization. That way is a process of continuing growth.” -Bruce Lee

Honestly, it’s all about style and what you feel comfortable working with. For me, the open source tools enable me to get things done faster and with a greater understanding of what I’m actually doing. With Microsoft, I feel like I am trapped in a “software bureaucracy” where I have to go through a dozen tasks before I can even write “hello world”, and even then, I don’t feel like I know what my computer is doing. It’s not that abstraction is bad, but with Microsoft products, I feel like the abstraction is impenetrable.

I do, however, agree with the core point of the article: why can’t we all agree to disagree? But you should understand why most open source developers spit when you mention developing using Microsoft tools. To me, it’s like talking about how much you love cooked liver with head cheese.

First of all I love linux. it makes me feel better when I use it. but I use c# and .net in my development life more then QT and C++ in these years. its about jeological reasons believe it or not this part(Turkey) of the world known as 3th class world country. and this kind of countries are the new market for big players like SUN or MS or IBM. they dont try to open any development department in turkey. they just sells their servers and softwares. thats why I dont like MS.

Miguel is a project manager as long as I read from internet about him he is good at it. but writing a .net framework for linux it like dividing power to pieces and use them wrongly. because linux or bsd world does not need any c# or framework anyway. look at big projects they allways use C/C++ or Java and thats it. they work. for example KDE or JBoss both good well known famous and succeseded on their area. another big problem about mono which is they allways trying to catch up with microsoft. that means just a fallower never got the technology on time under linux. example url: http://monkey.workarea.jp/tmp/200611/deploy/System.ServiceModel.html as you see they dont have wcf yet if you want to use it you have to wait. btw MS goes more far then wcf.thats why I dont like mono project.

I used to believe in open source and good world. then I met with MS :))