Re: Difference between .NET and Java

From: Chris Smith (cdsmith_at_twu.net)
Date: 07/08/04


Date: Thu, 8 Jul 2004 11:40:30 -0600

Jeremy Deats' wrote:
> I've seen diagrams that show .NET being compiled to byte code prior to MSIL,
> since I don't have this reference handy I'll just assume it was incorrect,
> however my understanding of the JIT process used by .NET is quite a bit
> different than the Java2 approach, see:
> http://www.gamespp.com/csharp/usingNETJITCompiling.html

It's quite unfortunate that such a thing exists on the web, but it
merely proves the adage that you can't trust everything you read or
hear. The article describes .NET JIT compilers just fine, without even
realizing that Java's JIT compilers work in *exactly* the same way.
Replace every .NET JIT statement with an equivalent Java one (i.e.,
replace references to MSIL with bytecode), and you get a bunch of true
statements.

The last paragraph of that article is wrong; no other way to put it.
It's not debatably wrong, and it's not a matter of interpretation, and
it's not merely misleading; it's pure unadulterated wrong! Java JIT
compilers take bytecode as INPUT and produce native machine code as
OUTPUT, in the same way that .NET JIT compilers do.

What is different is that .NET offers the potential to precompile a .NET
application to native code, whereas no well-known Java environment
provides that same option. This might have some impact on startup time,
but will have no appreciable impact on runtime speed once the program
has been running for any amount of time. The article you cite mentions
the same thing.

> I'd argue the usefulness of code refactoring, but that is subjective..
> IBM's current IDE product fall a bit short on delivering VS.NET style
> "intellisense" functionality and code generation, but the context sensitive
> help is another huge beneift that comes to mind. Not to mention the ease of
> managing solutions, maybe it's just my lack of experience with other IDEs,
> perhaps they should be more intuitive.

This comes down strongly to a matter of not only preference for
interface details, but also whether you develop code according to the
model that Microsoft has chosen to implement in Visual Studio. I've
never worked with VS.NET, but I have worked for years with prior
versions of Visual Studio. I consider code generation to be its
greatest weakness. The environment decides for you how you are going to
structure your code, and if that's not appropriate for your project then
too bad. (Part of this is also a complaint about class libraries that
assume you will be generating your code with VS, and therefore require
vast amounts of boilerplate code to set up a framework for the app.)

It's probably along a similar vein that I consider simple refactoring
support critical (at least renaming with references, and extracting and
inlining methods and fields; the rest are more rarely used).

I can say that having used Visual Studio 6 for about 2 years, and
Eclipse for about 2 years, I would gladly toss out Visual Studio for
Eclipse any day of the week. Perhaps VS.NET is a better product in
these regards; I'd love to be enlightened.

-- 
www.designacourse.com
The Easiest Way to Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation


Relevant Pages

  • howto: mex Matlab r2008a + MS Visual C/C++ Prof Edition 2008, win64
    ... compile C++ mex files with Visual Studio 2008 prof. on ... When I run mex -setup, matlab doesn't find any compilers. ...
    (comp.soft-sys.matlab)
  • newbie question: creating my first mex-file - compiling on windows xp
    ... I´m learning c++ and am also going to learn C soon, therefore I want to follow this tutorial for creating mex-files: http://web.ccr.jussieu.fr/ccr/Documentation/Calcul/matlab5v11/docs/00009/009a1.htm ... I´m not really into all these kinds of compilers that exist but I´m going to install Visual Studio 2005 Professional later today. ... I therefore assume that installing MS visual studio 2005 must be okay since I could then choose the second option? ...
    (comp.soft-sys.matlab)
  • Re: Using alternative compilers/linkers in .net
    ... That will give you access to the Visual Studio SDK and the VSIP forums. ... You will basically have to create a Visual Studio package that contains a new project type for the solution. ... The SDK has numerous examples on these topics including integrating with compilers. ... the VS IDE is nothing more than a shell and the packages add functionality to it. ...
    (microsoft.public.vsnet.ide)
  • Com builder problem (Please help)
    ... I have Visual Studio 8 installed on my computer, ... I tried mex -setup and mbuild -setup for all different types of ... Would you like mbuild to locate installed compilers /n? ...
    (comp.soft-sys.matlab)
  • Re: allocatable dummy and pointer
    ... The references are very useful. ... the intel compiler actually only gives ... warning about the ambiguity of the interface in the example. ... the compilers are correct here. ...
    (comp.lang.fortran)