Si bien existen varias alternativas a MATLAB tales como Scilab y Octave, el uso de Python para sustituir MATLAB va ganando adeptos. Muchos ingenieros y científicos nos consultan respecto a cuales son las verdaderas ventajas Python como nuevo lenguaje de trabajo que consumirá un tiempo valioso de aprendizaje.
Antes de empezar, es importante destacar que MATLAB es una herramienta muy capaz y en algunos campos (aún) no tiene rival. El gran problema de MATLAB es el coste de las licencias junto a algunas inconsistencias de su lenguaje.
El coste de una licencia de MATLAB es a día de hoy de 2000€ más los toolboxes que se requieran (1000€/ud) más 5000€ para el compilador que nos permitirá comercializar nuestro trabajo.
¿Qué alternativas más sencillas y gratuitas existe para MATLAB?
- Octave es el lenguaje más compatible con MATLAB pero tiene la «desventaja» de estar protegido con licencia GPL por lo que, sin entrar en detalle, deberás facilitar el código de tu aplicación (comercial o no) siempre que hagas un cambio en el original y alguien te lo solicite. Por otro lado, Octave carecía de GUI o interfaz gráfica hasta hace bien poco, lo lo hacía menos atractivo que MATLAB. La gran ventaja de Octave es que es el «mismo» lenguaje por lo que si tienes código hecho en MATLAB seguramente funciones «directamente» en Octave.
- Scilab pese a ser de licencia similar a la GPL pero francesa (CECILL), no es compatible de forma directa con MATLAB. Sin embargo tiene la ventaja de tener una IDE muy similar a la de MATLAB y ofrece la única alternativa a Simulink llamada XCOS.
En resumen, si dispones de mucho código MATLAB heredado Octave es la mejor opción, pero si buscas algo similar a MATLAB-Simulink entonces SciLab es tu mejor apuesta. A pesar de que estas opciones salvan los costes licencias, Octave y Scilab tienen las mismas limitaciones técnicas que MATLAB.
Entonces como ingeniero o científico te preguntarás,
¿Por qué es mejor aprender Python para sustituir MATLAB?
- Python es uno de los lenguajes de programación más sencillos de aprender que existen y se enseña en universidades prestigiosas como el MIT.
- Tanto Python como sus paquetes o librerías son gratuitos.
- Están cubiertos por licencia BSD por lo que se permite su comercialización sin ningún tipo de restricción (no tendrás que facilitar el código si no lo deseas).
- Es un lenguaje de programación bien diseñado, fácil de leer y escalable por lo que tu código será util para pequeñas pruebas como para usos industriales.
- La integración con otras herramientas y lenguajes es casi siempre posible.
- Multiplataforma, se puede ejecutar tanto en Linux como en MacOS como en Windows.
- Existe una cantidad de información y documentación en internet incomparable con el resto de alternativas.
- Su comunidad se compone desde aprendices a profesionales de diversos ámbitos (no sólo científico)
- Ejemplo de ello es Nature y Google que lo recomiendan y utilizan.
En resumen, Python es un lenguaje que se usa simplemente para todo (web, bases de datos, redes, interfaces gráficas de usuario, juegos, gráficos, ciencia…)