miércoles, 18 de mayo de 2011

Python vs. Matlab

En el aporte del día de hoy daré mi punto de vista y comparación entre 2 herramientas de programación usadas ampliamente por desarrolladores e investigadores: Python y Matlab. Resaltaré los puntos fuertes y débiles de cada uno de estos lenguajes, y no diré cual es mejor, pues esa respuesta depende mucho del contexto de la aplicación; sin embargo complementaré la respuesta y diré cual es mejor para determinados propósitos, ya que ambas herramientas son excelentes, dependiendo del propósito para el cual se estén usando.


Matlab

Matlab es una herramienta muy potente, principalmente usada en el ámbito académico y de investigación por la rapidez con la cual se pueden desarrollar algoritmos. Está diseñado para probar metodologías, sin tener que preocuparse por los detalles de implementación. Lo anterior, lo hace ideal para pruebas preliminares y para validar determinados métodos de forma rápida y confiable. Los Toolboxes disponibles proveen muchas funciones y librerías que hacen muy fácil la implementación de algoritmos complejos para todo tipo de procesamiento. Adicionalmente, está disponible tanto para sistema operativo Windows, como para sistemas Linux.

La principal desventaja de esta herramienta es que no es un sistema gratis, y además es costoso, pues es necesario comprar cada Toolbox por aparte. Además, no es posible generar aplicaciones stand alone, sino que siempre es necesario instalar las librerías en el equipo en el cual se ejecutará la aplicación, con su correspondiente licenciamiento.

Python

Python es libre y de código abierto, viene preinstalado en muchas de las distribuciones actuales de Linux, y también puede ser instalado en Windows. Es un lenguaje orientado a objetos sencillo de usar cuya curva de aprendizaje es muy corta. No tiene tantas funcionalidades y herramientas como las que ofrece Matlab, pero aún así es muy sencillo de usar. Python es el punto intermedio entre C++ y Matlab.

En cuanto a librerías y herramientas, están a disposición una gran cantidad de módulos que se pueden descargar de forma gratuita. Por otra parte, Python permite generar ejecutables finales para aplicaciones stand alone, sin necesidad de instalar librerías adicionales en el equipo final.

En conclusión...

Matlab es una excelente herramienta para investigar y desarrollar (si se tienen los recursos necesarios para las licencias), pues permite ahorrar mucho tiempo en validación. Sin embargo, cuando se debe pasar a un entorno de producción y desarrollar aplicaciones para usuarios finales, recomiendo Python.

No hay comentarios:

Publicar un comentario