{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Mi Python Blog\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hoy comienzo mi nuevo blog en github; este nuevo blog, que se suma a a mi otro blog relopezbriega.com.ar, lo voy a dedicar enteramente a Python. Por tal motivo, en este primer artículo, voy a explicar a grandes rasgos que es Python y por qué me gusta tanto trabajar con [Python](http://python.org) como para dedicarle este blog.\n", "\n", "Python es un lenguaje de programación de alto nivel que se caracteriza por hacer hincapié en una sintaxis limpia, que favorece un código legible y fácilmente administrable. Python funciona en las plataformas Windows, Linux/Unix, Mac OS X e incluso ha sido portado a las máquinas virtuales de Java (a través de [Jython](http://www.jython.org/)) y [.Net](http://es.wikipedia.org/wiki/Microsoft_.NET) (a través de [IronPython](http://ironpython.codeplex.com/)). Python es un lenguaje libre y fácil de aprender que te permite trabajar más rápido e integrar tus sistemas de manera más eficaz; con Python se puede ganar rápidamente en productividad.\n", "\n", "[Python](http://python.org), a diferencia de otros lenguajes de programación como [C](http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n), [C++](http://es.wikipedia.org/wiki/C%2B%2B) o [Java](http://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n) es *interpretado y dinamicamente tipado*; lo que quiere decir que no es necesario compilar el fuente para poder ejecutarlo (*interpretado*) y que sus variables pueden tomar distintos tipos de objetos (*dinamicamente tipado*); esto hace que el lenguaje sea sumamente flexible y de rápida implementación; aunque pierde en rendimiento y es más propenso a errores de programación que los lenguajes antes mencionados.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Principales fortalezas de Python" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Las principales fortalezas que hacen que uno ame a [Python](http://python.org) son:\n", "\n", "* **Es Orientado a Objetos.** [Python](http://python.org) es un lenguaje de programación [Orientado a Objetos](http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos) desde casi su concepción, su modelo de clases soporta las notaciones avanzadas de polimorfismo, sobrecarga de operadores y herencia múltiple. La programación [Orientado a Objetos](http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos) es sumamente fácil de aplicar con la sintaxis simple que nos proporciona [Python](http://python.org). Asimismo, también es importante destacar que en [Python](http://python.org), la programación [Orientado a Objetos](http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos) es una opción y no algo obligatorio como es en [Java](http://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n); ya que [Python](http://python.org) es *multiparadigma* y nos permite programar siguiendo un modelo [Orientado a Objetos](http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos) o un modelo [imperativo](http://es.wikipedia.org/wiki/Programaci%C3%B3n_imperativa).\n", "\n", "* **Es software libre**. [Python](http://python.org) es completamente libre para ser utilizado y redistribuido; no posee restricciones para copiarlo, embeberlo en nuestros sistemas o ser vendido junto con otros productos. [Python](http://python.org) es un proyecto [*open source*](http://es.wikipedia.org/wiki/Open_source) que es administrado por [Python Software Foundation](http://es.wikipedia.org/wiki/Python_Software_Foundation), institución que se encarga de su soporte y desarrollo.\n", "\n", "* **Es portable**. La implementación estandar de [Python](http://python.org) esta escrita en [C](http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n), y puede ser compilada y ejecutada en prácticamente cualquier plataforma que se les ocurra. Podemos encontrar a [Python](http://python.org) en pequeños dispositivos, como teléfonos celulares, hasta grandes infraestructuras de *Hardware*, como las supercomputadoras. Al ser un lenguaje *interpretado* el mismo *código fuente* puede ser ejecutado en cualquier plataforma sin necesidad de realizar grandes cambios.\n", "\n", "* **Es poderoso**. [Python](http://python.org) proporciona toda la sencillez y facilidad de uso de un lenguaje de programación *interpretado*, junto con las más avanzadas herramientas de ingeniería de software que se encuentran típicamente en los lenguajes compilados. A diferencia de otros lenguajes *interpretados*, esta combinación hace a [Python](http://python.org) sumamente útil para proyectos de desarrollo a gran escala.\n", "\n", "* **Fácil integración**. Los programas escritos en [Python](http://python.org) pueden ser fácilmente integrados con componentes escritos en otros lenguajes. Por ejemplo la [C](http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n) [API](http://es.wikipedia.org/wiki/API) de [Python](http://python.org) permite una fácil integración entre los dos lenguajes, permitiendo que los programas escritos en [Python](http://python.org) puedan llamar a funciones escritas en [C](http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n) y viceversa. \n", "\n", "* **Fácil de usar**. Para ejecutar un programa en [Python](http://python.org) simplemente debemos escribirlo y ejecutarlo, no existen pasos intermedios de linkeo o compilación como podemos tener en otros lenguajes de programación. Con [Python](http://python.org) podemos programar en forma interactiva, basta tipear una sentencia para poder ver inmediatamente el resultado. Además los programas en [Python](http://python.org) son más simples, más pequeños y más flexibles que los programas equivalentes en lenguajes como [C](http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n), [C++](http://es.wikipedia.org/wiki/C%2B%2B) o [Java](http://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n).\n", "\n", "* **Fácil de aprender**. Desde mi punto de vista, esta es sin duda la principal fortaleza del lenguaje; comparado con otros lenguajes de programación, [Python](http://python.org) es sumamente fácil de aprender, en tan sólo un par de días se puede estar programando eficientemente con [Python](http://python.org).\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Instalando Python" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### En Linux\n", "\n", "Instalar [Python](http://python.org) en [Linux](http://www.linuxfoundation.org/) no es necesario, ya que viene preinstalado en todas las distribuciones más populares.\n", "\n", "### En Windows\n", "\n", "La forma más sencilla de poder instalar [Python](http://python.org) en Windows es instalando alguna de las distribuciones de [Python](http://python.org) que ya vienen armadas con los principales módulos. Yo les recomiendo la distribución [Anaconda](http://continuum.io/downloads), que se puede descargar en forma gratuita y viene integrada con todos los principales paquetes que vamos a necesitar para trabajar con [Python](http://python.org). Una vez que la descargan, simplemente siguen los pasos del instalador y listo, ya tendrán todo un ambiente [Python](http://python.org) para trabajar en Windows.\n", "\n", "Otra distribución de [Python](http://python.org) que pueden utilizar en Windows, es [WinPython](http://winpython.sourceforge.net/), la cual puede ser utilizada incluso en forma portable.\n", "\n", "\n", "Hasta aquí este primer artículo de mi nuevo blog; los invito a que se instalen y exploren [Python](http://python.org), no solo es fácil de aprender, también es muy divertido programar en [Python](http://python.org)!\n", "\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.4.3+" } }, "nbformat": 4, "nbformat_minor": 0 }