This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > Wiki encyclopedia > High-Level Language

High-Level Language

High-level programming language is a machine-independent, process- or object-oriented language. High-level language is a language designed with reference to the language of mathematics, which is similar to everyday conversation. For example, to add two variables and assign them to the third variable, express it in a high-level language as var3=var1+var2.

High-Level Language

Introduction

Computer language is divided into high-level language and low-level language. The high-level language is mainly relative to the assembly language. It is closer to the programming of natural language and mathematical formulas. It basically deviates from the hardware system of the machine and writes programs in a way that people can understand more easily. The program written is called the source program.

High-level language is not a specific language, but includes many programming languages, such as popular java, c, c++, C#, pascal, python, lisp, prolog, FoxPro, easy language, Chinese version of C language Wait, these languages have different syntax and command formats.

The high-level language has nothing to do with the computer's hardware structure and instruction system. It has a stronger expressive ability, can easily represent the data operation and program control structure, can better describe various algorithms, and is easy to learn and master. However, the program code generated by high-level language compilation is generally longer than the program code designed in assembler language, and the execution speed is also slow. Therefore, the assembly language is suitable for writing some programs that require high speed and code length and programs that directly control the hardware. High-level languages, assembly languages, and machine languages are all languages used to write computer programs.

The high-level language program "invisible" the hardware structure of the machine and cannot be used to write system software or device control software that directly accesses the machine's hardware resources. For this reason, some high-level languages provide a calling interface with assembly language. A program written in assembly language can be used as an external procedure or function in a high-level language, using the stack to pass parameters or parameter addresses.

Development path

After the programming language has undergone updates such as machine language and assembly language, people have discovered the key factor that limits the promotion of programs-the portability of programs. Need to design a program that can run on different machines without depending on computer hardware. This can save a lot of repetitive processes of programming and improve efficiency. At the same time, this language should be close to the mathematical language or human natural language. In the 1950s when computers were scarce, the first high-level programming language was born. At that time, computers were expensive, but the amount of calculations per day was limited. How to effectively use the limited computing power of computers became a problem faced by people at that time. At the same time, because of the scarcity of resources, the operating efficiency of computers became the goal pursued by engineers in that era. In order to use computers more efficiently, people have designed high-level programming languages to meet people's pursuit of efficient and simple programming languages. Programs written in high-level programming languages need to be translated and translated into binary numbers recognized by the machine before they can be executed by the computer. Although programs written in high-level programming languages require some time to translate code, which reduces the efficiency of computer execution, practice has proven that the convenience of high-level programming languages for engineers is far greater than the reduced efficiency of execution. After the unremitting efforts of various software engineers and experts, in 1954, the first fully meaningful high-level programming language FORTRAN came out. He completely broke away from the limitations of specific machines and was the first general-purpose programming language. From the advent of the first programming language to the present day, hundreds of high-level programming languages have emerged, and many languages have become milestones on the development path of programming languages, with great influence. For example: BASIC, JAVA, C, C++, python, etc. The high-level programming language has also changed from the early control signals to the current structured and formatted programming tools. The emergence of C++ and other languages has opened a new chapter of object-oriented programming languages. At the same time, with the improvement of software writing efficiency, software development has gradually become a commercial project with scale and industry.

Features

Because it is clearly targeted and easy to understand, a novice can easily learn a high-level programming language. At the same time, because of the history of development, high-level programming languages have many function libraries. Users can add header files to the code according to their needs to call these functions to achieve their own functions. Of course, users can also write functions according to their own preferences to follow up. Code.

As a general programming language, the high-level programming language has nothing to do with the hardware and instruction system of the computer itself. It is more readable, can conveniently express the function of the program, and better describe the algorithm used. At the same time, it is easier to master for beginners and easier to learn. And it is easy to learn and master. However, because the high-level programming language is a compiled language, its running speed is lower than that of the assembler. At the same time, because the high-level language is more verbose, the code execution speed is also slower [6].

High-level programming language, as a user-level programming tool, users do not need to understand the structure of the hardware, but to use logical language to achieve the desired goal, but because the architecture of high-level programming language is higher than assembly, it can not be written directly System programs that access hardware resources, therefore, high-level programming languages must call programs written in assembly language to access hardware addresses.

Classification

Imperative language. The semantic basis of this language is a Turing machine computable model that simulates "data storage/data operations", which is in line with the natural implementation of modern computer architecture. The main way to generate operations is to rely on the side effects of statements or commands. Most modern languages are of this type, such as Fortran, Pascal, Cobol, C, C++, Basic, Ada, Java, C#, etc., and various scripting languages are also regarded as this type.

Functional language. The semantic foundation of this language is a computable model of lambda operator based on value mapping of mathematical function concept. This language is very suitable for computing such as artificial intelligence. Typical functional languages such as Lisp, Haskell, ML, Scheme, F#, etc.

Logical language. The semantic basis of this language is a formal logic system based on a set of known rules. This language is mainly used in the implementation of expert systems. The most famous logical language is Prolog.

Object-oriented language. Most modern languages provide object-oriented support, but some languages are built directly on the basic object-oriented model, and the semantics of the grammatical form of the language are basic object operations. The main pure object-oriented language is Smalltalk.

Performance analysis

Interface analysis

The interface mainly refers to the connection between the high-level language and the assembly language. The Ada language can access the assembly language during the application process. The realization of the access situation only requires the program function. The program function cracks the set link in the process of use. Visit work. For the C language, the assembly language as a whole is regarded as an independent part, and the independent part is added to the C program and has a communication function. For the application of Macros, it can be used in assembly language and complete various tasks with the help of a compiler. The performance of the language has not changed. The relationship between Java and assembly language can be regarded as a code. This code is portable and can be operated directly by transplantation. There are not too many complicated procedures in the operation process.

Addressing analysis

Ada addressing is mainly achieved by SYSTEM, which can be accurately addressed; C addressing needs to be realized by pointers, which can be accurately implemented. For memory addressing, it needs to be completed by peek, Modula-2 addressing Consistent with Ada's situation, it can absorb absolute addressing.

Bit manipulation analysis

For different languages with different bit situations, the clauses expressed can clearly indicate the bit of Ada, there will be many bit situations, combine them and deal with them through the principle of logic. The main function of C is bit operation. For Modula-2, BIYSTE is mainly used, and the bit operation can be accurately performed in this way.

Task support analysis

Different language tasks have different functions. For Ada, there are many tasks, which have strong support and can realize the situation that multiple tasks work at the same time. Compared with Ada, C does not have such advantages. Modula-2 is not as complete as Ada, and needs to be implemented with the help of mechanisms. For such an advantage is Ada, which can be done independently.

Control program analysis

The setting of the system requires a control program. For high-level languages, it will cover a certain control structure. For example, Ada has control capabilities, and its branches can fully control its operation. There is no perfect control structure in C, which is mainly flexible in the use of scores and simple and easy to operate. In the process of use, it should be operated in strict accordance with its provisions to avoid problems caused by human reasons. Modula-2's control system is only a control branch, and the transfer requires the application of FXIT. During the operation, the operation link should be strictly reviewed to avoid problems during the operation. The operation should be conscientious, because human operations in this area are easy to cause problems. form.

How high-level languages work

Programs designed in high-level languages must be "translated" before they can be executed by the machine. There are two methods of "translation", one is interpretation and the other is compilation. Interpretation is the process of translating a source program into a sentence and executing a sentence, while compilation is the process of translating a source program into a target program in the form of machine instructions, and then linking the target program into an executable program before executing it.

Explain the translation process. Programs that interpret and execute high-level language programs are called interpreters (software). Its function is to read in the source program, perform sentence-by-sentence analysis and translation according to the dynamic logic sequence of the source program, explain and execute sentence by sentence, without generating any intermediate code, and finally get the execution result of the program.

ASSOCIATED PRODUCTS

  • XC2C64A-7CPG56C

    XC2C64A-7CPG56C

    CPLD CoolRunner -II Family 1.5K Gates 64 Macro Cells 159MHz 0.18um Technology 1.8V 56-Pin CSBGA

  • XC2C64A-7PCG44C

    XC2C64A-7PCG44C

    CPLD CoolRunner -II Family 1.5K Gates 64 Macro Cells 159MHz 0.18um Technology 1.8V 44-Pin PLCC

  • XC5VFX100T-2FF1136C

    XC5VFX100T-2FF1136C

    FPGA Virtex-5 FXT Family 65nm Technology 1V 1136-Pin FCBGA

  • XC5VFX100T-2FFG1136C

    XC5VFX100T-2FFG1136C

    FPGA Virtex-5 FXT Family 65nm Technology 1V 1136-Pin FCBGA

  • XC5VFX130T-1FF1738C

    XC5VFX130T-1FF1738C

    FPGA Virtex-5 FXT Family 65nm Technology 1V 1738-Pin FCBGA

FPGA Tutorial Lattice FPGA
Need Help?

Support

If you have any questions about the product and related issues, Please contact us.