CLS is a set of basic rules, which must be followed by each .NET language to be a .NET- compliant language. It enables interoperability between two .NET-compliant languages. CLS is a subset of CTS; therefore, the languages supported by CLS can use each other's class libraries similar to their own. Application programming interfaces (APIs), which are designed by following the rules defined in CLS can be used by all .NET-compliant languages.
Common language specification
The Common Language Specification (CLS) is a set of rules that .NET languages follow to ensure compatibility and interoperability. It defines a common subset of features that language designers must adhere to in order to allow different .NET languages to communicate with each other. By following the CLS, developers can create libraries that can be used across different .NET languages.
The Common Language Specification (CLS) in .NET is a set of rules that any language must follow to be able to interoperate with other .NET languages. It defines a base set of features that all .NET languages should support in order to ensure compatibility and seamless integration between different languages. By adhering to the CLS, developers can create libraries that can be used by any .NET language.
1. CTS (Common Type System ) 2. CLR (Common language Run-time ) 3. CLS (Common language Specification ) 4. Name Spaces 5. Class Library 6. Assembly
The CLS, or Common Language Specification, specifies the "lowest common demoniator" of .NET languages. For example, VB.NET is not case sensitive but C# is. In order to have cross language support, you would have to not have two variables at the same scope that only differ by case in C#. You could then mark the class (or assembly) as CLSComplaint ([CLSComplaint(true)], and then use that object in any other CLR language.
You didn't clarify what type of compliance you are referring to. If you meant CLS (Common Language Specification) complaince, marking an assembly or class as CLS complaint means that you are using a naming convention that all CLR languages can interpret. For example, in a CLS complaint C# class, you could not have two public variables of the same name that only differed in case, because VB.NET is not case sensitive. By creating a CLS complaint object, you can use that object in other .NET languages.
Common Language Runtime Common Language Runtime (CLR) manages the execution of code and provides different services like Garbage collection and support for Base Class Libraries etc. The main constituents of CLR are described below The common Language Runtime (CLR) a rich set of features for cross-language development and deployment. CLR supports both Object Oriented Languages as well as procedural languages. CLR provides security, garbage collection, cross language exception handling, cross language inheritance and so on. The Common Type System, support both Object Oriented Programming languages as well as procedural languages. Basically CTS provides rich type system that is intended to support wide range of languages. CLS (Common Language Specification) defines a subset of Common Type System, which all language compilers targeting CLR must adhere to. CLS is a subset of CTS. All compilers under .NET will generate Intermediate Language no matter what language is used to develop an application. In fact, CLR will not be aware of the language used to develop an application. All language compilers will generate a uniform, common language called Intermediate Language. For this reason IL can be called as The language of CLR A platform for cross language development.
Alloy, a formal specification language, was created in the early 2000s by Daniel Jackson, a professor at the Massachusetts Institute of Technology. It is used for modeling and analyzing software systems.
1
language is a specification where as framework means which extends the functionality of a language so can be a part
ok wait!
Is a specification for the syntax of a programming language.