{"id":8222,"date":"2022-01-27T16:40:03","date_gmt":"2022-01-27T16:40:03","guid":{"rendered":"https:\/\/capitalsoftware.com.ni\/?p=8222"},"modified":"2022-01-27T16:40:05","modified_gmt":"2022-01-27T16:40:05","slug":"python","status":"publish","type":"post","link":"https:\/\/capitalsoftware.com.ni\/?p=8222","title":{"rendered":"\u00bfEs Python el lenguaje del futuro?"},"content":{"rendered":"\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/capitalsoftware.com.ni\/wp-content\/uploads\/2022\/01\/python-670x335-1.jpg\" alt=\"Python es uno de los lenguajes que m\u00e1s usamos en Paradigma junto con Java y Node.js. Desde hace a\u00f1os, hemos llevado a cabo exitosos proyectos desarrollados en este lenguaje.\" class=\"wp-image-8223\" width=\"958\" height=\"479\" srcset=\"https:\/\/capitalsoftware.com.ni\/wp-content\/uploads\/2022\/01\/python-670x335-1.jpg 670w, https:\/\/capitalsoftware.com.ni\/wp-content\/uploads\/2022\/01\/python-670x335-1-300x150.jpg 300w\" sizes=\"(max-width: 958px) 100vw, 958px\" \/><figcaption>El lenguaje Python surgi\u00f3 a principios de los 90 e inicialmente fue desarrollado por\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Guido_van_Rossum\" target=\"_blank\" rel=\"noreferrer noopener\">Guido Van Rossum<\/a>, un ingeniero holand\u00e9s que trabajaba en ese momento en el\u00a0<a href=\"https:\/\/www.cwi.nl\/\">CWI<\/a>\u00a0de Amsterdam, el Centro de Investigaci\u00f3n de Ciencias de la Computaci\u00f3n holand\u00e9s.<\/figcaption><\/figure><\/div>\n\n\n\n<p>Python es un lenguaje de programaci\u00f3n interpretado cuya filosof\u00eda hace hincapi\u00e9 en la legibilidad de su c\u00f3digo.\u200b Se trata de un lenguaje de programaci\u00f3n multiparadigma, ya que soporta parcialmente la orientaci\u00f3n a objetos, programaci\u00f3n imperativa y, en menor medida, programaci\u00f3n funcional.<\/p>\n\n\n\n<p>Hace algunas semanas se public\u00f3 en el\u00a0<a href=\"https:\/\/stackoverflow.blog\/\" target=\"_blank\" rel=\"noreferrer noopener\">blog de Stackoverflow<\/a>, la principal p\u00e1gina de preguntas y respuestas sobre programaci\u00f3n a nivel mundial, un\u00a0<a href=\"https:\/\/stackoverflow.blog\/2017\/09\/06\/incredible-growth-python\/\">interesante art\u00edculo<\/a>\u00a0reflexionando sobre el incre\u00edble crecimiento del uso del lenguaje de programaci\u00f3n en Python.<\/p>\n\n\n\n<p>A ra\u00edz de este art\u00edculo, que ha tenido gran repercusi\u00f3n, queremos hacer un an\u00e1lisis m\u00e1s profundo sobre las causas que han llevado a ser uno de los lenguajes m\u00e1s usados y qu\u00e9 perspectivas de futuro se plantean.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Los or\u00edgenes<\/h2>\n\n\n\n<p>El lenguaje Python surgi\u00f3 a principios de los 90 e inicialmente fue desarrollado por&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Guido_van_Rossum\" target=\"_blank\" rel=\"noreferrer noopener\">Guido Van Rossum<\/a>, un ingeniero holand\u00e9s que trabajaba en ese momento en el&nbsp;<a href=\"https:\/\/www.cwi.nl\/\">CWI<\/a>&nbsp;de Amsterdam, el Centro de Investigaci\u00f3n de Ciencias de la Computaci\u00f3n holand\u00e9s.<\/p>\n\n\n\n<p>Python surgi\u00f3 como un hobby para Guido y su nombre, fue tomado del grupo c\u00f3mico brit\u00e1nico\u00a0<a href=\"https:\/\/www.youtube.com\/user\/MontyPython\" target=\"_blank\" rel=\"noreferrer noopener\">Monty Python<\/a>, del que Guido era un gran fan. Desde sus comienzos,\u00a0<strong>Python naci\u00f3 como un proyecto de software libre y posiblemente deba parte de su \u00e9xito a la decisi\u00f3n de hacerlo c\u00f3digo abierto<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/www.paradigmadigital.com\/wp-content\/uploads\/2017\/11\/Guido-Van-Rossum.jpg\"><img decoding=\"async\" src=\"https:\/\/www.paradigmadigital.com\/wp-content\/uploads\/2017\/11\/Guido-Van-Rossum.jpg\" alt=\"Guido Van Rossum, desarrollador del lenguaje Python\"\/><\/a><\/figure><\/div>\n\n\n\n<p>Actualmente, la evoluci\u00f3n del lenguaje Python es gestionada por la&nbsp;<a href=\"https:\/\/www.python.org\/psf\/\" target=\"_blank\" rel=\"noreferrer noopener\">Python Software Foundation<\/a>, una sociedad sin \u00e1nimo de lucro dedicada a dar difusi\u00f3n al lenguaje y apoyar su evoluci\u00f3n. Guido sigue totalmente involucrado en el desarrollo y en la toma de decisiones de dise\u00f1o.<\/p>\n\n\n\n<p>Est\u00e1 licenciado bajo licencia\u00a0<a href=\"https:\/\/docs.python.org\/3\/license.html\" target=\"_blank\" rel=\"noreferrer noopener\">PSFL<\/a>, derivada de\u00a0<a href=\"https:\/\/es.wikipedia.org\/wiki\/Licencia_BSD\">BSD<\/a>\u00a0y compatible con\u00a0<a href=\"https:\/\/www.gnu.org\/licenses\/gpl-3.0.en.html\">GPL<\/a>. Muchas empresas y organizaciones, como Google, Microsoft o Red Hat, hacen un gran uso de Python y tienen influencia en su evoluci\u00f3n, pero\u00a0<strong>ninguna ejerce un control sobre el mismo<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Caracter\u00edsticas diferenciales<\/h2>\n\n\n\n<p>Python tiene una serie de caracter\u00edsticas que lo hacen muy particular y que, sin duda, le aportan muchas ventajas y est\u00e1n en la ra\u00edz de su uso tan extendido.<\/p>\n\n\n\n<p><strong>Python es un lenguaje multiparadigma<\/strong>, esto significa que&nbsp;<strong>combina propiedades de diferentes paradigmas de programaci\u00f3n<\/strong>. Principalmente es un lenguaje&nbsp;<strong>orientado a objetos<\/strong>, todo en Python es un objeto, pero tambi\u00e9n incorpora aspectos de la programaci\u00f3n imperativa, funcional, procedural y reflexiva.<\/p>\n\n\n\n<p>Una de las caracter\u00edsticas m\u00e1s rese\u00f1ables de Python es que\u00a0<strong>es un lenguaje interpretado<\/strong>, esto significa que no se compila a diferencia de otros lenguajes como Java o C\/C++, sino que es interpretado en tiempo de ejecuci\u00f3n. Adem\u00e1s,\u00a0<strong>es de tipado din\u00e1mico<\/strong>, aunque opcionalmente desde la versi\u00f3n 3.5 podemos hacer uso de tipado est\u00e1tico.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Python es\u00a0<em>cross plataform<\/em><\/h2>\n\n\n\n<p>Es decir,\u00a0<strong>podemos ejecutarlo en diferentes sistemas operativos<\/strong>\u00a0como Windows o Linux simplemente usando el int\u00e9rprete correspondiente.<\/p>\n\n\n\n<p>Algunos le achacan a Python que es m\u00e1s lento en tiempo de ejecuci\u00f3n que otros lenguajes compilados como Java o C\/C++. Y es cierto, al tratarse de un lenguaje interpretado,&nbsp;<strong>Python es m\u00e1s lento<\/strong>.<\/p>\n\n\n\n<p>Sin embargo, esto&nbsp;<a href=\"https:\/\/hackernoon.com\/yes-python-is-slow-and-i-dont-care-13763980b5a1\" target=\"_blank\" rel=\"noreferrer noopener\">no es un gran problema<\/a>,&nbsp;<strong>las diferencias en velocidad son peque\u00f1as<\/strong>&nbsp;y hoy en d\u00eda el cuello de botella en los proyectos de desarrollo de software no est\u00e1 en la CPU.<\/p>\n\n\n\n<p>Gracias a avances como la computaci\u00f3n en la nube, hoy en d\u00eda disponemos de gran capacidad de c\u00f3mputo a un coste muy asequible. El desaf\u00edo est\u00e1 en acortar los tiempos de desarrollo, mejorando la mantenibilidad y calidad del c\u00f3digo. Python pone foco en esto, facilitando la vida a los desarrolladores.<\/p>\n\n\n\n<p>Los principios de dise\u00f1o del lenguaje est\u00e1n guiados por una serie de aforismos recogidos en el \u201c<a href=\"https:\/\/www.python.org\/dev\/peps\/pep-0020\/\" target=\"_blank\" rel=\"noreferrer noopener\">Zen de Python<\/a>\u201d. En estos principios podemos ver que&nbsp;<strong>la legibilidad del c\u00f3digo y favorecer la simplicidad del mismo son partes esenciales del dise\u00f1o del lenguaje desde el principio<\/strong>.<\/p>\n\n\n\n<p>Estas ideas han ayudado mucho a que la curva de aprendizaje de Python sea baja respecto a otros lenguajes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Python como lenguaje de scripting<\/h2>\n\n\n\n<p>Tradicionalmente&nbsp;<strong>Python ha tenido un uso muy extendido como herramienta de scripting<\/strong>, sustituyendo a scripts escritos en&nbsp;<a href=\"https:\/\/tiswww.case.edu\/php\/chet\/bash\/bashtop.html\" target=\"_blank\" rel=\"noreferrer noopener\">bash<\/a>, otros lenguajes de script m\u00e1s limitados o herramientas como&nbsp;<a href=\"https:\/\/www.gnu.org\/software\/gawk\/manual\/gawk.html\">AWK<\/a>&nbsp;o sed. Por ello, Python siempre ha sido un buen compa\u00f1ero de los administradores de sistemas y los equipos de operaciones.<\/p>\n\n\n\n<p>Hoy en d\u00eda,&nbsp;<strong>muchas de las herramientas punteras para gesti\u00f3n de despliegues e infraestructura usan o se basan en Python<\/strong>. Algunas de las m\u00e1s destacadas son&nbsp;<a href=\"https:\/\/www.ansible.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Ansible<\/a>,&nbsp;<a href=\"https:\/\/saltstack.com\/\">Salt<\/a>&nbsp;o&nbsp;<a href=\"http:\/\/www.fabfile.org\/\">Fabric<\/a>.<\/p>\n\n\n\n<p>Otra \u00e1rea en la que Python es pionero es en el mundo del scraping y el crawling, donde podemos extraer informaci\u00f3n de p\u00e1ginas web gracias a t\u00e9cnicas de \u201cscraping\u201d, herramientas de Python como&nbsp;<a href=\"https:\/\/scrapy.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Scrapy<\/a>&nbsp;son muy usadas en este contexto.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Python en el desarrollo web<\/h2>\n\n\n\n<p>Otro de los campos en los que Python ha brillado en los \u00faltimos a\u00f1os es en el desarrollo de aplicaciones web, principalmente gracias a frameworks de desarrollo web muy potentes como&nbsp;<a href=\"https:\/\/www.djangoproject.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Django<\/a>, un framework completo o&nbsp;<a href=\"http:\/\/flask.pocoo.org\/\">Flask<\/a>, un microframework.<\/p>\n\n\n\n<p>Sin embargo, en el ecosistema de desarrollo web existen muchas alternativas y frameworks muy maduros y asentados como&nbsp;<a href=\"https:\/\/symfony.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Symfony<\/a>&nbsp;para&nbsp;<a href=\"https:\/\/php.net\/\">PHP<\/a>,&nbsp;<a href=\"https:\/\/spring.io\/\">Spring<\/a>&nbsp;para&nbsp;<a href=\"https:\/\/www.java.com\/\">Java<\/a>,&nbsp;<a href=\"https:\/\/grails.org\/\">Grails<\/a>&nbsp;para&nbsp;<a href=\"http:\/\/groovy-lang.org\/\">Groovy<\/a>&nbsp;o&nbsp;<a href=\"http:\/\/rubyonrails.org\/\">Rails<\/a>&nbsp;para&nbsp;<a href=\"https:\/\/www.ruby-lang.org\/\">Ruby<\/a>. Todos estos frameworks est\u00e1n continuamente tomando ideas entre ellos, inmersos en ofrecer las mejores alternativas para los desarrolladores.<\/p>\n\n\n\n<p>En este caso&nbsp;<strong>la ventaja que aporta Django<\/strong>, el principal framework para desarrollo web en Python,&nbsp;<strong>es la de ofrecer un marco de trabajo completo y de calidad para desarrollar aplicaciones web muy r\u00e1pido<\/strong>. Como su leitmotiv dice es: \u201cel framework para perfeccionistas con fechas de entrega\u201d.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Big Data, Data Science, AI: el boom de Python<\/h2>\n\n\n\n<p>Sin embargo, al margen de todas las bondades que hemos comentado del lenguaje, en los \u00faltimos a\u00f1os ha ocurrido algo que ha revolucionado y extendido radicalmente el uso de Python.<\/p>\n\n\n\n<p>La generalizaci\u00f3n del&nbsp;<a href=\"https:\/\/www.youtube.com\/watch?v=3AjaLBt6uUU&amp;t=\" target=\"_blank\" rel=\"noreferrer noopener\">Big Data<\/a>&nbsp;en los \u00faltimos a\u00f1os, seguida de la explosi\u00f3n de la&nbsp;<a href=\"https:\/\/www.paradigmadigital.com\/techbiz\/la-ficcion-la-realidad-la-maduracion-la-inteligencia-artificial\/\">Inteligencia Artificial<\/a>,&nbsp;<a href=\"https:\/\/www.paradigmadigital.com\/techbiz\/machine-learning-dummies\/\">Machine Learning<\/a>, Deep Learning y el surgimiento de la ciencia de datos o data science como un nuevo \u00e1rea de trabajo con especialistas propios, ha revolucionado el panorama.<\/p>\n\n\n\n<p>Y es que muchas de las nuevas herramientas que han surgido, y que son explotadas por los ingenieros de datos y los cient\u00edficos de datos, han sido desarrolladas en Python o nos ofrecen Python como la forma predilecta de interactuar con ellas.<a href=\"https:\/\/www.paradigmadigital.com\/wp-content\/uploads\/2017\/11\/grafica1-1.png\"><\/a><\/p>\n\n\n\n<p>Podemos hablar de tecnolog\u00eda para Big Data como&nbsp;<a href=\"https:\/\/databricks.com\/blog\/2015\/04\/24\/recent-performance-improvements-in-apache-spark-sql-python-dataframes-and-more.html\" target=\"_blank\" rel=\"noreferrer noopener\">PySpark<\/a>, de herramientas para Data Science como&nbsp;<a href=\"http:\/\/pandas.pydata.org\/\">Pandas<\/a>,&nbsp;<a href=\"http:\/\/www.numpy.org\/\">NumPy<\/a>,&nbsp;<a href=\"https:\/\/matplotlib.org\/\">Matplotlib<\/a>&nbsp;o&nbsp;<a href=\"https:\/\/www.paradigmadigital.com\/dev\/jupyter-data-science-aplicada\/\">Jupyter<\/a>. De herramientas del procesamiento del lenguaje natural como&nbsp;<a href=\"http:\/\/www.nltk.org\/\">NLTK<\/a>, y por \u00faltimo el \u00e1rea de machine learning que tanto inter\u00e9s est\u00e1 despertando con herramientas como&nbsp;<a href=\"https:\/\/www.paradigmadigital.com\/dev\/tensorflow-sera-futuro-la-inteligencia-artificial-segun-google\/\">Tensorflow<\/a>,&nbsp;<a href=\"http:\/\/mxnet.incubator.apache.org\/\">MXNet<\/a>&nbsp;o&nbsp;<a href=\"http:\/\/scikit-learn.org\/\">scikit-learn<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p>Podemos afirmar que&nbsp;<strong>Python es un lenguaje maduro, con una gran base de desarrolladores, documentaci\u00f3n y proyectos en producci\u00f3n<\/strong>.<\/p>\n\n\n\n<p>El crecimiento en el uso del lenguaje est\u00e1 siendo espectacular gracias, fundamentalmente, a las nuevas tecnolog\u00edas de Data Science y Machine Learning, donde junto con el&nbsp;<a href=\"https:\/\/www.r-project.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">lenguaje R<\/a>&nbsp;es el rey.<\/p>\n\n\n\n<p>Sin embargo, R es un lenguaje m\u00e1s de nicho que proviene del mundo de la estad\u00edstica. Python, por otro lado, es un lenguaje de prop\u00f3sito general y su uso est\u00e1 mucho m\u00e1s extendido.<\/p>\n\n\n\n<p>En la siguiente gr\u00e1fica vemos una proyecci\u00f3n para los pr\u00f3ximos a\u00f1os de Stackoverflow sobre el n\u00famero de visitas que espera recibir en funci\u00f3n de los principales lenguajes de programaci\u00f3n.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/www.paradigmadigital.com\/wp-content\/uploads\/2017\/11\/grafica2.png\"><img decoding=\"async\" src=\"https:\/\/www.paradigmadigital.com\/wp-content\/uploads\/2017\/11\/grafica2.png\" alt=\"Fuente: Stackoverflow\"\/><\/a><\/figure><\/div>\n\n\n\n<p>Otro \u00edndice muy relevante, el&nbsp;<a href=\"http:\/\/pypl.github.io\/PYPL.html\" target=\"_blank\" rel=\"noreferrer noopener\">PYPL<\/a>, basado en la popularidad de los lenguajes de programaci\u00f3n en Google, sit\u00faa a Python como el segundo con un crecimiento del 10% en los \u00faltimos 5 a\u00f1os.<\/p>\n\n\n\n<p>Otros rankings como el del&nbsp;<a href=\"https:\/\/spectrum.ieee.org\/static\/interactive-the-top-programming-languages-2017\" target=\"_blank\" rel=\"noreferrer noopener\">IEEE<\/a>&nbsp;a mediados de 2017, tambi\u00e9n sit\u00faan a Python en los primeros puestos.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/www.paradigmadigital.com\/wp-content\/uploads\/2017\/11\/grafica3.png\"><img decoding=\"async\" src=\"https:\/\/www.paradigmadigital.com\/wp-content\/uploads\/2017\/11\/grafica3.png\" alt=\"Fuente: PYPL\"\/><\/a><\/figure><\/div>\n\n\n\n<p>Si hablamos espec\u00edficamente del \u00e1rea de datos, las comparativas son a\u00fan m\u00e1s demoledoras. Recientemente,&nbsp;<a href=\"https:\/\/www.kaggle.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kaggle<\/a>, la plataforma para Machine Learning y Data Science de Google, ha realizado un&nbsp;<a href=\"https:\/\/www.kaggle.com\/surveys\/2017\">estudio<\/a>&nbsp;recopilando informaci\u00f3n sobre las preferencias de los profesionales del sector.<\/p>\n\n\n\n<p>Un dato muy significativo es la respuesta a la pregunta:&nbsp;<em>\u00bfQu\u00e9 lenguaje de programaci\u00f3n recomendar\u00eda a los nuevos cient\u00edficos de datos aprender primero?<\/em>&nbsp;M\u00e1s del 63% de los encuestados respondi\u00f3 Python.<a href=\"https:\/\/www.paradigmadigital.com\/wp-content\/uploads\/2017\/11\/grafica4.png\"><\/a><\/p>\n\n\n\n<p>En resumen, si eres desarrollador, ingeniero o cient\u00edfico de datos es un buen momento para aprender Python e involucrarse en esta comunidad. En Nicaragua existen diversos\u00a0<a href=\"https:\/\/www.es.python.org\/pages\/comunidades.html\" target=\"_blank\" rel=\"noreferrer noopener\">grupos locales<\/a>\u00a0que organizan diferentes actividades de formaci\u00f3n y divulgaci\u00f3n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python es un lenguaje de programaci\u00f3n interpretado cuya filosof\u00eda hace hincapi\u00e9 en la legibilidad de su c\u00f3digo.\u200b<\/p>\n","protected":false},"author":2,"featured_media":8224,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[41],"tags":[],"class_list":["post-8222","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lenguajes-de-programacion"],"_links":{"self":[{"href":"https:\/\/capitalsoftware.com.ni\/index.php?rest_route=\/wp\/v2\/posts\/8222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/capitalsoftware.com.ni\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/capitalsoftware.com.ni\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/capitalsoftware.com.ni\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/capitalsoftware.com.ni\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8222"}],"version-history":[{"count":1,"href":"https:\/\/capitalsoftware.com.ni\/index.php?rest_route=\/wp\/v2\/posts\/8222\/revisions"}],"predecessor-version":[{"id":8225,"href":"https:\/\/capitalsoftware.com.ni\/index.php?rest_route=\/wp\/v2\/posts\/8222\/revisions\/8225"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/capitalsoftware.com.ni\/index.php?rest_route=\/wp\/v2\/media\/8224"}],"wp:attachment":[{"href":"https:\/\/capitalsoftware.com.ni\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8222"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/capitalsoftware.com.ni\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8222"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/capitalsoftware.com.ni\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}