Quote:Original post by Daerax
Yes. You are.
A VM runs code that has compiled to a portable intermediate byte code. Your code is platform independent in that in runs on any machine with a VM which properly implements the functionality of your app. However since your code is intepretated it is horrendously slow and not a viable choice for performance hungry applications.
JIT compilations takes the byte code and further compiles it into native code and makes machine specific optimizations at run time. This is done quite readily since a good bytecode compiler can perform many optimizations on the code beforehand and make the code much more compact and machine translatable. Although startup times are immensley annoying, JIT can acheive at least 98% to 99% (based on numbers on MDX samples and stuff) of traditional offline compiled code. Indeed since games outsource alot of their work to other processing units, extra resource jucing of the JIT can be afforded :D. In addition one may argue JIT may outperform traditional native code in certain cases (especially for loop centric apps) since your most visited sections of compiled code is kept together in cache , allowing as well a good JIT compiler to make rigorous optimaztions and certain assumptions on your code a native compiler might not necessarily be able to make for the OS/machine offline*. Finally since we are in a managed environ our memory is guranteed to not be fragmented i.e. kept together.
Ok, so Java has a form of JIT in the Hotspot compiler, does it mean it doesn't run on VM?
hahahah Anxiously waiting for the response of some C# fanboy.
Quote:Original post by Daerax
In general, the J2EE and .NET provide similar functionality but in my opinion .NET edges out over J2EE. *In my opinion* .NET, my preferance is for .NET for a few reasons. It is fresher and cleaner
Wow, completely subjective, besides the fact that Java EE cannot be compared to .Net at all, since Java EE is related to libraries and services specifically made for businesses (Servlets, EJBs, webservices, assynchronous messaging, etc.) Things that the average Joe or the gamedev Joe won't need.
Quote:Original post by Daerax
- openly learning from both the past brilliant reaserches and mistakes and misimplemntations done on the Java platform.
Like what? "Screw backward compatiblity"? There's a reason for Java to be in
the Enterprise, stop and think.
Quote:Original post by Daerax
Unlike J2EE and Java (which have JIT c'ing too) the .NET CLR, CLS was designed from day one with JIT compilation in mind and its generated intermediate code is more suited for such.
WHAT!?!? This was the most ridiculous claim of the whole website??
Do you have any idea of what you are talking about at all??? Study, study a lot because you seriously need it.
That is, its intermediate bytecode is specifically designed to lend itself well to native compilation when run.
Quote:Original post by Daerax
The interop capabilities and the general support for shared components (allowing for increased code reuse and plugability) is much tighter and again was a major designing motivator on .NET and much less so on J2EE/COBRA which is not strongly a part of J2EE.
Where did you get this from??
Quote:Original post by Daerax
As well, since legacy code is a major factor for Microsoft, they designed support for native dlls to be clean and easy as is possible through PInvoke within the general framework requirements.
Assuming that you work in a Windows only shop, which is not the case with the Enterprise.
Quote:Original post by Daerax
But really, my main preferance for .NET is its incredible support for components and incredibly modular code
How it wouldn't be possible with any OO language?
Quote:Original post by Daerax
And its *Supreme Language independence*. The common type system together with the common language specification makes it possible to seamlessly code in whatever and however many languages you want at the same time. I realize that there are java bindings for other languages available on the java environment but unlike the .NET bindings (which again day one design factor), they are not so clean and just a hassle to work with (warning third person opinion there).
Bullshit. Have you ever worked in your life? How many companies do you know that let the developers freely choose the tools they use?
Language independence is important for marketeers and deluded college students.
Quote:Original post by Daerax
Also, they do not interop very well (if at all?).
THEY DO INTEROP WELL, THAT'S THE WHOLE POINT OF USING OTHER LANGUAGES IN THE JVM!!
THIS IS BIGGEST CRAPPY POST I HAVE EVER SEEN IN A LONG TIME, HOW CAN YOU POSSIBLY BE SO IGNORANT AND YET SO PROUD OF IT?
THIS IS A DISSERVICE TO ANY SERIOUS DEVELOPER, THIS IS AN INSULT TO ANY PROFESSIONAL. THIS WEBSITE MUST MAINTAINED BY KIDS FOR KIDS.
Quote:Original post by Daerax
On .NET, since all languages compile to the same IL you can use whatever CLS compliant code you want in your app and have it treated as a first class member - i.e. it is not loaded specially or something.
No comments on the depths of your ignorance.
Quote:Original post by Daerax
As an example, with 10 minutes of work I made my application fully sprictable and controllable with both Lispish (L#) and python (IronPython). Reflection allows no need for callbacks or any of that annoying gayances. I use Nemerle (and F# here and there where it makes more sense. F# is a light weight full featured impure functional language of the ML dialect which IMO, generates the most effiecient IL for the CLR of all the .net languages) for the game logic itself. You would not imagine how easy an RPG is to code in an OOP semi functional language such as Nemerle which offers algebraic types and (pattern matching over) variants and a Lisp level macro system.
FYI, there are more languages on the JVM than on the CLR. I don't know why people use it as a "marketing point", it can only be explained by ignorance.