@@ -20,38 +20,37 @@ The Future (Python 3)
2020
2121`Further Reading <http://wiki.python.org/moin/Python2orPython3 >`_
2222
23- Python 3, on the other hand, differs much more greatly from Python 2, so
24- writing code that works both on Python 2 and Python 3 is a very complicated
23+ The difference between Python 3 and Python 2 is much greater, therefore
24+ writing code that works in both Python 2 and Python 3 is a very complicated
2525process.
2626
27- It is still possible to `write code that works on Python 2.6, 2.7 and 3.3
28- <http://lucumr.pocoo.org/2013/5/21/porting-to-python-3-redux/> `_. Depending on
29- the kind of software you are writing, this might be either tricky or extremely
30- hard, and if you're a beginner there are much more important things to worry
31- about.
27+ It is possible to `write code that works on Python 2.6, 2.7 and 3.3
28+ <http://lucumr.pocoo.org/2013/5/21/porting-to-python-3-redux/> `_. This
29+ ranges from tricky to extremely hard depending upon the kind of software
30+ you are writing; if you're a beginner there are far more important things to
31+ worry about.
3232
3333Implementations
3434~~~~~~~~~~~~~~~
3535
36- There are several popular implementations of the Python programming language on
37- different back-ends.
36+ When people speak of *Python * they often mean not just the language but also
37+ the CPython implementation. *Python * is actually a specification for a language
38+ that can be implemented in many different ways.
3839
3940CPython
4041-------
4142
4243`CPython <http://www.python.org >`_ is the reference implementation of Python,
4344written in C. It compiles Python code to intermediate bytecode which is then
44- interpreted by a virtual machine. When people speak of *Python * they often mean
45- not just the language but also this implementation. It provides the highest
45+ interpreted by a virtual machine. CPython provides the highest
4646level of compatibility with Python packages and C extension modules.
4747
4848If you are writing open-source Python code and want to reach the widest possible
49- audience, targeting CPython is your best bet. If you need to use any packages
50- that rely on C extensions for their functionality (e.g., numpy) then CPython
51- is your only choice.
49+ audience, targeting CPython is best. To use packages which rely on C extensions
50+ to function, CPython is your only implementation option.
5251
53- Being the reference implementation, all versions of the Python language are
54- available as CPython .
52+ All versions of the Python language are implemented in C because CPython is the
53+ reference implementation .
5554
5655PyPy
5756----
@@ -63,19 +62,18 @@ features a just-in-time compiler and supports multiple back-ends (C, CLI, JVM).
6362PyPy aims for maximum compatibility with the reference CPython implementation
6463while improving performance.
6564
66- If you are looking to squeeze more performance out of your Python code, it's
65+ If you are looking to increase performance of your Python code, it's
6766worth giving PyPy a try. On a suite of benchmarks, it's currently `over 5 times
6867faster than CPython <http://speed.pypy.org/> `_.
6968
70- Currently PyPy supports Python 2.7. PyPy3 which targets Python 3 was recently
71- available as a beta release. [#pypy_ver ]_
69+ PyPy supports Python 2.7. PyPy3 [#pypy_ver ]_, released in beta, targets Python 3.
7270
7371Jython
7472------
7573
7674`Jython <http://www.jython.org/ >`_ is a Python implementation that compiles
77- Python code to Java bytecode that is then executed in a JVM. It has the additional
78- advantage of being able to import and use any Java class like a Python
75+ Python code to Java bytecode which is then executed by the JVM (Java Virtual Machine).
76+ Additionally, it is able to import and use any Java class like a Python
7977module.
8078
8179If you need to interface with an existing Java codebase or have other reasons to
@@ -88,7 +86,7 @@ IronPython
8886
8987`IronPython <http://ironpython.net/ >`_ is an implementation of Python for the .NET
9088framework. It can use both Python and .NET framework libraries, and can also
91- expose Python code to other .NET languages .
89+ expose Python code to other languages in the .NET framework .
9290
9391`Python Tools for Visual Studio <http://ironpython.net/tools/ >`_ integrates
9492IronPython directly into the Visual Studio development environment, making it
0 commit comments