EL LENGUAJE DE PROGRAMACIÓN PYTHON

 

Nació a fines de los '80, creado por Guido Van Rossum (Que ahora trabaja para Google). El nombre sale de la serie preferida de Guido (Monty Python, los que inventaron el término SPAM :P)

Python es un ejemplar de un lenguaje de alto nivel; otros ejemplos de lenguajes de alto nivel son C, C++, Perl y Java.

Python se considera como lenguaje interpretado porque los programas de Python se ejecutan por medio de un intérprete. Existen dos maneras de usar el intérprete: modo de comando y modo de guión. En modo de comando se escriben sentencias en el lenguaje Python y el intérprete muestra el resultado.

-----------------------------------------------------------------------------------

$ python

Python 1.5.2 (#1, Feb 1 2000, 16:32:16)

Copyright 1991-1995 Stichting Mathematish Centrum, Amsterdam

>>> print 1 + 1

2

------------------------------------------------------------------------------------

CARACTERISTICAS PRINCIPALES 


* Es un lenguaje de alto nivel (expresa los algoritmos de una manera adecuada a la capacidad cognitiva humana).

* Python es multiparadigma, ya que soporta orientación a objetos, programación imperativa y programación funcional.

* Es compatible hacia atrás, los programas hechos en versiones anteriores funcionan en las versiones nuevas.

* Es un lenguaje interpretado, usa tipado dinámico, es fuertemente tipado y multiplataforma.

* Toma las mejores características de varios lenguajes en una sintaxis sencilla. Aporta la indentación como delimitador de bloques.

* Los programas en Python suelen ser más cortos que en otro lenguaje por sus tipos de datos de alto nivel, la indentación y que no son necesarias las declaraciones de variables ni argumentos de funciones. A pesar de esto último, tiene más verificación de errores que C.

* Pueden crearse aplicaciones de escritorio con interfaces visuales accediendo a componentes escritos en .Net (Microsoft), Qt, GTK, MFC, Swing (Java) etc.

* Aplicaciones que se ejecutan en un servidor web

* Programas no visuales que tengan como objetivo sistematizar procesos de administración del equipo.

* Aplicaciones para celulares.

 

Características de Python

Desarrollaremos tales características para que el usuamrio neófito en la materia entienda ciertas cuestiones a la hora de decidirse a programar en este fabuloso lenguaje:

Simple
Python es un lenguaje simple y minimalista. La lectura de un buen programa de Python se siente casi como leer Inglés, aunque el Inglés muy estricto! Este tipo de pseudo-código de Python es uno de sus mayores fortalezas. Que le permite concentrarse en la solución al problema en lugar de la propia lengua.
Fácil de aprender
Como se verá, Python es extremadamente fácil de empezar a utilizar. Python tiene una sintaxis extraordinariamente simple, como ya se mencionó.
Libre y de código abierto
Python es un ejemplo de un FLOSS (Free / Libre y Open Source Software). En términos simples, puedes distribuir libremente copias de este software, leer su código fuente, modificarlo, y usar fragmentos de él en nuevos programas libres.Software libre se basa en el concepto de una comunidad que comparte conocimiento. Esta es una de las razones por las que Python es tan bueno - que ha sido creado y es constantemente mejorado por una comunidad que sólo quieren ver un mejor Python.
Lenguaje de alto nivel
Al escribir programas en Python, nunca tendrá que preocuparse por los detalles de bajo nivel como la gestión de la memoria utilizada por el programa, etc
Portátil
Debido a su naturaleza de código abierto, Python ha sido portado a (es decir, cambiado para hacerlo funcionar) muchas plataformas. Todos los programas de Python pueden trabajar en cualquiera de estas plataformas sin requerir ningún cambio en absoluto si usted es lo suficientemente cuidadoso para evitar cualquier dependiente del sistema características.
Puede utilizar Python en Linux, Windows, FreeBSD, Macintosh, Solaris, OS / 2, Amiga, AROS, AS/400, BeOS, OS/390, z / OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE, e incluso PocketPC!
Interpretado
Esto requiere un poco de explicación.
Un programa escrito en un lenguaje compilado como C o C + + se convierte en el idioma fuente, es decir C o C + + en un idioma que se habla por el ordenador (código binario, es decir 0 y 1) con un compilador con varias banderas y opciones. Cuando se ejecuta el programa, el programa enlazador / cargador copia el programa desde el disco duro a la memoria y comienza a correr la misma.
Python, por otra parte, no necesita la compilación de binarios. Usted acaba deejecutar el programa directamente desde el código fuente. Internamente, Python convierte el código fuente en una forma intermedia llamada bytecodes y luego traduce en el lenguaje nativo de tu computadora y luego lo ejecuta. Todo esto, en realidad, hace que el uso de Python mucho más fácil ya que no tiene que preocuparse por la compilación del programa, asegurándose de que las bibliotecas adecuadas están vinculadas y se carga, etc Esto también hace que sus programas Python mucho más portátil, ya que sólo puede copia de su programa de Python en otra computadora y funciona!
Orientada a Objetos
Python admite el procedimiento orientado a la programación, así como programación orientada a objetos. En orientados a procedimientos idiomas, el programa se basa en procedimientos o funciones que no son más que piezas de programa reutilizables. En orientada a objetos idiomas, el programa se articula alrededor de objetos que combinan datos y funcionalidad. Python tiene una manera muy poderosa y simple de hacer programación orientada a objetos, especialmente cuando se compara con grandes lenguas como C + + o Java.
Extensible
Si usted necesita una pieza fundamental en la ejecución de código muy rápido o quieres pasar un buen trozo de algoritmo que no se abra, puede codificar esa parte de su programa en C o C + + y luego usarlo desde su programa en Python.
Integrable
Usted puede insertar Python dentro de la carpeta C / C + + para ofrecer las facilidades 'scripting' para los usuarios de su programa.
Las bibliotecas extensas
La biblioteca estándar de Python es de hecho muy amplia. Le puede ayudar a hacer las cosas diferentes relacionados con las expresiones regulares, generación de documentación, las pruebas unitarias, roscado, bases de datos, navegadores web, CGI, FTP, correo electrónico, XML, XML-RPC, HTML, archivos WAV, criptografía, GUI (interfaz gráfica de usuario), tk, y otras cosas que dependen del sistema. Recuerde, todo esto está siempre disponible donde quiera que Python está instalado. Esto se conoce como la "pilas incluidas" la filosofía de Python.
Además de la librería estándar, hay varias otras de alta calidad, tales como bibliotecas wxPython , Twisted , Python Imaging Library y muchos más.

Python es de hecho un lenguaje potente y emocionante. Tiene la combinación perfecta de rendimiento y las características que hacen que la escritura de programas de diversión y fácil de Python.

 

¿Por qué no Perl?

Si no lo sabías, Perl es otro de código abierto muy popular lenguaje de programación interpretado.

Si alguna vez ha intentado escribir un gran programa en Perl, que habría respondido a esta pregunta a ti mismo! En otras palabras, los programas de Perl son fáciles cuando son pequeños y se destaca en pequeños hacks y scripts para "hacer el trabajo". Sin embargo, no tardaron en ser difícil de manejar una vez que comience a escribir programas más grandes y estoy hablando esto de mi experiencia de escribir grandes programas de Perl en Yahoo

En comparación con Perl, Python programas son definitivamente más simple, más claro, más fácil de escribir y por lo tanto, más comprensible y fácil de mantener.Admiro Perl y yo lo uso a diario para varias cosas, pero cada vez que escribo un programa, siempre empiezo a pensar en términos de Python, ya que se ha vuelto tan natural para mí. Perl ha sido objeto de tantos hacks y los cambios, que se siente como que es grande (pero un infierno de) hack. Lamentablemente, el próximo 6 de Perl no parecen estar haciendo las mejoras con respecto a este.

La única ventaja y muy importante que creo que tiene Perl, es su enorme CPANbiblioteca - la Comprehensive Perl Archive Network. Como su nombre indica, se trata de una colección de módulos Perl gigantescos y es simplemente alucinante, debido a su gran tamaño y profundidad - que usted puede hacer prácticamente cualquier cosa que puedes hacer con un ordenador con estos módulos. Una de las razones por las que Perl tiene más librerías que Python es que ha existido por mucho más tiempo que Python. Sin embargo, esto parece estar cambiando con el creciente índice de paquetes Python .

¿Por qué no Ruby?

Si no lo sabías, Ruby es otro de código abierto populares interpretan el lenguaje de programación.

Si ya te gusta y el uso de Ruby, entonces me recomendaría usted para seguir utilizándolo.

Para otras personas que no lo han usado y están tratando de determinar si para aprender Python o para aprender Ruby, entonces yo recomendaría Python, desde una perspectiva meramente facilidad de aprendizaje. Yo he encontrado dificultades para captar el lenguaje Ruby, pero para la gente que entiende Ruby, que toda la alabanza de la belleza de la lengua. Por desgracia, yo no soy la misma suerte.

¿Qué dicen los programadores

Puede que le resulte interesante leer lo que los grandes hackers como ESR tienen para decir sobre Python:

  • Eric S. Raymond es el autor de "La Catedral y el Bazar" y es también la persona que acuñó el término Open Source . Dice que Python ha convertido en su lenguaje de programación favorito . Este artículo fue la verdadera inspiración para mi primer contacto con Python.
  • Bruce Eckel es el autor de la famosa Pensando en Java y Thinking in C + +libros. Él dice que ninguna lengua lo ha hecho más productivos que Python. Dice que Python es quizás el único lenguaje que se centra en hacer las cosas más fáciles para el programador. Lea la entrevista completa para más detalles.
  • Peter Norvig es un conocido autor de Lisp y el director de calidad de búsqueda en Google (gracias a Guido van Rossum por señalarlo). Dice que Python siempre ha sido una parte integral de Google. En realidad se puede comprobar esta afirmación mirando el Google Jobs página que lista conocimiento de Python como un requisito para los ingenieros de software.