• Ingenian Bloggers

PYTHON - Simplicidad, flexibilidad y elegancia.

Actualizado: 23 de ago de 2018

Escrito por: Marlon Acosta

Ingeniero desarrollador.



Python nace a finales de los 80's, como un proyecto en el Centro para las Matemáticas y la Informática, CWI por sus siglas en Inglés.

En cuanto al nombre de este lenguaje de programación, se rumora que su creador, Guido van Rossum, lo tomó del sexteto humorístico británico Monty Python del cual era fan, al igual que el término Spam para referirse al correo no deseado.


El Autor y su filosofía:

Antes de adentrarse en las características, propiamente dichas del lenguaje, resulta valioso estudiar su "filosofía", o mejor dicho, en términos prácticos, revisar la versión veinte de "The Python's Enhancement Proposals" o Propuestas de mejora de Python (PEP): The Zen of Python, en donde se nombrar algunos aforismos que nos

acercan a ella; solo voy a nombrar unos pocos:

-Explícito es mejor que implícito. -La legibilidad cuenta. -Simple es mejor que complejo. -Los casos especiales, no son tan especiales como para romper las reglas. -Plano es mejor que anidado

Está última, en terminos prácticos es pasar de tener operaciones con loops —donde en muchos casos, nos tardamos un rato en descubrir que hace el código — a declarar expresiones de una sola línea (y sí, esto es programación funcional) con las funciones propias de las listas y los arrays (reduce, map, forEach, etc).


En cuanto a "Explícito es mejor que implícito", lo considero un atributo clave ya que desde mi perspectiva contribuye a la mantenibilidad del código.


¿Qué es Python?

Bueno, ahora sí, ¿Qué características son las que considero las más llamativas de Python?

Por definición, Python es un lenguaje interpretado, orientado a objetos y de alto nivel.

Ya, pero eso es lo clásico, no?. Seguro, continua:

Viene con estructuras de datos integradas de alto nivel (listas, tuplas, diccionarios, conjuntos, entre otros.), tipado dinámico y enlace dinámico, además soporte para módulos y paquetes que son manejados por pip, que vendría siendo su package manager o administrador de dependencias.


Ahora, en mi experiencia, he pasado por C++ más que por Java y considero que la sintaxis es mucho más legible y la curva de aprendizaje mucho más corta, lo que reduce el costo de mantenimiento de un software, no?


Ahora claro, en cuanto a performance, hemos visto que Python es un lenguaje interpretado, lo que lo hace, de cierta forma, un poco mas lento en ejecución que otros lenguajes, como digamos Java o NodeJS, pero también es cierto que los programas como Java, se demoran mucho, pero mucho más tiempo en ser escritos, y ni hablar después del mantenimiento del código y los despliegues; para poner un ejemplo, imagina el tiempo que gasta un desarrollador, pensando y definiendo los tipos de datos para estructuras y variables en Java, en Python por otro lado, puede utilizar las listas y los diccionarios, estructuras polimórficas muy poderosas.


Solo de demostración, el clásico Hola Mundo:


Phyton-vs-Java

¿Cuáles son las principales aplicaciones de Python?


Cómo Python es un lenguaje que soporte varios paradigmas, tiene una cantidad enorme de paquetes y módulos y es de muy sencilla escritura se ha encontrado un montón de usos, en distintas y a veces no tan distintas áreas:


1. Desarrollo web

2. Backend para Web Services y APIs Rest

3. Integración con Web services SOAP

4. Machine learning

5. Inteligencia Artificial

6. Simulación

7. Infraestructura y DevOps

8. Unit Testing


En próximas partes de esta serie, pienso profundizar un poco más en sus aplicaciones, haciendo la salvedad que la lista es realmente extensa, pero mientras puedes revisar con más detalle todas sus aplicaciones desde la propia página de Python.org.


¡Ah! No hay que olvidar también que hay empresas de gran calibre que confían en Python, empresas como: Youtube (Google), Quora, Yahoo, NASA, IBM, Mozilla, Instagram y Dropbox quien de hecho, contrató a Guido van Rossum en 2012 dándole una cálida bienvenida.


Finalizando por ahora...

En esta breve introducción al mundo de Python, quiero compartir una imagen que resume mi opinión en una caricatura, estoy ansioso por contar más sobre este gran lenguaje y comunidad de desarrollo.





INGENIAN SOFTWARE S.A.S

NIT 830.137.868-6

Carrera 45A # 95 - 37

+57 (1)  746 0800

57 317 667 0783

info@ingenian.com

Atención de Lunes a Viernes de 8:00a.m a 5:00p.m

Brochure-Digital-Ingenian.jpg
  • LinkedIn Ingenian Software
  • Blog Ingenian Software
  • Facebook Ingenian Software

Somos responsables en el Tratamiento de Datos Personales bajo el cumplimiento de la Ley 1581 de 2012, el Decreto 1377 de 2013 y demás disposiciones legales sobre la protección de Datos Personales. Con el envío de cualquier información y/o documento a Ingenian Software por diversos canales de comunicación, el titular de éstos autoriza a efectuar el tratamiento de los mismos por parte de nuestra compañía.