What will the programming language of the future look like? Compilation, interpretation and compatibility are king

○. What is the future of programming languages?

With the rapid development of technology, programming languages ​​play a vital role in the computer field. They are the core of software development and provide programmers with a bridge to communicate with machines. So, in the future where technology continues to advance, what will be the direction of programming languages?
 

As the saying goes, you learn something new by reviewing the past, and programming languages ​​are no exception.

To discuss the future of programming languages, we first look back at the history of programming languages.

The development of programming languages ​​is closely related to the birth of computers and programmers.

1. The earliest programmers

In 1834, the British mathematician, inventor and mechanical engineer Charles Babbage invented a difference engine.

Ada Lovelace, known as the "Queen of Numbers," wrote the algorithm for the Difference Engine. She wrote the first computer program in history in 1842, and published the world's first set of algorithms in 1843. Ada Lovelace became the world's first programmer. Programming was not a profession at that time.

2. The birth of the programmer profession

On February 14, 1946, the first general-purpose computer ENIAC (Electronic Numerical Integrator and Computer) was launched at the University of Pennsylvania. The profession of programmer was also born.

3. The advent of programming languages

In order to tell the computer what we want to do, we need language to communicate with the computer, which gave birth to programming languages.

(1) Machine  language

The earliest programming language was machine language, which used different permutations and combinations of numbers 0 and 1 to correspond to different machine instructions for programming.


The advantages and disadvantages of machine language are obvious.

1. Advantages:

  • concise
  • Can be executed directly
  • Runs fastest


2. Disadvantages:

  • Poor intuitiveness and inconvenient for humans to read, understand and use
  • It is error-prone and difficult to check and debug the program.
  • Difficult to port because different machines have different instructions

(2) Assembly language (assembly language)

Because machine language is difficult to read, write, and check, and programming efficiency is low, assembly language appeared again.

In assembly language, mnemonics are used to replace the opcodes of machine instructions, and address symbols or labels are used to replace the addresses of instructions or operands, thereby improving the readability of the program code.

 The advantages and disadvantages of assembly language are equally clear.

1. Advantages:

  • The instructions are concise, easy to read and remember
  • Occupies less resources and runs quickly


2. Disadvantages:

  • Poor expression, some logical judgments and loop structures are not intuitive enough
  • Difficult to port because different machines have different assembly instructions

 Of course, current assembly language can already use pseudo-instructions such as .if.+ else +.endif and .while.+.endw, which further improves the readability of the code.

(3) High-level language

On the one hand, with the emergence of electronic computers with different hardware architectures, in order to improve the portability of program codes and avoid repeated programming for computers with different architectures, on the other hand, the use of computers is expanding day by day, and the types of programs that need to be written are increasing day by day. This put forward higher requirements for the expressive ability of programming languages ​​and the efficiency of writing codes, so high-level languages ​​came into being.

High-level languages ​​use statements that are closer to natural language and expressions similar to mathematical formulas for programming, and are basically separated from the hardware system of the machine. This not only enhances the expression ability of the language, but also improves the efficiency of program writing and improves the code quality. portability.

High-level languages ​​are generally divided into interpreted languages ​​and compiled languages.

1. Compiled language

The advantage of a compiled language is that the source program written can be compiled once into an executable program on the target operating system and run directly, and the running speed is fast. The disadvantage is that it cannot run across operating systems and needs to be recompiled.

That is: lock the system, compile once, and run directly.

Typical representatives include C, C++, Pascal, etc.

2. Interpreted Language

The advantage of an interpreted language is that the source program written can run on different operating systems. The disadvantage is that each run requires a corresponding interpreter (virtual machine) for interpretation, and the running speed is slow.

That is: across the system, explained time and time again, and run virtually.

Typical representatives include JavaScript, Python, PHP, etc.

3. Mixed languages

Interpreted languages ​​are suitable for quick verification of algorithms.

Compiled languages ​​are suitable for algorithm deployment applications.

In the era of cloud computing, future programming languages ​​should have the advantages of both interpretation and compilation methods, and be compatible with other languages, that is, hybrid languages.

The current typical example is C#.

In 2022, C# was expected to become TIOBE's programming language of the year, but at the last moment, it lost to C++.

TIOBE has recently announced the programming language rankings for December 2023, and C# has a clear advantage.

Can C# win the first TIOBE Programming Language of the Year? Let’s wait and see…

Guess you like

Origin blog.csdn.net/Purpleendurer/article/details/135265388