Talk:Common Language Runtime

clr
Hi all, I'm a little surprised by the statement that over 40 programming languages are now supported by the Microsoft CLR; at first I was thinking maybe somebody thought it was referring to human languages rather than programming languages. But, with the many lesser known & specialty programming languages out there, this value of "> 40" might just be true... Does anybody have a reference to support this estimate? - Harris7 17:13, 8 May 2005 (UTC)
 * Just for completeness: Microsoft .NET Languages - Mark Hurd 04:31, 14 June 2006 (UTC)

Virtual machine?
If .NET programs are never interpreted from byte code and are always interpreted is it correct to call the CLR a virtual machine? Wouldn't it be better to say it runs on a virtual "virtual machine" which is actually the base machine.


 * I have to agree, IL is *not* interpreted, therefore the CLR is *not* a virtual machine. Maybe there is confusion because some equate the word "runtime" in the name with interpretation and execution of byte code. I've never heard MS or any credible authors refer to it as a VM either, as they shouldnt. 74.167.252.158 (talk)


 * The Common Language Runtime uses just-in-time-compilation, just like the Java Virtual Machine (which is called "Virtual Machine" by Sun Microsystems, even though it's actually a just-in-time-compiler). Just-in-time-compilation is actually something in between "conventional" (ahead-of-time) compilation and interpretation. An interpreter will usually have handlers for each instruction within it's own (native) code and call them for each instruction encountered within the byte-code it's interpreting. These handlers are created as subroutines at design time (when the interpreter is developed) and compiled into the interpreter's executable file. That makes it possible to port the interpreter to other CPU architectures without changing it's source code, provided it is written in a portable high-level compiled language. On the other hand a just-in-time compiler will translate each instruction into native code and invoke the result of that translation process by setting the CPU's execution pointer on it. The native code will eventually return into the code space of the JITter, which will then proceed to the next byte-code instruction and so on. So the JITter is something in between an "actual" (ahead-of-time) compiler and an interpreter. However, unlike an interpreter, it is not portable, since the code-generation routines will be designed for one specific CPU architecture. It will still process the byte-code instruction by instruction (and over and over again when the same instruction is encountered multiple times, e. g. in a loop), just like an interpreter. It just won't have a static (pre-compiled) handler for each instruction like a "conventional" interpreter does, but it will be dynamically generating a native-code equivalent to each byte-code or source-code instruction (hence the term "compiler") instead, execute it and then proceed to the next byte-code instruction. 217.94.186.196 (talk) 12:18, 16 September 2009 (UTC)


 * I would like to reanimate the question.
 * Some details how JIT-compiler works - https://docs.microsoft.com/en-us/dotnet/standard/managed-execution-process#compilation-by-the-jit-compiler
 * I.e. IL instructions are not executed one-by-one (like it would be done in VM), but entire method is compiled.
 * Analogue with VM doesn't seem correct. Dlinny Lag (talk) 16:22, 5 June 2022 (UTC)

This article should remain short
As noted in the article, the CLR is MS's implementation of the CLI spec. The article on the CLI gives details about the technology. This article should remain short, and serve largely to provide an informatitive redirect to the other. Leotohill 03:13, 2 December 2006 (UTC)

CLR: Microsoft's implementation or standard?
I'm having a problem with CLR == Microsoft's implementation of the CLI. In the Mono article, we have: Mono is a project led by Novell (formerly by Ximian) to create an ECMA standard compliant .NET compatible set of tools, including among others a C# compiler and a Common Language Runtime. So is it the Mono article that is wrong or this one? If CLR is microsoft's implementation of a runtime for CLI, it can't be Mono's too. 66.130.179.31 04:30, 12 May 2007 (UTC)

A "Common Language Runtime" is a program that executes the code. Just like a JVM there can be many different implementations of them. Think of a CLR as a class of programs defined by their shared aim. 217.140.108.2 14:40, 4 October 2007 (UTC)

It's said that the record is from 18/05/2006
but it doesn't much that version. http://en.wikipedia.org/w/index.php?title=Common_Language_Runtime&oldid=53946705 —Preceding unsigned comment added by 217.132.81.63 (talk) 19:54, 4 February 2009 (UTC)

== It is CLR that makes .Net Framework Platform Independent.

Please update this article.
This article is very surprisingly very small. There is so much more i want to know. There is also a version 4 coming up. —Preceding unsigned comment added by 85.64.35.91 (talk) 12:30, 12 June 2009 (UTC)

What can I ignore, and why?
The article says "The CLR allows programmers to ignore many details of the specific CPU that will execute the program", but not what details, or why, or compared to what other environments (which don't allow me to ignore these unspecified details?). —Preceding unsigned comment added by 98.232.11.50 (talk) 15:43, 14 October 2010 (UTC)

Clojure?
I believe that Clojure (as "ClojureCLR") has been implemented for the Common Language Runtime. Should it not feature in the list of languages? UnknownSage (talk) 16:25, 17 November 2012 (UTC) enjoy

Broken Link
The external link to "Components of CLR" is broken. — Preceding unsigned comment added by AngryElephant (talk • contribs) 10:59, 20 February 2017 (UTC)

¶#∞

External links modified
Hello fellow Wikipedians,

I have just modified one external link on Common Language Runtime. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
 * Added archive https://web.archive.org/web/20110425220519/http://www.visualbuilder.com/dotnet/tutorial/clr-%28common-language-runtime%29/ to http://www.visualbuilder.com/dotnet/tutorial/clr-%28common-language-runtime%29/

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

Cheers.— InternetArchiveBot  (Report bug) 10:25, 11 August 2017 (UTC)