Introduction to the implementation of the Python Programming Language

Source: Internet
Author: User

The following article introduces the "Implementation insider" of the Python programming language. What you are familiar with may be the development history of Python, it may also be a powerful feature in the practical application of the Python programming language. The following is the main description of the article. I hope you will gain some benefits.

In Python, what they might think of is a specific implementation that is sometimes called "CPython" because it is implemented in C. However, as a language specification, Python has been implemented many times with the evolution of the reference implementation of Guido van rosum. This article includes an interview with the founder of two non-standard Python-Stackless and Vyper.

  • Cracking the mystery of the wide application of Python Programming Language
  • Introduction to running helloworld in Python
  • The Python programming language solves several common practical problems
  • Call Matlab in the Python programming language to draw and save data
  • Introduction to the historical development of the Python Programming Language

The Linux zone on the developWorks website is developer resources related to Linux, Linux resources, and Linux development.
As far as I know, you can download and run four Python implementations, and another one is being created. Each implementation has a special reason for its existence. These reasons can be learned from the developer's own words here.

The implementations produced by recompiling compilers or interpreters on different platforms are only slightly different and may have a small amount of Conditional compilation and changes), but the most interesting implementation is for me) is beyond the Platform issues. In fact, most of the Python implementations we will see in this article are multi-platform. The concept of implementation is also different from that of version.

In terms of language features, all the implementations mentioned here are basically in the same language version (1.5.2 ). It is obvious that CPython 1.6/2.0/3000 already has a new basic implementation, but other implementations can also be consistent with those at the language level.

Which programming languages have been re-implemented, how often it is implemented, for what reason, and who has implemented it? It is very difficult to describe this language. Some popular languages that are almost the same as Python-such as perl, REBOL, and PHP-have only one way to compile them into many platforms ). TCL is the most similar to Perl/PHP, but there is indeed a Java platform version called Jacl.

From another extreme point of view, languages such as C, Awk, Cobol, REXX, and Java have been implemented countless times. But those implementations are for licensing, marketing, and other considerations, rather than for implementation concepts and abstraction issues. Those languages that seem to have a special academic significance re-implement much, especially functional, logical, or ultra-pure OOP languages, such as Smalltalk and Eiffel ). There are dozens of implementations and derivatives in Lisp, even hundreds of them.

Unlike the Python implementation we will discuss, the derivation of Lisp often introduces many new language features while providing new implementations. The Python implementation is largely the same as the main CPython version of Python. All existing versions are the result of open source code cooperation. In this case, innovation has little to do with market positioning, and even has nothing to do with the license battle that sometimes leads to the split of open source code projects.

In addition, different Python versions are not actually a branch of the traditional sense, but are concentrated on different concepts. These concepts prove that they are actually Python implementations.

JPython and Python. NET are not described in detail. JPython is a Java compiler used to compile Python source code into Java bytecode. The Python application is finally run in the JVM user may not know that it is written in Python source code rather than Java, and they do not need to care about it. Python. NET is an undelivered implementation, but it -- at least in Structure -- will be similar to JPython.

Python. NET will allow Python to participate in Microsoft's. in the. NET project, this project is basically similar to a project that can run in various languages such as the new C #, Visual, Basic, C ++, and Python) non-Java VM of the program. Please pay attention to the information released by these developers at any time.


 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.