Programación de aplicaciones geoespaciales en Python


Manuel Vargas (mfvargas@gmail.com)
Julio de 2020

El lenguaje Python

  • Lenguaje de programación de propósito general.
  • Muy popular en ciencia de datos y aprendizaje de máquinas, además de desarrollo web, scripting y pruebas de sistemas, entre otras áreas de aplicación.

  • Logo de Python

    Crecimiento del lenguaje Python

    Crecimiento del lenguaje Python
    Crecimiento de los principales lenguajes de programación en los países de alto ingreso. Fuente: Stack Overflow.

    Python como primer lenguaje

    Tux
    Fuente: Guo (2014).
  • Introduce buenos "hábitos" de programación.
  • Los programas son fáciles de leer.
  • Requieren menos líneas que otros lenguajes.
  • El origen de Python

    Guido van Rossum
    Guido van Rossum
  • Fue diseñado en 1989 por Guido van Rossum.
  • Inició el diseño como un "pasatiempo" para la época de navidad.
  • Dio a conocer la primera versión en 1991.
  • El origen de Python

    El lenguaje se nombró Python en honor al grupo británico de comedia Monty Python.

    Logo de Python
    "El circo volador de Monty Python". Fuente: IMDB.

    Características de Python

  • Enfatiza la importancia de la "legibilidad" de los programas.
  • Es interpretado: las instrucciones se procesan una por una.
  • Es multiplataforma: puede ejecutarse en los sistemas operativos más populares (ej. Microsoft Windows, macOS, Linux).
  • Características de Python

  • Tiene un sistema de tipos de datos dinámico: las variables pueden tomar diferentes tipos de datos durante la ejecución del programa.
  • Cuenta con administración automática de memoria: el interpretador se encarga de asignar y administrar la memoria de las variables.
  • Soporta varios paradigmas de programación: orientada a objetos, imperativa, funcional y procedimental.
  • Software libre y código y abierto

  • CPython, la implementación de referencia del interpretador de Python es software de código abierto.
  • Su desarrollo se conducido por una comunidad enlazada a través de Internet, la cual mantiene también el Python Package Index (PyPI), un repositorio público para compartir componentes de software programados con Python.
  • Actualmente, el PyPI contiene más de 170000 proyectos.
  • Python Software Foundation

  • Python Software Foundation (PSF) es la organización sin fines de lucro que posee los derechos de propiedad intelectual de Python y que maneja las licencias de software libre con las que se distribuye.
  • Su misión es "promover, proteger y avanzar el lenguaje de programación Python, así como apoyar y facilitar el crecimiento de una comunidad diversa e internacional de programadores de Python".
  • Python en SIG

    Uso de Python en SIG
    Uso de Python en SIG. Fuente: Zambelli et al. (2013).

    Ventajas de Python para uso en SIG

  • Tiene una sintaxis sencilla y relativamente fácil de aprender por parte especialistas en SIG.
  • Es popular y hay muchos recursos disponibles (ej. tutoriales, libros, listas de correo, foros de discusión).
  • Python 2 vs Python 3

  • La versión 3 de Python fue liberada en 2008 y es incompatible con la versión 2.
  • Se recomienda migrar los programas en Python 2 a Python 3 y programar las nuevas aplicaciones en Python 3.
  • A partir de 2020, la versión 2 no recibirá más soporte.
  • Las principales diferencias entre ambas versiones, son realmente pocas.