lunes, octubre 11, 2021

Python: Más allá (aún) de "sólo" hacking, pentesting, IA & Data Science #Python #HackYourCareer

Python cumple nada más y nada menos que 30 años desde el lanzamiento de la versión 0.9 y parece que es ahora cuando más se está escuchando, especialmente en el campo de la inteligencia artificial y la ciencia de datos. Pero, ¿solo podemos aplicar Python dentro de este contexto? ¿Existe algún otro campo donde se pueda utilizar? ¿Tiene algo que hacer frente a otros lenguajes tipo Java, PHP, JavaScript o incluso Lenguaje C?


Son muchas las cuestiones que nos abordan referentes a este lenguaje. Si bien es cierto que Python está viviendo una cierta edad de oro con IA y Data Science, este veterano lenguaje no es para nada un recién llegado, ha sabido evolucionar y adaptarse a las exigencias del mundo Tech a lo largo de estos años, y en le mundo de la ciberseguridad, el pentesting y el hacking es uno de los más utilizados por los makers, hackers & researchers.

Figura 2: Libros de Python para Pentesters y Hacking con Python
de Daniel Echeverri publicados en 0xWord.

Python es uno de los lenguajes de programación más populares que existen en la actualidad debido principalmente a su aplicación en el campo de la AI y Data Science. Se trata de un lenguaje de propósito general, multiparadigma y de código abierto, aunque en sus orígenes se consideró como lenguaje de scripting, el tiempo lo ha situado en el top de los lenguajes más utilizados por los desarrolladores junto con Java, C#, Javascript y Go. Su versatilidad y facilidad de aprendizaje hacen de Python una buena elección tanto para desarrolladores noveles, así como para técnicos más experimentados.

Figura 3: Guido Van Rossum (ahora trabajando en Microsoft)

El origen de Python se sitúa a finales de la década de los 80. Su creador Guido Van Rossum que por aquel entonces trabajaba en el Centrum Wiskunde & Informatica (CWI) decidió darle continuidad a un proyecto iniciado con el lenguaje de programación ABC del que había formado parte. Van Rossum basó la estructura y sintaxis de Python en este lenguaje y su objetivo era desarrollar una sintaxis fácil de usar y aprender y por supuesto que fuera compatible con el software de la época, más concretamente para el sistema operativo Amoeba. Desde la publicación de la primera versión oficial en 1991 Python ha ido evolucionando, ha sabido adaptarse a las nuevas tecnologías haciendo de este uno de los lenguajes con mayor popularidad entre la comunidad de desarrolladores.

En la actualidad Python sigue ganando cuota de mercado y su tasa de crecimiento ha sido de más del 20% por ciento en el primer semestre del año 2021 tal y como se muestra en El informe semestral State of the Developer Nation de SlashData siendo esta la más alta de todas las grandes comunidades de lenguajes de programación. El gráfico que se muestra a continuación refleja esa tendencia:

Figura 4: Ranking de comunidades por lenguajes de programación

Podemos encontrar soluciones web realizadas con Python. Frameworks para el desarrollo web como Django o Flask permiten de manera fácil la integración de protocolos y reducen el tiempo de desarrollo. Por este motivo aplicaciones tan conocidas como son Instagram y Pinterest optaron por utilizarlo, estando esta última completamente desarrollada con este lenguaje de programación. Cabe mencionar que casi el 100% del código de Dropbox está escrito con Python, siendo utilizado en el cliente Desktop y en los controladores de la aplicación web garantizando que Dropbox funcione perfectamente en cualquier sistema operativo gracias a Python

Gracias a a la capacidad de proceso de cálculo de Python cada vez más aplicaciones empresariales optan por incluirlo en su core debido a su capacidad para procesar gran cantidad de cálculos y crear modelos de aprendizaje automático permitiendo incluir en los desarrollos bibliotecas como Keras, Pandas o NumPy. Un ejemplo de este uso es Odoo (antes OpenERP) el cual está desarrollado íntegramente con python 3. Sin ir más lejos, el juego Battlefield 2, aquel juego de batalla en primera persona al que todos nos hemos enganchado en algún momento, está completamente desarrollado con Python, tanto el motor de juego como la parte de las animaciones. La lista es bastante larga, desarrollos como Facebook, Spotify, Netflix, BitTorrent e incluso Google App Engine incluye Python mediante el uso de frameworks para la construcción de sitios escalables y de alto volumen de tráfico o como servicios en gestión de infraestructura en sus proyectos.


La versatilidad de Python no se detiene ahí. Cabe destacar el uso de Python en la creación de sistemas operativos, combinado con C, dando como resultado Ubiquity de UbuntuAnaconda y Fedora de Red Hat, sistemas operativos hechos con Python y que actualmente se encuentran instalados en gran cantidad de dispositivos. Sin embargo, hemos de ser realistas, Python aún tiene mucho camino que recorrer antes de ser considerada como la mejor opción para el desarrollo de apps móviles o para la su ejecución en un entorno de frontend ya que, debido a las propias características del lenguaje su código se ejecuta de forma más lenta que por ejemplo Java o JavaScript.

Teniendo en cuenta los puntos anteriores, nos ha quedado claro la versatilidad de Python no solo en el ámbito de la inteligencia artificial y data science - que también se mezcla con ciberseguridad como hemos visto en decenas de artículos en este blog - sino que este que puede ser usado para la programación del lado del servidor con total garantía. Su fiabilidad y madurez ha hecho decantarse a empresas como AmazonInstagram o Netflix por su integración en sus proyectos obteniendo muy buenos resultados formando parte del stack indispensable de todo proyecto.

Figura 6: Libro de Machine Learning aplicado a Ciberseguridad de
Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández
donde se mezcla Python, con IA y Data Science.

Este veterano lenguaje siempre ha tenido y seguirá teniendo el reconocimiento que se merece dentro de la comunidad tech haciendo que, este proyecto, esté en continua evolución a fin de adaptarse a los nuevos retos tecnológicos. Todo ello unido a la sencillez de su sintaxis, así como una curva de aprendizaje pequeña permite a los desarrolladores junior adquirir gran experiencia en un pequeño período de tiempo está haciendo que la comunidad de desarrolladores Python siga creciendo. Hoy en día incluir Python en los desarrollos es una apuesta segura, donde los profesionales de tecnología no se pueden quedar fuera.

Figura 7: BootCamp Online Backend Python - 20 de Octubre

En el Bootcamp Online Backend Python del que formo parte como docente junto a Manuel S. Lemos, aprenderás Python en un entorno profesional de desarrollo Backend y eso te permitirá explorar numerosas áreas de trabajo: Desarrollo Web, Ciberseguridad, Data Science, Big Data e Inteligencia Artificial. Además, no necesitas experiencia en programación para comenzar. 


El 20 de octubre empieza una nueva edición, 100% Online y con apoyo todas las semanas a través de tutorías grupales. El Bootcamp dura un total de 100 horas pero tienes 24 semanas de acceso a todo el material didáctico. Aquí puedes descargarte el temario completo, y recuerda que tienes Tempos de MyPublicInbox para contactar con los profesionales y material de 0xWord.

Autor: José Marín, Senior Full Stack Developer & Docente en GeeksHubs Academy

No hay comentarios:

Publicar un comentario