C # language columns

In an article ( http://www.artima.com/intv/nonvirtualP.html ) Anders Halesberg noted that the version is one of the pillars of the C # language. Does anyone know what other pillars are?

+4
c # language-design
May 28 '10 at 3:21
source share
1 answer

I refer you to the first page of the C # specification, which describes the important factors that went into the design of the language. A few quotes indicate that some of the important factors have been and continue to be:

modern, object oriented and safe type

-

directly familiar to C, C ++, and Java programmers.

-

Modern software design increasingly relies on software components in the form of independent and self-describing functionality packages. The key to such components is that they are a programming model with properties, methods, and events; they have attributes that provide declarative information about the component; and they include their own documentation. C # provides language constructs for directly supporting these concepts, making C # a very natural language for creating and using software components.

-

Several C # functions help in building strong and durable applications: garbage collection [...] exception handling [...] type-safe design

-

C # has a unified type system. [...] values โ€‹โ€‹of any type can be stored, transported and managed in an agreed manner.

-

To ensure that C # programs and libraries can evolve over time in a compatible mode, much attention has been paid to version control in C # design. Many programming languages โ€‹โ€‹pay little attention to this problem, and as a result, programs written in these languages โ€‹โ€‹break more often than necessary when newer versions of dependent libraries are introduced. C # design aspects that were directly influenced by version considerations include separate virtual and override modifiers, method overload resolution rules, and support for explicit declarations of interface members.

+7
May 29 '10 at 4:08
source share



All Articles