Object-Oriented is a method to understand and abstract the real world, and it is the product of computer programming technology to a certain stage. Today, object-oriented concepts and applications extend beyond programming and software development to a wide range. such as database system, interactive interface, application structure, application platform, distributed system, network management structure, CAD technology, artificial intelligence and other fields.
The object-oriented language borrowed from the the 1950s AI Language Lisp, introducing the concept of dynamic binding and the idea of interactive development environment. The discrete event simulation language SIMULA67, which began in the 1960s, introduces the essentials and inheritance of the class, and is formed in the Smalltalk of the 1970s.
The development of object-oriented language in two directions: one is a pure object-oriented language, such as Smalltalk, EIFFEL, C #, Java. The other is the mixed object-oriented language, that is, in the process of language and other languages to add classes, inheritance and other components, such as C + +, objective-c.
Object-oriented language operations are based on objects and are not easy to operate at the bottom of the hardware. The process-oriented language is based on the process or function, which is convenient for the underlying hardware, memory and so on, but writing code and debugging maintenance will be troublesome. In addition, there are new requirements for programming today. Just as the original structured model and later object-oriented model were designed to meet the requirements of large programs and giant teams, the key problem with today's tendency to handle more data is parallelism (parallelism). The goal of Microsoft's F # language based on this background is parallelism-to work in parallel on multiprocessor computers. F # is a functional programming (Fp,functional programming) language.
Object-oriented language depicting objective system is more natural, easy to expand and reuse software, mainly has the following four features:
1, recognition, the basic components of the system can be recognized as a group of discrete objects identified;
2, class, the system has the same data structure and behavior of all objects can be composed of a class;
3, polymorphism, the object has a unique static type and a number of possible dynamic types;
4, inheritance, in the basic hierarchical relationship between the different classes to share data and operations.
In the early days of computers, people had to use computers to write programs in machine language or assembly language. The world's first high-level computer language was the Fortran language that was born in the 1954.
The basic language was 1964 by Dartmouth College John G. Kemeny and Thomas E. Kurtz two professors simplified on the basis of Fortran language, suitable for beginners to design a small high-level language, C language is 1972 by the American Bell Laboratory D . M.ritchie has developed a structured programming approach that adheres to top-down principles. The C language is significantly better than other high-level languages in terms of operating system and system usage and where hardware needs to be manipulated, but the C language still faces challenges when writing large programs.
In 1983, Bjarne Stroustrup of Bell Labs launched C + + on the basis of the language. C + + has further expanded and perfected the language, and is an object-oriented programming language. As mentioned above, the typical object-oriented language is as follows:
C # is a simple, secure, object-oriented programming language released by Microsoft in July 2000 and is specifically designed for. NET, and the language developed by the application. It absorbs the advantages of C + +, VB, Delphi, Java and other languages. C # inherits the syntax of the C language while inheriting the object-oriented nature of C + +, but the C # object model has been redesigned for the Internet, using the. NET Framework of the class library.
C # does not provide support for pointer types, making it more robust for programs to not casually access memory address space. C # does not support multiple inheritance, avoiding the dire consequences of multiple inheritance in previous class hierarchies. NET Framework provides a powerful, easy-to-use, logical and consistent programming environment for C #. At the same time, the common language runtime (CLR) provides a managed runtime environment for C #, making the program more stable and secure than ever before.
Java is an object-oriented programming language that can compose cross-platform applications, the Java programming language and Java platform introduced by Sun Microsystem Company in May 1995. Java technology has excellent versatility, high efficiency, platform portability and security, and is widely used in personal PCs, data centers, game consoles, science supercomputers, mobile phones and the Internet. In the global cloud computing and Internet industry environment, Java has a significant advantage and broad prospects.
Java consists of four aspects: the Java programming language, the Java class file format, the Java Virtual machine, and the Java application interface (Java API). Sun's interpretation of the Java programming language is that the Java language is a simple, object-oriented, distributed, explanatory, robust, secure and system-independent, portable, high-performance, multithreaded, and dynamic language.
The Java platform is comprised of Java virtual machines and Java application programming interfaces. The Java application programming interface provides an operating system-independent standard interface for Java applications, which can be divided into basic and extended sections. After installing a Java platform on a hardware or operating system platform, Java applications can run. Java is suitable for team development, software engineering can be relatively standardized, but is not and the Internet mode of continuous modification. The inadequacy of the Internet Software Engineering management, the continuous tinkering leads to the destruction of the architecture.
Sun's introduction of Java as an open technology. The world's number of forgotten Java development companies are required to design Java software that must be compatible with each other. "The power of the Java language test community rather than the power of the company" is one of Sun's slogan, which is completely different from the focus on elites and the closed model advocated by Microsoft.
Python is an object-oriented, interpretive computer programming language, invented by Guido van Rossum in 1989. Python has a rich and powerful library. It is often nicknamed the glue language and is able to easily connect a variety of modules made in other languages, especially in C + +. A common application scenario is to use Python to quickly build a prototype of a program (sometimes even the final interface of the program) and then rewrite it in a more appropriate language, such as a graphics rendering module in a 3D game, with a particularly high performance requirement, and can be rewritten in C + + with a specially requested part. It is then encapsulated as an extension class library that Python can call. It is important to note that you may need to consider platform issues when you use the Extended class library, and some may not provide cross-platform implementations. The Python language and its many expansion libraries make up a development environment that works well for engineering, researchers working with experimental data, charting, and even developing scientific computing applications. Python is a fully object-oriented language. Functions, modules, numbers, and strings are objects. and fully support inheritance, overloading, derivation, multi-inheritance, beneficial to enhance the reusability of the source code. Python supports overloaded operators and dynamic types. Python itself is designed to be extensible. Not all features and functionality are integrated into the language core. Python provides a rich range of APIs and tools so programmers can easily write extensions using C, C + +, Cython. The Python compiler itself can also be integrated into other programs that require scripting languages. As a result, many people also use Python as a "glue language" (glue language). Use Python to integrate and encapsulate programs written in other languages.
Later, the object-oriented language mostly borrowed from the C + + language, which continues to speak of C + + as an object-oriented language feature. The specific syntax of the C + + language is not introduced in detail here, but the process and logic of C + + for the design and implementation of the Polygon object program is introduced.
The development of C + + can be broadly seen as a general programming language developed by B (b), a computer scientist Ken Thompson (Ken Thompson) at Bell Labs around 1969, in Dennis Litch (Dennis Ritchie) to C language, then C + +, then standard C + +, to now managed C + +.
Managed C + +
Hosting principle: The high-level language program is now translated into an intermediate language program that is independent of the specific computer type, and then compiled into machine-related programs when the program is executed on a specific computer. The advantage is that the language program is independent of the machine and can be executed in any calculation, which enhances the portability of the program and realizes the platform independence of the program.
The CLI (Common Language Infrastructure) sets a common set of data type specifications that are independent of the specific machine. The CLR (Common Language Runtime) (similar to a Java Virtual machine) is a standardized program execution environment for. NET that translates intermediate language programs into specific machine language programs.
The specific execution process for hosting is as follows:
. NET platform's main functions
. NET is based on the Internet and the Web, it is independent of any language or platform, there is no limit to the language of the program development, developers can use a variety of. NET compatible language to create. NET programs, which allows multiple programmers to write program code in the same software project, respectively, using their proficient. NET language.
Next time you'll see an individual understanding of VC + + in Visual Studio 2010
>the ISO/IEC C + + standard----unmanaged C + +. This version of C + + is supported on the majority of computer platforms.
>the/CLI Standard----managed C + +. This version was designed specifically for writing programs, the CLR and is an externsion of the ISO/IEC C + +.
Object-oriented programming and language