¿Cuáles son las ventajas de aprender diferentes lenguajes de programación para un ingeniero mecánico?

Cada problema en la ciencia generalmente involucra una cantidad considerable de matemáticas en él. Y en ingeniería, generalmente implica resolver ecuaciones de varios tipos como algebraico, trascendental, diferencial ordinario, diferencial parcial, etc. Después de que se incluye una cierta cantidad de complejidad en la física, casi todas ellas no pueden resolverse analíticamente (lo que significa que no se pueden obtener soluciones exactas o de ‘forma cerrada’). Aquí es donde las computadoras y los lenguajes de programación vienen a nuestro rescate.

Aprender diferentes lenguajes de programación te ayuda a abordar un problema de manera diferente. Muy a menudo simplificando el problema también. También hay otro factor, ya que en un lenguaje de programación podría ser simplemente más capaz de manejar ese problema específico en comparación con otro.

Permítanme proporcionar un par de ejemplos de mi experiencia:

1. Suponga que se le pide que cree un programa que pueda crear rápidamente dibujos de componentes de la máquina, dadas las principales dimensiones determinantes del mismo. Sería un dolor severo tratar de hacer un programa en Matlab o C ++ que pudiera trazar dibujos como ese. Lo ideal sería utilizar lenguajes como AutoLISP, que es básicamente el entorno de programación dentro del software de dibujo, AutoCAD.

2. Por otro lado, si le pidieran que creara un programa que incorporara un sistema basado en GUI, elegiría algo similar a Visual C ++ o GUIDE en paquetes de GUI basados ​​en Matlab o Python como GLADE o PyQt.

3. Si se le pidiera que creara un solucionador CFD o FEA que pudiera usarse para problemas 3D considerablemente grandes, tendría que usar lenguajes escalables y con capacidad de programación paralela como Fortran o C ++ en lugar de Python, Matlab u Octave. El primero es más rápido debido a que se compilan en lugar de idiomas interpretados.

4. En caso de que se le haya dado un proyecto para construir un programa ‘flexible’ para modelar y simular, sería mucho más fácil usar algo como el Simulink de Matlab o su alternativa de código abierto, los Xcos de Scilab en lugar de sentarse e inicializar cientos de variables en C / C ++ y pasa horas ajustando el código escrito.

5. Si intentara crear animaciones o ‘applets’ que explicaran o representaran un cierto concepto, Java o Flash serían de gran ayuda.

En resumen, todo depende del problema que está tratando de resolver y su enfoque hacia él.

Por mi parte, también he sentido que aprender diferentes lenguajes de programación te hace desarrollar implícitamente una capacidad para ver los problemas desde diferentes perspectivas y que, de hecho, ayuda a encontrar soluciones más rápidas y diversas. ¡Eso, por supuesto, es mi opinión personal y no tengo respaldo científico para eso! 🙂