Talk:Common Intermediate Language
From Wikipedia, the free encyclopedia
This article is part of the WikiProject .NET. |
Contents |
[edit] Machine Symbolic Intermediate Language?
I have never heard of the term "Machine Symbolic Intermediate Language". Google and MSDN don't bring up any 1:1 matches. Is there any evidence of this usage? Vector4F 20:17, 18 August 2005 (UTC)
- Likewise. Perhaps this statement should be removed. There are enough acronyms in the world without people inventing new ones for the sake of it! Rickyp 11:10, 20 September 2006 (UTC)
[edit] CIL?
Why does MSIL redirect to here? In all the documentation I've come across, this language has always been called "MSIL." Do a Google search for CIL and you'll get pages on unrelated material. Do a search for MSIL and--remarkably--you'll get pages about .NET and the Microsoft Intermediate Language. If no one objects within a few days, I'll redirect CIL to MSIL and change all references to CIL to MSIL. If you have a compelling contrasting viewpoint (with references), please submit it.
To back up my argument, you may go to MSDN (Microsoft's technical website) and type in CIL. There you'll get hits on unrelated material. Type in MSIL and you'll get hits on MS's MSIL compiler. You can also check out Jesse Liberty's book Programming C#. He also discusses MSIL and never mentions CIL. — Frecklefoot | Talk 14:30, Jun 24, 2004 (UTC)
- IL was referred to as MSIL for a long time before Microsoft officially changed the name to CIL. That is why you will find more references to MSIL. Be that as it may, the official name of the language has been CIL since before the v1 .NET Framework shipped. I fixed up the references in the wikipedia to be up-to-date with current terminology, while leaving in references to the original name.
- The reason for the change is the the runtime was standardized, including IL, and so they didn't want any Microsoft-specific names in the standardized portions of the runtime.
-
- Perhaps relevant: http://dotnet.di.unipi.it/EcmaSpec/PartitionIII/index.html uses CIL. - Bevo 17:27, 30 Jun 2004 (UTC)
- I don't consider a count of google search hits to be indicative of how up-to-date a term is. In fact, the more out of date term is likely to have more hits, by default I would think.
- Onebit 20:07, Jun 24, 2004 (UTC)
Thanks for the update! — Frecklefoot | Talk 20:32, Jun 24, 2004 (UTC)
- Sure thing! Onebit 20:38, Jun 24, 2004 (UTC)
[edit] Byte me
The CIL is not bytecode (byte = 8 bits), it is actually word based (WORD = 16 bits). Saying "wordcode" however sounds weird. Is there a way to describe it so it is correct and not weird-sounding? Right now it says it is bytecode, which is not correct (Java is bytecode based). — Frecklefoot | Talk 18:57, Jun 25, 2004 (UTC)
- Use of "bytecode" is appropriate. Originally the term "bytecode", no-doubt, referred to the size of the instructions. However, bytecode has been around for a long time, and not every example of bytecode centers around bytes in terms of the actual data stream. Even the existing wikipedia entry for bytecode refers to the fact that not all bytecodes are byte-length. At this point "bytecode" is a word unto itself; on the other hand, using "wordcode" would be making up a new word.
- Meanwhile, the CIL portion of the CLI spec refers to the instructions as "bytecodes". --Onebit 20:47, Jun 30, 2004 (UTC)
- I suppose one of the earliest examples of this type of computer language was called P-code (or pseudo-code), see UCSD p-System. I'd have preferred that a term like P-code to have been used instead of bytecode, but I guess it's too late now. - Bevo 21:06, 30 Jun 2004 (UTC)
- It's a generic name and it's easy to say, sounds like a computer term, and has been used a lot. P-code, as Bevo mentioned, stands for psuedo-code, but it's really too generic of a name. I've even seen it used to refer to Java, Perl, Python bytecode etc.. This harks back to it's more common meaning - pseudo-code is what you jot down on the back of napkins, not for processing. That's probably why we use bytecode and not p-code. I have only used the term "bytecode" to refer to an intermediate language while I have used pseudo-code many times to refer to generic programming.
- Vector4F 05:10, 12 Jul 2004 (UTC)
- It needs to be called p-Code. Pseudo-code can mean both bytecode and "compiler nonspecific" code (for writing algorithms), but p-Code is always used to refer to bytecode (or wordcode, or dword code). And these articles need to be merged. You guys aren't discussing -whether- they should be merged; everyone agrees they should. You're discussing which term is more appropriate, which deserves a whole different "disputed article" sticky note.
- Cheburashka 20:49, 4 October 2006 (UTC)
[edit] MSIL Subject Based Site.
If you're interested in MSIL programming then visit my web page, http://druidictus.homeip.net/
[edit] MSIL is one kind of CIL
The microsoft research project phoenix uses the term CIL with its own intermediate language wich has nothing to do with MSIL. In my oppinion CIL stands for all bytecode languages that are 1) shared between multiple compilers and 2) meant to be compiled to machine code instead of being interpreted. Have a look at http://research.microsoft.com/phoenix
SealedSun 21:33, 27 January 2006 (UTC)
- That's understandable, but as it says in the article, after it was standardized it dropped the "Microsoft" bit, because it is a spec developed jointly with IBM and others. Technically it would make more sense to merge the MCIL article with CIL. But until there is an article made about "other" CILs, I wouldn't worry about it. Foofy 00:21, 7 February 2006 (UTC)
- Well, articles about other CILs, they'll be pretty rare because the only other implementation that counts[Mono] aims to achive Binary Compatibility with Microsoft's runtime. So, their CIL needs to mimick Microsoft's CIL. Yuvi
[edit] CIL can be targeted by a regular C/C++ compiler
This should be mentioned somewhere - CIL, notably, has pointers, unlike JVM, which uses segmented memory. Take basically any C/C++ application, feed it to a C++/CLI compiler and you get a 100% .NET executable (well, not really true in practice, but it's more an accident of implementation than anything else, like how executables produced by Visual C++ will still depend on the native C runtime DLL. No reason a C/C++ runtime couldn't be implemented on top of BCL)
- Well, I'll invite you to add it, it's wikipedia after all:)
[edit] text/bytecode contradiction
Is CIL a textual programming language, like a scripting language, or a type of bytecode? This article claims it is both! Herorev 19:53, 19 November 2006 (UTC)
[edit] Merge from MSIL
I merged MSIL into this article basically by copy-pasting the MSIL article. Please make sure all the references to MSIL/CIL/IL within the text are correct. Tocharianne 00:52, 30 December 2006 (UTC)