Commit c9349335 authored by Stefan Behnel's avatar Stefan Behnel

merge overview page from user guide into quickstart and delete it

parent cc0caff9
Cython - an overview Cython - an overview
==================== ====================
[Cython]_ is a programming language based on Python, with extra syntax [Cython] is a programming language that makes writing C extensions
allowing for optional static type declarations. It aims to become a superset for the Python language as easy as Python itself. It aims to become
of the [Python]_ language which gives it high-level, object-oriented, a superset of the [Python]_ language which gives it high-level,
functional, and dynamic programming. The source code gets translated object-oriented, functional, and dynamic programming. Its main feature
into optimized C/C++ code and compiled as Python extension modules. on top of these is support for optional static type declarations as
This allows for both very fast program execution and tight integration part of the language. The source code gets translated into optimized
with external C libraries, while keeping up the high programmer C/C++ code and compiled as Python extension modules. This allows for
productivity for which the Python language is well known. 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 The primary Python execution environment is commonly referred to as
CPython, as it is written in C. Other major implementations use Java 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 ...@@ -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 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. 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 Originally based on the well-known Pyrex [Pyrex]_, the Cython project
approached this problem by means of a source code compiler that has approached this problem by means of a source code compiler that
translates Python code to equivalent C code. This code is executed translates Python code to equivalent C code. This code is executed
within the CPython runtime environment, but at the speed of compiled C within the CPython runtime environment, but at the speed of compiled C
and with the ability to call directly into C libraries. and with the ability to call directly into C libraries.
......
...@@ -6,7 +6,6 @@ Contents: ...@@ -6,7 +6,6 @@ Contents:
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
overview
tutorial tutorial
language_basics language_basics
extension_types 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