Computer Basics - Programming Language Category

What is the programming language

People can direct input binary package label associated input to a subsequent step by step development of high-level language command of the operation of this machine with the computer's hardware with the binary nature of the way

History of Programming Language Development

Machine language (slave standing angle)

Direct direct communication with the computer in binary
ps: Why is binary, because of computer-based electrical work, but only the high and low frequency electrical signals
assembly language (standing slaves angle)
instead of the binary operation directly with a simple hardware English label
High language (standing on the perspective of the slave owners)
were able to communicate with humans to identify language and computer

Machine language

Advantages: High efficiency
disadvantages: low efficiency of the development

Machine language programming

Inside the computer can only accept binary code, therefore, a binary 0 and 1 command called machine instructions described in the machine language of a collection of machine instructions all computers, machine language programming program called the object program. Only the target program can be directly recognized and executed. However, a program written in machine language no obvious features, difficult to remember, inconvenience reading and writing, and depending on the particular model, significant limitations, machine language belongs to low-level language.
To compile the program code for all such instructions 0 and 1, intuitive difference, error-prone. In addition to computer manufacturers professionals, the vast majority of programmers no longer have to learn the language of the machine.
Machine language understood by a microprocessor and used for controlling the operation of its binary code.
While the machine language seems to be very complicated, but it is regular.

Assembly language

Assembly language similar to machine language, assembly language but just a bunch of binary numbers written a word of English. So you do not need to remember binary numbers, but a need to remember a word of English, which is also a big project
advantages (compared to machine language): the development of high efficiency
disadvantages (compared to machine language): Low efficiency

Assembly Language Programming

Assembly language and machine language essence are the same, are operating directly on the hardware, but uses a command identifier abbreviation is easier to recognize and remember. It also requires the programmer to every step of the specific operation command of written form. Each one of assembler instructions corresponding to only a very slight movement of the actual operation. Such as mobile, self-growth, so the assembler source is generally more lengthy, complex, error-prone, and the use of assembly language programming requires more computer expertise, but the advantage is obvious assembly language, assembly language can be completed operations not a general high-level language that can be achieved, but the source was compiled executable file generated only relatively small and fast execution.

Compilation print a hello world, you need to write more than a dozen lines of code, also drunk.

; Hello.asm
sectionTop .data; data segment declaration
msg db "Hello, world!" , 0xA; to the output string
len equ $ - msg; wordlength
section .text; declaration code segment
Global _start; designated entry function
_start :; string displayed on the screen
mov edx, len; three parameters: string length
mov ecx, msg; two parameters: the string to display
mov ebx, 1; a parameter: the file descriptor (stdout)
mov eax, 4; system call number (SYS_WRITE)
int 0x80; call the kernel function
; exit the program
mov ebx, 0; one parameter: the exit code
mov eax, 1; system call number (sys_exit)
int 0x80; calls the kernel function


High-level language

The advent of high-level language, direct the employer to understand the language and grammar style high-level language program, program ape to go out of order to consider the complexity of the hardware operations.
Advantage (compared to assembly language): development of high efficiency (learn python you will find obvious)
disadvantages (compared to assembly language): Low efficiency (hardware and no longer interact directly)
We use high-level language programs written in the final analysis or to to execute the computer, but the computer only recognize binary instruction. This involves a process of translation, we need people to translate programs written in high-level language into binary instructions a computer can understand only performed in a different translation methods, high-level language and compiled and interpreted divided into two categories .

Compiled

Compiled professional interpreted as: the use of specialized compiler for a particular platform, the one-time high-level language source code compiled into machine code that can be executed by the platform hardware and packaged into an executable program of the platform can recognize format, and only needs to be compiled once and no longer have to compile.

Advantages (compared interpreted): High efficiency
disadvantages (relatively interpreted): Low development efficiency

Interpreted

Professional interpreted interpreted as: the use of specialized interpreters to explain the source code into machine code line by line platform-specific and immediate implementation, it does not require pre-compiled directly into machine code directly run the code explained that, as long as that is one platform providing the appropriate interpreter to run the code. In fact, it can be understood as simultaneous interpretation, we need to be translated, find a translator, an interpreter translated the caller said one, the next need a translator or interpreter translated sentence by sentence.

Disadvantages (compared compiled): Low efficiency (I drop obediently, write once translated once)
disadvantages (compared compiled): development of high efficiency (write a line of translation line, wrong immediately know, my mother no longer have to worry about looking for me less than a bug)

High-level language programming

High-level language is the choice of most programmers. And compared to assembly language, it is not only the synthesis of a number of machine instructions associated with a single instruction, and removes the specific details of the operation related to but independent of the completion of the work, for example, stacks, registers, etc., thus greatly simplifying the program instructions . Also, because many of the details are omitted, the programmer will not need to have a lot of expertise.

High-level language is relative to the main assembly language is concerned, it is not specific to a certain kind of specific language, but includes many programming languages, like most simple programming language PASCAL language also belongs to the high-level language.

High-level language program compiled not directly recognized by the computer, must be performed in order to go through the conversion, by converting them into fashion can be interpreted and compiled.

Compiled language programming

Compiling source means prior to the application execution, the program source code will be "translated" into object code (machine language), so that the target program may be executed independently from its locale is generated after the (compiled executable file, is to be understood that cpu the composition of the binary machine code), use more convenient, more efficient. But once the need to modify the application, you must modify the source code, then recompile to generate a new object files (* .obj, which is OBJ file) to perform, only the target file without the source code, modify inconvenient. You do not need to re-translation program run after compiling, compiled the results directly on the line. High efficiency of program execution, depending on the compiler, cross-platform hearing. Such as C, C ++, Delphi and so on.

Interpreted programming language

Implementation similar to our daily life "simultaneous translation", while the application source code by an interpreter, the language "translation" into object code (machine language), while performing, the efficiency is relatively low, and can not be generated independently executing the executable file, the application can not be divorced his interpreter (want to run, you must first install the interpreter, just like talking to a foreigner, must have interpreter present), but this approach is more flexible, can dynamically adjust, modify the application program. Such as Python, Java, PHP, Ruby and other languages.

Mainstream programming language

Go is an open source programming language, which allows a simple structure, reliable, and efficient software easier. Go from the end of 2007 was chaired by Robert Griesemer, Rob Pike, Ken Thompson developed, and later joined Ian Lance Taylor, Russ Cox and others, and finally in November 2009 open source, in early 2012 released a stable version Go 1 . Go now development has been completely open and has an active community. GO good at its concurrent programming.
Python is an excellent comprehensive language, Python's aim is simple, elegant, powerful, widely used in artificial intelligence, cloud computing, financial analysis, large data development, WEB development, automated operation and maintenance, testing and other direction, is the world's first the most popular of the four major languages.



more and more, for Baidu Google to find!

Guess you like

Origin www.cnblogs.com/suren-apan/p/11374603.html