Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Who's not attending GLGDW
Message
De
15/10/2003 01:38:41
Gerry Schmitz
GHS Automation Inc.
Calgary, Alberta, Canada
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Conférences & événements
Divers
Thread ID:
00837095
Message ID:
00838762
Vues:
32
Leland,

>I would love to be proven wrong. If what your saying pans out, I could develop a Mono App which would easily port to windows as will as all the other major platforms. Such an application could also be accessed from all browsers including IE. This would also mean I could write an App in Dot Net which could be accessed form any other platform using all other browsers.
>
>This is a wonderful idea. However, I have not seen any indication from Microsoft that they intend for Dot Net to be cross platform. There has been no effort on the part of Microsoft to develop a Linux or Unix version of the Dot Net Platform or the Dot Net Software Development Kit. All efforts to make Dot Net interoperable have been at the expense of individual and organization outside of Microsoft like Mono. My impression is that Microsoft resent the idea that its Dot Net would work on any platform other than Windows. This give me major heart burn when considering the option to develop on either a Dot Net or Mono platform.
>
>Changing topics a little, Dot Net will work with 20 or so different languages. I suppose each language must provide a parser that converts from the native language like Visual Perl, C++.Net, VB.Net, etc. into the language the common runtime uses. If I understand it correctly, the just in time common runtime language would then compile the code when the program is called for execution. I'm I correct in assuming the parser of all the various native languages are phrased into C#?

If you're familiar with Java, you know that Java gets compiled into "byte code" and then this byte code is executed by a platform dependent "virtual machine" ... a VM that can be running under Windows, Sun, Linux / Unix, handhelds, cell phones, toasters, etc.

The CLS / CTS (Common Language Specification / Common Type Specification) works the same way (I hesitate to say Dot Net or .Net because I don't know when you're refering to the MS, or the open-source implementation).

The "managed language" (C#, VB.NET, COBOL.NET) is compiled to an "intermediate language" (CIL - the Common Intermediate Language ... like "byte code"; not C#) that is run by a platform dependent CLR (Common Language Runtime). The CLR compiles the CIL to the machine language required by the final target machine, does garbage collection, and any other functions dictated by the processor.

The whole "beauty" of this thing is that one can now chose their development language and platform, and be assured that the CIL will run on any other platform. That was the promise of Java but it didn't have the standardization that has gone into CLS / CTS ... and you didn't have a "choice" when it came to development languages (ie. your only choice was Java). The time now seems more right too.

The important think to note is that the CIL is "platform independent" and as long as it conforms to the CLS / CTS specification it will run on any platform.

Any CIL you produce using a MS implementation (or Mono, or whatever) will run on any CLR, be it Sun, Linux, etc.

If you choose to use features outside of CLS/CTS then your app may not run ... which brings us full circle to why MS abandoned Java in the first place: Sun objected to MS hanging all kinds of Windows depencies off Java while claiming it was still "Java".

Whether MS plays ball or not, there WILL be a "free" CLR that runs under Windows even if MS says you can't use "mine". While MS will probably NOT create CLRs for other platforms, there are others that have stepped in .... in order to sell their hardware, OS, services, compilers or whatever. One is not dependent on MS to create CLRs for non-Windows platforms.

The point to remember is, that it's really about whose "tools" are going to be used, which includes OS, servers, IDEs and compilers .... that is what MS is trying, or would like, to corner.

The "philosophy" and specifications that are ".Net", are out of MS' hands.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform