[ale] .NET

Dennany, Jerome {D177~Roswell} JEROME.DENNANY at ROCHE.COM
Thu Oct 31 13:33:21 EST 2002





comments inline...



>The XML is mostly hype for now from what I've heard.  They say they've
>opened up the file formats via XML, but what I've heard is that it's
>basically an XML wrapper with all the good stuff wrapped in CDATA.


This is very true...  It requires specific effort to make certain that you are passing data that is understood everywhere.  I've had luck with web services and SOAP tools assisting with this, however.

>In terms of C#, I don't know.  I've used it and it's a lot like Java,
>which is cool, but hey, didn't we already have Java.


Java-like, yes.  However, IMHO opinion, there are several areas where it has improved.  Again, personal opinion.  I'm not asking anyone to program in .NET.  I'm just saying that I like it.

>The Common Language Runtime is probably the coolest trick of all the
>.NET stuff IMHO.  BUT, I can't help but wonder if that doesn't basically
>just make all the languages run like Java.  I guess it boils down to the
>differences between a Runtim and a Virtual Machine.  I have not thought
>through the comparison.


JIT-ted or nGEN'd code is the wave of the future, I believe (JIT-ed code is pre-compiled, nGEN'd code is generated at install time).

One of the problems with current generation compilers is that they must compile to the lowest common denominator.  Even though your brand new Pentium IV or Athlon XP may implement new instruction sets, it still takes some time before compilers are updated to take advantage of this.  This problem is expected to get worse as Intel has announced that they intend to more aggressively change instuction sets in future versions of their CPUs.

However, if instead of compiling a binary into machine code on the developers machine, what if it was compiled to some sort of Intermediate Language and JIT-ted or nGEN'ed on the target machine?  The compiler could detect CPU type and compile accordingly, taking advantage of advances in CPU technology.  This also means that code compiled to an IL language last year could actually take advantage of this years optimizations, without having the developer re-compile.

I know all the Open-Source advocates are going to say "We get this all along..."  I'd rather not get into an Licensing debate, however.

>Eric Anderson also had a good point...  If all the languages are
>compiled down to the same IL, do they still have their relative
>strengths and weaknesses, or all those "boiled out"?



All .NET languages are supposed to expose only those constructs that are 'supported' under the Common Language Specification to be considered a "CLS compliant language".  This, however, only means that one may not expose non-CLS complient interfaces, methods, or other constructs publically.  A language may do whatever it pleases behind the scenes.  A good example is provided in this article:

http://archive.eiffel.com/doc/manuals/technology/bmarticles/sd/dotnet.html


Eiffel supports multiple inheritance, while the CLS does not.  Interesting read, I think. 



Again, this is just my opinion.  Everyone's entitled to one, I believe....



Respectfully,


Jerry







More information about the Ale mailing list