In .NET, everything comes down to an assembly. That assembly - be it .exe or .dll - can contain any number of classes. You deploy and execute that. You can just copy a .exe from one machine to another and execute it. As long as the machines have the CLR, nothing else is required. No registering anything, dll hell etc...
please confirm what i understood. as many classes in one package get converted to one exe/dll file. also the size of these exe's/dll's must be very small comparatively. say a few 5-10kb for small apps plus some extra 10+ kb for the metadata.
does every new release of Java update the JVM?
i am answering with what i have experienced. in java, each 1.x version is also very major. and generally takes about a year or so for the next version. so by that time there are usually major updates in jvm performance as well. the 1.4.x (suppose) are minor updates. mostly bug fixes.
also all java code is always backward compatible. even though a particular method might be deprecated, you can still use it though it will raise an warning. also all java legacy code will work even on the latest versions. this is actually a slight point of difference between developes. because you can still use deprecated code, some do not agree with this functionality. this is more of a financial decision by sun.
mohn told me that code on one (earlier) .net version could not be run on the newer version because of configuration file stuff. could you (mohn) explain more on this. also in .net, are certain parts of the api removed for next versions, or carried about like in java.