Configuring The Stack

I just wish they’d make installing the .NET runtime a lot more lightweight. .NET 1.x was a 5-minute job at most. The lame .NET 2.0 (and later) installers (hey, love those flat buttons guys!) just take way too long for my liking.

Dan Brown: not all Linux distros are equal. Try one with apt. I run on Ubuntu and it is only for rare, obscure things that I have to consider dependencies. I check the box for the application I want, and it downloads whatever it needs.

It’s really not “Windows vs. Linux”. It’s the apt package management system vs the complete lack of package management on Windows. It’s sad, because with the “add/remove programs” section someone clearly started to think about it. But with the lack of standardization on installation in the Windows world, it never became anything cohesive.

Why can I, for instance, not create some charge account somewhere and just say “install Visual Studio” or “install Photoshop” and have it just work? Why can’t the automated Windows update keep Firefox and Photoshop along with the Microsoft OS? Why on earth

The other day, someone recommended a make replacement called “scons” to me. I decided to play with it, so I ran synaptic, searched for “scons”, checked the box, hit apply and was playing with it within five minutes. Once you get used to being able to do this, Windows just seems crippled. The fact that Windows doesn’t have anything close to this is a huge failure of imagination on Microsoft’s part.

I just don’t get it. Apple can create an online store to sell music transparently. Microsoft itself can create an online store to sell games transparently to consoles. Why on Earth can’t Microsoft create an online store to sell (and maintain) software?

Linux is only free if your time is worthless:

It gets even better. I get to CHARGE my client for all of the time that I spend ferreting out all of the little parts that have to come together to make even the simplest single piece of software work.

The uninstall is even more troublesome – wherein components seemingly installed from a single package need to be uninstalled in a specific order.

There is a point to be made around how things are installed as well. The attempt to automate the installation of a series of software is anything but smooth. Microsoft, who should be professing the benefits of Windows Installer, does not leverage any one standard way of packaging their own software. Having been in the trenches with Microsoft I realize it is a big company. Getting some standards in place around installation would, alone, make the whole process smoother for the end users and systems administrators.

