¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Python 3
  3. Por qué escoger Python
Extrait - Python 3 Los fundamentos del lenguaje (4ª edición)
Extractos del libro
Python 3 Los fundamentos del lenguaje (4ª edición) Volver a la página de compra del libro

Por qué escoger Python

Cualidades del lenguaje

1. Puerta de entrada

La experiencia de aprendizaje de Python difiere bastante en función de la experiencia de cada uno. Sea cual sea el lenguaje informático practicado, es necesario tener cierta lógica y ser capaz de dominar ciertos conceptos algorítmicos; para los más jóvenes, hay sitios que permiten aprender divirtiéndose. También es muy recomendable dominar Scratch y practicar con él.

Escoger Python como primer lenguaje es la mejor elección que puede realizar: muy próximo al lenguaje natural y a los conceptos algorítmicos clásicos, le permitirá hacer gran cantidad de cosas de manera muy natural y aprovechar una curva de aprendizaje muy pronunciada.

Esta experiencia de aprendizaje difiere bastante según los lenguajes practicados en el pasado. En efecto, cada lenguaje aporta su propia manera de pensar y su implementación de las técnicas algorítmicas, lo que moldea el pensamiento del que lo practica.

Aprender Python cuando se ha trabajado antes con otro lenguaje es bastante fácil pues se dispone de cierta información esencial, ciertas claves fundamentales que se expondrán a lo largo de este libro.

A continuación, se enumeran algunos principios enunciados por Guido van Rossum:

  • simple e intuitivo,

  • open source, todo el mundo puede contribuir,

  • comprensible, tan sencillo de entender como leer inglés,

  • apropiado para las tareas diarias,

  • permite tiempos de desarrollo cortos.

Para ver un ejemplo práctico, he aquí una ilustración sencilla de la facilidad de uso de Python.

Cuando se desea comprobar que un número entero se encuentra dentro de cierto rango, la expresión lógica matemática que se utiliza sería, en algoritmia:

SI 18 <= edad < 35 ENTONCES mostrar "equipo senior" 

En la mayoría de lenguajes de programación, esta condición debe transformarse utilizando la lógica binaria:

SI (edad >= 18 Y edad < 35) ENTONCES mostrar "equipo senior" 

Lo que da como resultado en Python el siguiente algoritmo concreto:

if edad >= 18 and < 35:  
    print("equipo senior") 

He aquí lo mismo en lenguaje pythónico:

if 18 <= edad < 35: 
    print("equipo senior") 

Volvemos a la expresión lógica inicial: no tenemos...

Difusión

1. Empresas

Python no es un lenguaje de gadget.

A día de hoy, no está tan difundido como debería entre los actores responsables de las decisiones, gerentes y directores, y no está en el núcleo de la mayoría de los principales SS II del mercado, que apuestan por tecnologías de gran renombre.

No obstante, Python está presente en muchos ámbitos, empezando por Google, que lo utiliza en cada vez más proyectos importantes. Está también presente en empresas importantes como YouTube o DropBox.

Estos dos ejemplos ilustran a la perfección el hecho de que Python permita responder a problemáticas de alta disponibilidad, de rapidez, de eficacia. La experiencia adquirida en estos actores de Internet demuestra, con claridad, que la elección de Python está justificada y aporta realmente ventajas. A día de hoy, empieza a imponerse como una referencia en ciertos dominios.

Python se utiliza ampliamente en el conjunto de dominios de excelencia citados antes, en particular para el desarrollo web, debido a la diversidad de soluciones que aporta, y a su simplicidad de implementación. Comienza, por otro lado, a utilizarse en agencias web cuyo núcleo de negocio no es el desarrollo.

Encontramos también muchos desarrollos de aplicaciones cliente/servidor, de scripts de sistema para el mantenimiento o la extracción de datos, así como aplicaciones específicas. Por ejemplo, muchos diseñadores de bancos de pruebas adquieren de forma estándar Python como lenguaje principal para conducirlos: Python se impone poco a poco en el mundo industrial.

Resulta también muy útil para comunicar aplicaciones heterogéneas entre sí (lenguaje-pegamento), y cuando existen restricciones fuertes que dejan a sus principales competidores fuera de juego. Por ejemplo, los autómatas de trading, que trabajan en tiempo real y deben manipular datos en tiempo real, se programan en C/C++, aunque la implementación de algoritmos novedosos, a menudo realizados en tiempo récord, se realizan en Python, el único lenguaje que permite a la vez comunicarse con C y C++, ofrecer tiempos de desarrollo mínimos y realizar un mantenimiento sencillo.

Python también está presente en muchas aplicaciones, como lenguaje de scripting, por ejemplo para OpenOffice/LibreOffice...

Referencias

1. Pesos pesados en la industria informática

a. Google

Google se conoce, principalmente, por su motor de búsqueda, creado por Larry Page y Sergey Brin, y situado en el núcleo de la estrategia de la empresa epónima que fundaron y desarrollaron con éxito. A continuación, han utilizado su situación de casi-monopolio con este motor para agregar funcionalidades basándose en un modelo de desarrollo que se fundamenta en la oferta de servicios gratuitos financiados mediante la publicidad pagada, sobre todo, por otras empresas. Google se ha convertido en uno de los principales capitales bursátiles del mundo.

Estos servicios gratuitos son, por ejemplo, Gmail, la agregación de novedades, YouTube, las redes sociales, así como herramientas compartidas (procesamiento de texto, hojas de cálculo, presentaciones o incluso agendas). Estas herramientas permiten trabajar de manera colaborativa sobre un mismo soporte.

El modelo económico de Google consiste en proveer servicios avanzados a las empresas, que ponen a su disposición mediante API que permiten utilizar de manera muy sencilla las herramientas de Google, así como la publicidad, principal fuente de ingresos.

La empresa se sitúa claramente por un lado con una estrategia de calidad de software que implementa mediante su comunicación y la innovación. De hecho, cuando Google anuncia un producto nuevo, se genera una gran expectativa y el producto lo adopta rápidamente una comunidad de usuarios muy amplia. Al final, el producto se incorpora en muy poco tiempo en los hábitos de consumo de sus usuarios.

Para alcanzar sus objetivos, Google ha incorporado en su equipo a informáticos con talento y, entre ellos, a Guido van Rossum, que trabajó con ellos desde 2005 hasta finales de 2012.

Google invirtió en Python proporcionando recursos para conectar sus API con este lenguaje, utilizándolo de manera interna para sus propios desarrollos y generando documentación como, por ejemplo, guías (https://google.github.io/styleguide/pyguide.html), aunque sobre todo poniendo parte de su departamento de I+D al servicio de la mejora de Python.

b. Mozilla

La fundación Mozilla es una asociación sin ánimo de lucro fundada...

Experiencia

1. Internet de las cosas

Pythonista: Thierry Gayet

Cargo: director técnico

Compañía: AMA SA (Rennes)

Sectores de actividad: médico, industria y seguridad

Servicios proporcionados por la compañía: móvil, Internet de las cosas, objetos conectados, gafas conectadas

Lenguajes utilizados en la compañía: Java, C, C++, Python, bash

Uso de Python:

  • Prototipos/pruebas de concepto.

  • Aplicación Xpert Eye para gafas conectadas.

  • Seguimiento de pruebas de aplicación automatizadas.

  • Mantenimiento de sistemas (backups).

  • Pruebas unitarias.

  • Herramientas de monitorización.

  • Diagnóstico de red.

Testimonio:

Como desarrollador Python con GNU/Linux desde hace varios años, he impulsado su uso en el seno de la compañía AMA SA debido a su rapidez para elaborar prototipos y para la realización de pruebas de concepto.

Gracias a su sintaxis, es bastante fácil de leer y puede asimilarse con rapidez por parte de un desarrollador junior con nociones de desarrollo orientado a objetos. A diferencia del lenguaje Perl, que requiere un poco de perspectiva para comprender el objetivo de un algoritmo, el lenguaje Python le lee realmente de manera muy natural.

Adoro Python porque cuenta con muchos módulos que se pueden utilizar disponibles en PyPi y la accesibilidad a su código fuente facilita su comprensión y su uso.

Todo lo relacionado con la parte del sistema de la solución Xpert Eye de AMA se ha desarrollado con este lenguaje, que ha permitido un desarrollo rápido con una excelente puesta a punto y un buen mantenimiento.

Respecto a otros lenguajes, diría que, como con los scripts bash, es interpretado, lo que permite trabajar sin tener que recompilar todo tras cada modificación.

Además, como digno representante de los lenguajes orientados a objetos, está dotado de todos los patrones de diseño que podemos encontrar en los demás lenguajes.

Hablemos bien de Python 2.x o bien de la versión 3.x, nos parece que es un lenguaje de programación muy extendido, que está presente desde en el descodificador del televisor hasta en el teléfono móvil, pasando por los ordenadores de escritorio o los servidores.

Este lenguaje se ha hecho transversal pasando del desarrollador al tester que utiliza scripts para automatizar sus pruebas o al DSI que realiza sus tareas...