top of page

PYTHON - Simplicidad, flexibilidad y elegancia.

Foto del escritor: Ingenian Bloggers
Ingenian Bloggers
2 ago 2018
3 min de lectura

Actualizado: 23 ago 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:


Diferencia al programar con lenguaje Python y Java
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.





32 comentarios


Julia Erhart
Julia Erhart
14 sept

The points made about "The Zen of Python" really resonated with me, especially the principle that explicit is better than implicit. It’s so true that readability saves an incredible amount of time when maintaining code down the line compared to languages like Java. While balancing coding projects and university coursework last semester, I ended up looking into Assignment Help for College Students Australia  just to keep my head above water with all the deadlines, so I definitely appreciate tools and languages that simplify the workload. The contrast shown in writing a basic script vs full object declarations really highlights Python's elegance. Do you think its lower execution speed is still a major drawback for newer AI frameworks?

Me gusta

Dorable yong
Dorable yong
04 sept

If you had the chance to prepare for site management before taking the position, what would you want to learn first? I would probably look at planning, communication, team coordination, safety, quality, documentation, and resource management. Those subjects can all affect how effectively a site manager keeps a project organized. Your priorities might be different depending on your previous construction experience and the type of role you are aiming for. That is where researching suitable education can become useful. The College of Contract Management provides a relevant learning option through its dedicated site management course. Anyone interested can review the site management course before deciding whether it fits their needs. If the programme covers the areas you want to develop, enrolling…

Me gusta

Na Kr
Na Kr
21 ago

An unwanted car can still have value even when it is no longer reliable enough for daily driving. A Car Scrap Value Calculator seems like a practical resource for owners who want to understand their vehicle's possible scrap value before making a decision.

Me gusta

Emily Jones
Emily Jones
21 ago

Someone in my seminar group brought up HRM assignment help while we were discussing how tough it gets balancing coursework with part-time work during placement season. She mentioned it casually, like it was something a few people quietly used when things got unmanageable. It made me realize how common it is to need a bit of support without making it a big deal.

Me gusta

Herry Jerry
11 ago

I enjoyed reading this article because workplace cleanliness is often overlooked until problems become noticeable. The discussion of OFFICE CLEANING IN VANCOUVER, BC shows why regular cleaning can contribute to a more pleasant and organized working environment.

Me gusta

INGENIAN SOFTWARE S.A.S

NIT 830.137.868-6

CMMI-Nivel-5.png
Marca-Colombia-TICs.png

Av Calle 127 # 14 - 54, Oficina 605

+57 (1)  744 6538

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.

bottom of page