Commit 107c1747 authored by Stefan Behnel's avatar Stefan Behnel

merge overview page from user guide into quickstart and delete it

--HG--
extra : transplant_source : p%B5S%9517%99%11%94%06%B9j%FC%1BZt%F28_%D5
parent 3cd6eecb
Cython - an overview
====================
[Cython]_ is a programming language based on Python, with extra syntax
allowing for optional static type declarations. It aims to become a superset
of the [Python]_ language which gives it high-level, object-oriented,
functional, and dynamic programming. The source code gets translated
into optimized C/C++ code and compiled as Python extension modules.
This allows for both very fast program execution and tight integration
with external C libraries, while keeping up the high programmer
productivity for which the Python language is well known.
[Cython] is a programming language that makes writing C extensions
for the Python language as easy as Python itself. It aims to become
a superset of the [Python]_ language which gives it high-level,
object-oriented, functional, and dynamic programming. Its main feature
on top of these is support for optional static type declarations as
part of the language. The source code gets translated into optimized
C/C++ code and compiled as Python extension modules. This allows for
both very fast program execution and tight integration with external C
libraries, while keeping up the high programmer productivity for
which the Python language is well known.
The primary Python execution environment is commonly referred to as
CPython, as it is written in C. Other major implementations use Java
......@@ -19,8 +21,8 @@ has, however, remained non trivial to write the necessary glue code in
C, especially for programmers who are more fluent in a high-level
language like Python than in a close-to-the-metal language like C.
Originally based on the well-known Pyrex [Pyrex]_, the Cython project has
approached this problem by means of a source code compiler that
Originally based on the well-known Pyrex [Pyrex]_, the Cython project
has approached this problem by means of a source code compiler that
translates Python code to equivalent C code. This code is executed
within the CPython runtime environment, but at the speed of compiled C
and with the ability to call directly into C libraries.
......
......@@ -6,7 +6,6 @@ Contents:
.. toctree::
:maxdepth: 2
overview
tutorial
language_basics
extension_types
......
.. highlight:: cython
.. _overview:
********
Overview
********
About Cython
==============
Cython is a language that makes writing C extensions for the Python language
as easy as Python itself. Cython is based on the well-known `Pyrex
<http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/>`_ language by Greg Ewing,
but supports more cutting edge functionality and optimizations [#]_.
The Cython language is very close to the Python language, but Cython
additionally supports calling C functions and declaring C types on variables
and class attributes. This allows the compiler to generate very efficient C
code from Cython code.
This makes Cython the ideal language for wrapping external C libraries,
and for fast C modules that speed up the execution of Python code.
Future Plans
============
Cython is not finished. Substantial tasks remaining. See
:ref:`cython-limitations` for a current list.
.. rubric:: Footnotes
.. [#] For differences with Pyrex see :ref:`pyrex-differences`.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment