* Existing developers need retraining (time, money, "beginners' mistakes")
* Supporting yet another technology (old products WILL NOT be rewritten but still supported)
Although I am a big favour of .NET it has also cons sides.
And it would morally be not right if I would hide these negative sides.
* The resistance of people to install the .NET framework. You would not
believe what stories they come up in order not to install it. Typical would
be: It slows down my computer, It is too big, I don't believe in it,....
* At this moment installing the .NET framework is far too complicated. New
distributions of Windows XP seems to contain the .NET framework, but from
the summer on we will have a new one the v2.0. So I hope the installation
becomes a one click situation. The situation through critical updates is
currently too complicated for my grandmother that wants to browse the
Internet and read email.
* Installation is a bit complicated because of the security issuses if the
program needs internet and/or LAN access. Luckily this can be easily fixed
by creating a managed dll that contains registration code to give your
program enough access to access the LAN and Internet. You cannot grant
access rights from inside your program, but you can make the setup run that
managed code to give program user rights. The setup.exe is not a managed
code so it does have access to the user rights. And if people double click
on a setup then we assume that they know what they are doing.
* The resistance of the VB and C++ programers since they have to relearn
everything, becoming a newbie.
* The error reporting that would give a user a heart attack when something
goes wrong like no LAN access, or when you try to run the program from a
networkdrive by double clicking on it. You get an error like the "access
violation" type with a list of all assemblies loaded, where even normal
programmers have no idea what it all means. This is very user-unfriendly.
These are the ones that comes to my mind...
Especially the resistance to install the .NET framework by the users and the
resistance of older C++ programmers is the biggest hurdle to overcome in my
opinion. I classify this phonomenon as "The big scare". Scare of the unknown
because it is baseless.
Luckily time is in our favour here.