1. What is a programming language
A programming language should have basic elements:
1. Type system (variable can be defined)
2. Composite type (for example: struct, Enum, class, interface)
3. Cyclic structure
4. Judging the structure
5. Functions, and their invocation specifications
6. Compiler, can compile this language source code, compiled, specific platform can execute code
This is what makes up a programming language
2. Runtime (Runtime)
The runtime contains the basic environment for the program to run, with dynamic memory---heap, wired stacks, and the most basic runtime function libraries, such as file read/write APIs, string manipulation, and so on.
The CLR is called the Common language runtime (Common Language Runtime)
1. Both ctsc# and vb.net are managed code for the common language runtime, and their syntax and data types vary. How does the CLR host these two different languages? Common type systems (Common type System) are used to solve problems with different data types in different languages, such as int in C #, and integer in vb.net, which we compile into two generic type Int32 by CTS. All of them. NET language to share this type of system, enabling seamless interoperability between them. 2. The difference between CLS programming languages is not only the type, but also the syntax or language specification. So. NET limits the interoperability issues raised by these different points by defining common language Specifications (Common Language specification). CLS is a standard of the lowest language and has developed a kind of. NET platform as the target language must support the minimum characteristics, as well as the language and others. NET language to achieve interoperability between the Any language that complies with this standard is in. NET Framework can be implemented to invoke each other. For example, naming in C # is case-sensitive, and vb.net is case-insensitive, so the CLS stipulates that the compiled intermediate code must have a different exception than the case. 3.. NET compilation technology in order to achieve cross-language development and cross-platform strategic objectives. NET all of the applications written are not compiled into native code, but compiled into Microsoft intermediate code MSIL (Microsoft intermediate Language). It will be converted by the JIT (Just in time) compiler into machine code. C # and VB.net code are compiled by their respective compilers into Msil,msil to conform to the general syntax, the CPU does not need to know about it, and then compiles it into the appropriate platform-specific code by the JIT compiler, which is referred to as our operating system. This kind of compilation realizes the code to be managed, also can improve the running efficiency of the program.
Thinking of programming language and Language runtime