The language used in my work has always been c ++. Although I had to use C # for a certain period of time due to the project, it was only for the purpose of application. It was just a rough understanding and I didn't study it in depth. However, I know that C # Is a new language developed on the basis of C ++. Aside from its. NET platform, its syntax and semantics design has its advantages. If you are familiar with C #, you can learn a lot from it when using C ++ programming design. (For example, there is no specific syntax in C ++ to limit interface programming principles in Ood. Although we can use a pure abstract class to represent an interface, but C # directly gives us the interface type)
Therefore, you should study C # as an advanced language. Because of the habit we developed when I learned C ++ in that year, I first found a simple teaching material, carefully studied and practiced from the beginning to the end, and then read some advanced and in-depth books. Therefore, I chose Tsinghua University Press's <C # programming language programming and development>, which is not long in length and is not deep in content. It is more suitable for me to study now.
The following are the study notes of Chapter 1.
Chapter 1: Development of programming languages
The programming language contains a complete set of syntax and Semantic Rules. So far, more than 1000 programming languages have been created
1. Machine language and Programming Language
1) low-level language
A low-level language refers to a machine language and an assembly language similar to machine code. Although it is highly efficient in execution, it is readable, portable, and inefficient in programming.
2) advanced language
A high-level language is a machine-independent language. Its syntax and structure are similar to natural languages, and they are far away from direct hardware operations. It has good readability and portability, and is generally accompanied by high-availability library and error check functions.
2 Program Design Mode
1) imperative Program Design (imperative programming)
It is also called process-oriented programming, such as C and Pascal.
2) Functional Programming)
Focus on the evaluation of function expressions, not just the execution of commands. Such as LISP
3) Object-Oriented Programming (Object-Oriented Programming)
This is also a software design methodology. Its main idea is to construct programs based on the object classes, such as C ++, Java, and C #
4) logical Programming)
It is also called constrained programming. It emphasizes the logic attributes of computing rather than the calculation steps and processes, such as Prolog (applied to artificial intelligence)
The Development Trend of programming languages is the generalization of languages and the complexity of programming is constantly reduced.