There are good things happening like the Updates folder in the Office 2007 installations where you can drop MSPs and have it auto-install them during the initial installation process. But no one is picking up on that, not even their own product group (see the Save as PDF/XPS installer for an example). Instead we have a mess of things to install using many different techniques and command lines. I commented on the sad state of installation in my blog recently (http://rockstarguys.com/blogs/colin/archive/2007/07/06/the-sad-state-of-installation.aspx) which I noticed while trying to automate the build of my development workstation. Maybe someone inside MS can take some initiative to clean up installation. They’ve got a good thing going with WiX, maybe it needs some funding and a mandate to clean things up?

First of all, my name isn’t Dan. :wink: Second, I know all about package management on Linux because I used nothing but Fedora Core for 2 years. Yes, it does make some things easier, but for most of the stuff I was doing, I still had to hunt down packages in different repositories and resolve dependencies manually.

How is there no standardization on installations in Windows? Every installer I have ever used has placed an entry in the Add/Remove Programs dialog.

Personally, I like the lack of standard software updates. Some programs have to update differently, and frankly, suddenly adding a big package management system to Windows would cause a ton of companies to drastically change the way their products are released which in the end, may or may not cost them money. I wouldn’t rule it out for future versions of Windows, but it doesn’t seem like a plausible addition just yet.

During this time, here, at my company, we are still using Visual Studio 6.

Why ? because we are doing embedded development (C language). So to test under windows, vc6 is enough. Meanwhile, a few run of our tools on Vista (test machine) shows there are mostly broken. And vc6 seems weird with Vista.

The easy fix is to stay with XP for the coming years.

BTW, can some people confirm that MS and VS2005 are removing the C runtime ?

“It is a testament to MS’s short-sightedness that VS is still not free (of charge). They should be doing everything they can to keep people developing for their platforms.”

If MS do that, there will a lot of cry babies(Borland, Sun and OSS whiners) crying about MS’s “monopoly” on development platform.

Open Source developers seem to be very interested in ease of use these days, especially when it comes to install. I think they are coming to realize that no one will use their stuff (even though it is free) if they have to troubleshoot the install for hours on end.

Also, Microsoft should be taking steps to make things like this easier for people. They have gained a lot of enemies (and followers) over the years.

Well, I guess the good news is that with VS 2008, you’ll be down to two again:

  • VS 2008
  • Team Explorer 2008

Of course, if everything shipped together, nothing would ship. :wink:

Buck

Folks rag on Apple all the time because their software installers (iTunes, Safari, etc.) are gargantuan and they never (or almost never) offer “updaters” that include only the changes to a software package. Their developer tools (Xcode) are especially egregious here, because each time one wants to install a new version, it means you have to download a full installer that approaches 1GB. People are always clamoring for updaters instead of having to re-download the whole thing.

It’s kind of a trade-off: one way to avoid the whole “service pack” pain is to never do service packs, just release new full versions. How to do this without exposing the vendor to an increased risk of piracy is left as an exercise for the implementer, as is finding the extra bandwidth to facilitate the approach. But it would reduce your “stack” above to just 4 steps, one for each product.

I double click some things to install Visual Studio 2005.

Maybe I select some components I want or don’t want.

Wait a bit.

Repeat for service packs / etc.

Now – if you are saying that’s a “troublesome” or complex series of events for an install, then I’m wondering how going through all these Linux/Open Source/Package manager/Black Magic/Vodoo Spells/Funerary Incantation Rites/etc is any easier or simpler?

Maybe they are “faster” in that the install process is less, but really, unless you are installing these components on a regular basis (to which I ask WHY?) – then I really don’t see where it’s that big of a deal. But then again, I mainly program in C# and don’t need Ruby/Java/Awk/Kitten/Lampshade/insert name of programming language here.

“As the old adage goes, Linux is only free if your time is worthless. But apparently your time can be worthless even if you’ve paid for the privilege.”

Indeed. My time carries the same (non-zero) value whatever OS I happen to be using. I spend significantly more time these days maintaining any one Windows box plus applications than I do maintaining any one Linux box plus applications. The Linux boxes also cost less time to install and configure.

Not having to trawl the 4 corners of the internet for software updates, and not having to maintain and run multiple malware scanning tools really makes a difference.

I’d say Jamie Zawinski’s adage is pretty out-of-date at this point. In fact, it has been for quite a few years. Almost every Linux and BSD distribution today makes extensive use of packages. If I drop the following on a command line on an Ubuntu box:

sudo apt-get install mono

I suddenly have your stack, in just a couple of minutes depending on the mirror :slight_smile:

I guess if I had to sit through 5 hours of install every day, I’d be really concerned. But this is essentially a one-time deal with updates from time to time, perhaps. Once everything is installed, I don’t really care. I was doing something else while the install was going on anyhow, so it didn’t really affect my day adversely. Just my 2 cents.

Internet strawmen are all the rage I guess. What stack are you comparing this to? If it’s LAMP (as your link suggests) - you have left out the OS in your steps - feel free to download the Windows ISO before installing your tools …

If it’s the “AMP” you can install those on a windows machine using a nice prepackaged WAMP stack like apache2triad. What you describe is more a development environment than a “stack”.

So if it’s a “development stack”. It’s hard to imagine how your 7+ steps beats installing 1. MyEclipseIDE - ordered, downloaded and installed in under 2 hours. What was that quote about time being free?

Just tried SharpDevelop. It’s nice, but I personally found it “slow”. Right click menus on things in the solution explorer seem slow, and text scrolling in a code window seems slow. So does some of the autocomplete options.

Unless you needed a feature that it provides that isn’t in, say, C#-Express, I would never use it. Visual Studio is just faster and more robust – and I’d trade that install time-waste over USE time-waste any day.

The company I am at works on a cross-platform product that compiles under Visual Studio 2005 and also g++ on Linux. A couple weeks ago, we upgraded to service pack one because of apparent incompatibilities between libraries generated by 2005 and 2005 sp1.

Coincidentally, we got four linux boxes in to make into dev boxes.

The punchline: the tech guy was able to install the entire dev system, including the OS, for each linux dev box faster than we could install just Visual Studio, service pack 1.

Now maybe it is comparing apples to oranges. This didn’t include Eclipse, for instance. But only a couple of us even bother with Eclipse. The key is that in each case, it was the dev system required to develop for the same software.

Were debian based systems excel is in package management. My Ubuntu box has what no Windows box has, that is, a central location where I can quickly and easily find and install the majority of software applications available to the software. When building a Windows box, there’s always a day of searching for disks and seeking out random websites to get what I need to get to be productive. (Which, for me, was Perforce, Cygwin, Vim, Visual Studio, Photoshop, Firefox, Thunderbird, various sysinternals tools, etc.) When building an Ubuntu box, it’s running Synaptic, clicking some check boxes and hitting “apply”. The only think we have to load outside of Synaptic is Perforce.

Talking about tools, a tricycle is certainly more sustainable in the world we live in.

But maybe what you just want is a shiny user interface to slow down your computer so you can change it every month or year.

Oh, and by the way there are also vcs in freebsd :wink:

I hear that one…i just did an install of MS Visual Studio 2005…it was agonizing