Username or EmailPassword
It is true, but IMHO the .NET will successor of java. The C# and java language, basic class libs are very similar. But the designers of java created many wrong decisions when java was born: no properties, no operator overloading, no databinding, AWT, etc. And some of this early decisions can't change without break the compatibility.
Well, AWT got fixed with Swing... (i know, i know... ;-))
.net is giving sun the kick in the pants it needs though, Swing is getting exponentially better with every release. I find that C# gets more "right" then java, but only in a handful of ways, most of which can be solved with good IDE code generation (manditory plug for the greatest IDE of all time, IDEa www.jetbrains.com ;-))
Not only the swing. IMHO a biggest problem is a virtual machine. The .NET (and Mono) uses only one VM for every desktop applications. But every desktop java apps are uses their own runtime environment. The java 1.5 promised change, but now, after 1 years of 1.5 the most of java apps are use separated JVM.
first of all, keep in mind we are talking 10-20megs overhead here. that being said, the jvm per app thing is because performance in java takes a back seat to security. the 1.5 changes you mention only allowed for shared memory between jvms, not one jvm for multiple apps. imho, they should try to make this an option for situations where security is non-vital (i.e. most desktop apps). in a more general way, i get the feeling that javas design descisions were for the server first, desktop second, while .net is the other way around.
And the biggest problem of desktop java is the future. IMHO if .NET will strong enought the running of desktop java apps will be uneasy on windows. And the 95% of desktop market is windows based. And IMHO in the near future the .NET will replace the flash on the client side. In this case the linux desktops without .NET support will dead.
this is the biggest misconception out there. first of all, the ".net languages" (c# and co) will never replace everything, and they arent meant to. Apple uses objective C, most linux apps are written in C++, these languages arent going anywhere, no matter what windows does or doesnt do. Secondly, java isnt that successful on the desktop. but like i mentioned, its practically synonomous with enterprise computing. java lives in the server room, and the mobile device market. i dont see .net conquoring either any time soon. the only negative effect of not having .net means that programmers who only know the .net languages will have a much higher barrier to entry for writing on linux. while this is not a good thing, it doesnt exactly spell the death of the platform.
At this moment. But IMHO it will change in the near future.
I disagree. Microsoft is very far behind at the moment. I believe we will see a shift to where ms has a decent market share, just for the shear amount of money they are pouring into marketing the damn thing. but java has an *extremely* good reputation in the enterprise, microsoft has a very bad one that they are desperately trying to turn around. everyone is quite aware there has never been an oracleSlammer, but sqlSlammer cost everyone who had the misfortune of running sqlserver quite a bit of time and money. Not to mention that linux is the hip thing now for the server room, and while its possible to run .net on linux (obviously), i dont think anyone here is seriously comparing mono to the sun jvm.
I would say its possible that this will change in the far future, i seriously doubt theres going to be major changes to the enterprise stack any time soon.
It is true, but if you count the potential .NET developers you must count every Visual Basic, Delphi, (or maybe java :-)) and other programmers, not only the C# developers.
Currently, there isnt much non C#, vb.net, asp.net, etc development being done on the platform. why would you write a perl script on the .net vm? sure, its possible, but its far from desireable, except if you are planning to use it as a dll. and why would you do that in perl? the main attractiveness to the language agnostism of the cli is in porting legacy apps, not writing new ones. imho of course, but i have yet to see anything to suggest otherwise.
Apple uses objective C And nobody else...
most linux apps are written in C++, these languages arent going anywhere
The M$ Visual Studio implements C++. And reportedly the C++ support is very good in the .NET 2.0.
but java has an *extremely* good reputation in the enterprise, microsoft has a very bad one that they are desperately trying to turn around
But IMHO the most of FOSS applications are not enterprise applications. And IMHO the linux is never will the main platform of the enterprise applications, it always will the playfield the *nix and IMHO in the near future the windows platforms.
would say its possible that this will change in the far future, i seriously doubt theres going to be major changes to the enterprise stack any time soon.
IMHO the M$ rich and motivated enought to develop .NET platform and the neccessary servers. They can buy the best developers, arcitecths. SUN is far less ritch then M$ and the profit of the SUN IMHO come from hardware and not from Java. M$ always have more money to develop .NET then SUN to develop Java.
why would you write a perl script on the .net vm?
Why would you write perl (or python, PHP, visualbasic) code at all ? I doesn't like perl, but there are many programmers who love it. In .NET you can develop your favorite language. Yes, VB.NET is more complex then VB6, but IMHO the VB coders will change to VB.NET and not to Java or C#. I like C++, Object Pascal and Java languages, my favorite is the C#. If anybody like the scripting languages (I hate this langs) he/she will use python, php, etc. But this languages they can use common class libraries, and calling Java, C++, etc classes from Python or Visual Basic or C#, etc is very easy. And IMHO it is a very strong thing, it can kill the other platforms.