Welcome to U E T - C S . org Sign in | Join | Help

Osama Abbas

the Answers to Life, the Universe, and Everything
the Case of the Annoying J# Redistributable

Ever since I started using VS 2003, one thing that always ticked me off was why the J# redistributable was a pre-requisite for installing VS. If I don't want to use J# in any shape or form and there clearly isn't a dependency on it in the IDE then there's no need to install useless bits on my machine.

Today I was installing VS 2005 again and realized that the problem still hasn't gone away. I can still see a 114 MB J# Redistributable Package in Vista's Programs and Features list.

Doing some research I came across Aaron Stebner's blog who was once in the VS setup and deployment team and he's answered this complaint in quite an amount of detail. It also gives an insight into Microsoft's mentality of using customers as beta testers, making rushed releases and then fixing bugs over time with Service Packs and Hotfixes, but I'll leave this discussion for another time.

The explanation given is :

We considered putting the J# redist functionality into the .NET Framework 1.1, but rejected that for several reasons.  Then we considered including it in the main VS setup tree, but also rejected that because it is needed at runtime in addition to design time and we couldn't tell people to install a part of VS on their clients' machines in order to enable J# applications to work correctly.  We also tried to propose that the J# redist installation package be installed if the user chooses the J# programming language in the VS tree, and then the IDE could install it on demand or provide UI to guide the user to install it themselves if they really needed it.  This presented usability issues, caused an additional barrier to entry for J#, and also caused problems with administrative deployment scenarios where the end user was not an administrator when they were using the IDE and could therefore not install products themselves.

Source 

First of all, who uses J# anyway. It was a failed (and lame) attempt at hijacking Java. I forgive them for trying to push the J# bits through VS 2003, but after its spectacular failure in years afterwards, they should've just accepted their mistake and once and for all gotten rid of it.

And then along came VS 2005, totally redesigned from the ground up, tons of new tech, holding so much promise, but it turns out they STILL haven't removed the darn annoyance. So what explanation do they have to give this time ?

 " .... you can see that if the J# or Visual Web Developer language tools features are selected during setup, the J# redistributable will also be installed for you as a chained component.

The next question that has come up is one that I haven't addressed in that previous blog post - why does Visual Web Developer require the J# redistributable?  At a high level, the answer is that you are able to develop web applications in any number of programming languages, including J#, so therefore the J# redistributable is installed in case you decide to develop your web applications in J#.

That answer leads to one additional question - why can't you just install Visual Web Developer C# support or something like that if you know ahead of time that you are not planning to develop web applications in J#.  If you look at the feature tree for VS 2005 setup, you will see a single item under Language Tools named Visual Web Developer.  However, this feature is not sub-divided any further, so it is not currently possible to install only the pieces required to install Visual Web Developer C# support, Visual Web Developer VB support, Visual Web Developer J# support, etc.  We determined while developing VS 2005 that it would be very time-intensive and error-prone to try to sub-divide the Visual Web Developer features on a language-by-language basis, and that it would only have questionable benefit to the end user.  Therefore, we had to make a trade-off and the decision was made to live with the side effect of installing the J# redistributable package if the user chooses to install Visual Web Developer during VS 2005 setup (even if the user does not choose to install the J# language tools)"

Source 

In other words, we were too lazy or incompetent to properly partition functionality for multiple languages so we decided the users wouldn't mind if we installed useless crap on their machines.

You know, you wouldn't be in this mess in the first place if you quit flogging the dead horse that is J#, concentrate on C#, VB.NET and other potential first class citizens of the .NET framework (like IronPython).

But all is not lost, it seems they've finally come to their senses and J# won't be included in the amazing goodness that is to be VS 2008. I say good riddance. Nobody likes you J#, so please stop bothering us all and GO AWAY !

Posted: Sunday, August 26, 2007 2:24 PM by osama.abbas
Filed under:

Comments

No Comments

Anonymous comments are disabled