¿Qué lenguaje de programación es más adecuado para un ingeniero mecánico?

Entonces, las otras respuestas aquí, aunque son buenas, creo que pasan por alto algunos matices.

En general, como alude Shreeyash Lalit, hay 4 clases principales de cómputo en las que participan los ingenieros mecánicos. Diseño asistido por computadora (CAD), análisis de elementos finitos, adquisición de datos y análisis numérico. Hará bien en ser competente con la herramienta relevante en su industria para cada uno de estos, pero sepa que su dominio es profundo y que las personas han hecho que todas las carreras sean expertos en solo uno de ellos.

Pero veamos cada uno un poco más de cerca

CAD / FEA

Dicho esto, su pregunta se refiere a lenguajes de programación, y ni CAD ni FEA son lenguajes de programación . Quiero decir, la mayoría de ellos ofrecen API de algún tipo (accesible a través de Visual Basic, Python o quizás un lenguaje de scripting interno), pero no estarás “programando” al menos en el sentido tradicional.

Adquisición de datos

Cuando se trata de adquisición de datos, LabVIEW es realmente el único juego en la ciudad. Estrictamente hablando, es un lenguaje de programación, pero su dominio es relativamente específico y, a diferencia de todos los demás lenguajes de programación, los programas están escritos gráficamente en lugar de en un editor de texto. En mi experiencia, este valor de este lenguaje ha sido inversamente proporcional al tamaño y la complejidad de un programa, así como a mi deseo de reutilizar el código.

Análisis numérico

Probablemente de esto se haya tratado su pregunta todo el tiempo y, en mi opinión, se reduce a dos opciones: MATLAB y Python. No se moleste en aprender FORTRAN hasta que lo necesite (nuevamente, a menos que su industria exija lo contrario … la mayoría no lo hace).

Entonces … MATLAB v Python. Si desea poder incluir algo en su currículum que lo ayude a obtener un puesto de ingeniero en una gran empresa, coloque MATLAB. Una gran empresa no (actualmente) tendrá Python institucionalizado, pero es probable que lo haya hecho con MATLAB. MATLAB también tiene un excelente servicio al cliente, un montón de seminarios gratuitos y sus “cajas de herramientas” de funcionalidad adicional (que prácticamente necesitas hacer algo genial), aunque caras, son bastante completas.

Dicho todo esto, todavía iría con Python

¿Por qué?

  • Hay más recursos para aprenderlo.
  • Es gratis
  • Entre NumPy y SciPy tiene prácticamente todo lo que tiene el paquete central de MATLAB
  • La velocidad, en mi experiencia, ha sido muy comparable.
  • Hay muchos módulos de Python disponibles (gratis) que tienen una funcionalidad tan buena, si no mejor, que MATLAB
  • Hay un mundo de personas, dentro y fuera de la academia, que usan Python.
  • Si está interesado en la robótica, muchas herramientas de robótica realmente convincentes (que están prácticamente todas escritas en C ++ o C) tienen enlaces de python (ROS, OROCOS, OpenCV).
  • MATLAB actualmente está tratando de proporcionar compatibilidad con algunas de esas herramientas de robótica, lo que significa que están rezagadas con respecto a Python en ese sentido (es difícil para una empresa mantenerse al día con las masas)
  • Muchos MOOC usan Python como un lenguaje de programación de elección, lo que nuevamente hace que sea más fácil de aprender.
  • Es un lenguaje de programación de propósito general. Gran parte de lo que aprende podría usarse para construir una aplicación web, o casi cualquier cosa.
  • Las plataformas Linux integradas como BeagleBoard y Raspberry Pi se envían con Python, por lo que puede controlarlas directamente en ese idioma … intente hacerlo con MATLAB y será costoso.

Así que elijo Python, y tú también deberías.

MATLAB es probablemente el lenguaje más común que encontrarán los ingenieros mecánicos. Está orientado a cálculos científicos y se basa en matrices. Una ventaja de MATLAB es que es bastante rápido para comenzar: viene empaquetado con un entorno de desarrollo y puede activarlo y comenzar a programar de inmediato. Una desventaja importante es el precio. Es bastante costoso, y si te gusta programar en casa (como a mí), entonces puedes encontrar que esto es un obstáculo. Su compañía también puede o no pagar por una licencia para usted. Sin embargo, esta es una herramienta muy poderosa y es un gran lenguaje para saber.

Python es una excelente alternativa a MATLAB. Python es de código abierto, y puede lograr una funcionalidad comparable a MATLAB instalando NumPy, SciPy y Matplotlib (hay otros paquetes como Pandas que también puede desear). Python es un lenguaje ampliamente respetado y tiene muchos seguidores en la comunidad científica y académica. Hay toneladas de paquetes disponibles para Python que puede descargar de forma gratuita, incluidos los paquetes que permiten la interacción con Excel y Word; estos paquetes son útiles para generar datos y para la generación automatizada de informes de análisis formateados. Una de las principales ventajas de Python (además del precio gratuito) es que es un lenguaje de programación de propósito general (es decir, no está diseñado específicamente para la programación científica, aunque es excelente para eso). Esto significa que puede usarlo para hacer muchas otras cosas que desee hacer, como trabajar con su sistema de archivos o crear un sitio web. Debido a esta versatilidad, Python probablemente le dará la mayor cantidad de dinero en términos de valor versus tiempo invertido.

C # y VB .NET son excelentes para desarrollar aplicaciones de escritorio con buenas interfaces de usuario. Visual Studio (el IDE para estos idiomas) proporciona un buen generador de GUI de arrastrar y soltar que hace que el proceso de creación de la interfaz sea muy rápido y fácil. El beneficio de construir en estos idiomas es que puede obtener un IDE bastante sólido de forma gratuita (Visual Studio Express es gratuito, y para los esfuerzos de un solo desarrollador hará el trabajo), puede comenzar a programar de inmediato y no tiene que preocuparse sobre la configuración de su entorno, y puede interactuar * razonablemente * bien con otros productos de Microsoft como MS Access y Excel. Una desventaja importante de estos idiomas es que son lenguajes de uso general sin ninguna biblioteca científica buena (gratuita), por lo que si desea utilizarlos para realizar análisis de ingeniería, deberá escribir las bibliotecas usted mismo o comprar algunos. Básicamente, usaré estos idiomas si estoy desarrollando una aplicación de base de datos o una aplicación para trabajar con el sistema de archivos, y si la aplicación necesita tener una buena interfaz para que la utilicen mis compañeros de trabajo. Si estoy construyendo algo para hacer análisis de ingeniería, utilizaré MATLAB o Python en su lugar.

Otro lenguaje que vale la pena mencionar es VBA. Es torpe e incómodo y evito usarlo a menos que no tenga otra opción, pero tiene la clara ventaja de estar directamente integrado en todos los productos de MS Office (para que pueda acceder fácilmente desde MS Excel, Word, Outlook, etc. simplemente presionando Alt + F11). Y cualquier código que escriba dentro de un archivo seguirá junto con el archivo, por lo que no tiene que preocuparse por la implementación, por lo que puede pasar un archivo Excel .xlsm a su compañero de trabajo. Tenga en cuenta que esta no es una buena solución para una aplicación distribuida; si desea que más de una o dos personas la utilicen, busque una solución diferente. VBA es una solución decente en el caso de que solo necesite escribir algo realmente rápido (es decir, menos de 200 líneas más o menos), y necesite automatizar algo dentro de Excel u otro producto de MS Office. Siempre evito usar VBA siempre que puedo solo debido a la incomodidad del lenguaje, pero hay algunas situaciones que lo requieren.

Vale la pena mencionar HTML, CSS y JavaScript. Si bien todos son principalmente específicos para el desarrollo web, aún pueden ser útiles como una forma de generar resultados. Una de mis formas preferidas de generar datos desde un programa Python es generar un documento HTML. Pondré datos en elementos

e imágenes de gráficos en etiquetas (si usa Matplotlib) o dibujaré gráficos en un . JavaScript puede ser bueno para automatizar algunos aspectos del diseño o para complementar Python. Como ejemplo, si decide que no le gusta trabajar con Matplotlib, podría usar una biblioteca de trazado de JavaScript que trazará los datos que pones en el documento HTML de Python.

Como ingeniero mecánico, si tuviera que elegir un solo idioma, elegiría Python. Los otros idiomas que mencioné son geniales, pero básicamente todo lo que necesite hacer como ingeniero mecánico, podría hacerlo con Python.

La mejor de las suertes,

Arthur Kirkby

MechaniCalc

Arthur y Chris tienen excelentes respuestas, pero encontrará que cada proyecto diferente que abordará en su carrera requerirá un lenguaje de programación diferente. En mi carrera como ingeniero mecánico en GE, he escrito software en C # (herramienta FEA construida sobre software CAD), Java (trabajos Hadoop MapReduce para analizar grandes cantidades de datos de turbinas de gas), Python (análisis de datos simples y gráficos para conjuntos de datos grandes), MATLAB (modelado de transferencia de calor simple), SQL (acceso a los datos de configuración para cada máquina), y luego debe estar familiarizado con la codificación en ANSYS y NASTRAN si no desea utilizar el banco de trabajo ANSYS para el modelado mecánico.

En pocas palabras, cada respuesta aquí es correcta hasta cierto punto, pero siga estos pasos y tendrá éxito independientemente del lenguaje de programación:

  1. Identifica tu problema
  2. Desarrollar una lógica agnóstica del lenguaje informático para resolver el problema.
  3. Averigüe qué lenguaje informático, plataforma de desarrollo, software existente ya puede hacer la mayor parte de su proyecto
  4. Aprende lo que necesitas y ejecuta

Soy un estudiante graduado de Ingeniería Mecánica con mi especialización en Fluidos y Ciencias Térmicas. Vengo de un entorno educativo donde la programación no era una parte importante de mi plan de estudios de pregrado. Como estudiante de posgrado, tengo mis deberes en ciencias computacionales, así que comencé a usar Matlab, que es más fácil de aprender y teniendo en cuenta toda la documentación, así como el foro en línea de Mathworks, puedes aprenderlo fácilmente. El beneficio adicional de Matlab son sus diversas cajas de herramientas. La vida se vuelve fácil.

Sin embargo, pronto desarrollé una afinidad hacia la codificación. Por lo tanto, sentí la necesidad de pasar a un lenguaje de programación más general que esté disponible como código abierto y que pueda ayudarme en mis investigaciones y estudios. Así que recientemente comencé a aprender C ++. Como ingeniero mecánico, creo que se te pedirá que hagas computación científica y comenzar con Matlab es un muy buen lenguaje / herramienta. Y luego, si cree que necesita ir más allá de Matlab, puede optar por C ++ sobre C ya que C ++ es un superconjunto de C.

Todas y cada una de estas respuestas son buenas, pero sigo pensando que no dan una muy buena idea de lo que usaría un ingeniero mecánico. En primer lugar, los ingenieros mecánicos no saben nada sobre programación tradicional y ciencias de la computación. Por esta razón, el tiempo más probable que pasará será programar en vba en hojas de cálculo de Excel. Creo que también puedes usar trabajos sólidos. No harás ninguna programación real por decir.
Lo más parecido a la programación real es si usa matlab y simulink o algo así. Ni siquiera habrá oído hablar del control de fuente, la concurrencia de patrones de diseño o una gran cantidad de herramientas básicas en una caja de herramientas de programadores. Realmente pensaría mucho si quieres salir y aprender de manera preventiva un lenguaje de programación. Para ser honesto, es más probable que impresione a un ingeniero mecánico de la vieja escuela con un cuadro combinado básico en una hoja de cálculo que con Python. Sí, algo como Python podría traer una nueva herramienta increíble, si realmente estás interesado, entonces aprende Python, pero ten cuidado. Es muy probable que sus compañeros de trabajo no quieran saberlo. En muchos sentidos, la disciplina de la programación está muy dividida. Pregunta qué idioma aprender y comenzará una guerra. La gente insistirá en que escriba las instrucciones de compilación en el símbolo del sistema y aprenda c, que sería lo mismo que yo golpeándolo y diciendo que programar al mismo tiempo, nunca querrá volver a programar. Si la pregunta es qué lenguajes de programación usan los ingenieros mecánicos, entonces solo se trata de vba excel y matlab. Soy ingeniero mecánico y apliqué matemáticas, me metí en la programación a través de mi aventura uni.

Estoy publicando la misma respuesta desde aquí

¿Qué lenguaje de programación es más adecuado para un ingeniero mecánico?

C ++ sería mejor. La mayoría de los paquetes CAD usan interfaces con C ++. (API abierta de NX, CATIA CAA). Si explorara los perfiles de los desarrolladores de CAD, la mayoría de ellos habrían estado bien versados ​​en C ++ ya que se usa en la mayoría de las herramientas basadas en CAD. Uno de los mejores ejemplos para el uso de C ++ en un dominio CAD abierto es OpenCASCADE, que proporciona un entorno abierto para CAD, preprocesos CAE, etc. En el análisis numérico también, C ++ tiene bibliotecas como BOOST que ayudarían. MATLAB y SCILAB tienen interfaces para el desarrollo con C ++ .IMHO, este lenguaje se entiende mejor y se utiliza en la industria (Aero \ CAD \ FEA \ otros) en lugar de en la academia.

Pero Python se está poniendo al día. Es la palabra de moda entre la comunidad científica como he escuchado. Tiene un gran interés generado en la academia, pero el tiempo dirá qué tan bien se adapta en la industria. HASKELL también sería una buena alternativa.

Para un ingeniero mecánico, sugeriría controladores lógicos programables. No es realmente un lenguaje de programación; sin embargo, se usa en la mayoría de los entornos industriales. Con él, podría comprender cómo funciona la máquina y comprender cómo solucionar problemas más rápidamente.

Hay muchas versiones de software PLC disponibles. Intente buscar simuladores de PLC. Otro buen programa que se llama TCL se pronuncia “cosquillas”. No es lo mismo que PLC; sin embargo, una vez que lo estudie y aprenda a escribir con TCL, es posible que se encuentre con una máquina que usa TCL.

Aquí hay un enlace a un simulador: Simulador PLC – Gratis desde TheLearningPit.com

Aquí está el enlace a TCL: Descargar Tcl

He usado Fortran, C ++, Basic, Pascal y Java. Según mi experiencia, el idioma más adecuado para los ingenieros es Pascal, ahora llamado Borland Delphi por Embarcadero. Es un lenguaje muy limpio, lógico, claramente definido, estructurado y modular. El entorno de desarrollo es muy fácil de usar y compila muy rápido, 1 millón de líneas en segundos. Lo mejor es que aún podrá leer el código incluso después de no haberlo visto durante años (intente hacerlo en fortran, c ++ o java). Puede manejar proyectos de software muy grandes fácilmente gracias a su estructura objetiva / modular. Existe una versión gratuita totalmente funcional que se puede utilizar para software de ingeniería serio. La versión de precio completo incluye base de datos de redes y desarrollo móvil. Se dispone de amplias bibliotecas de terceros, pero para la mayoría del desarrollo de ingeniería rara vez se necesita una. Solo uso la biblioteca adicional OpenGL y PowerPdf.

La velocidad numérica es muy rápida usando solo su propia biblioteca matemática. Para un desarrollo serio, olvide la biblioteca científica estándar, porque de todos modos debe desarrollar su propia versión optimizada o fuera del núcleo. Delphi también admite programación paralela, bucle paralelo con solo 1 línea agregada. También es compatible con varios idiomas, Win10, Android, OSX, iPhone en una sola versión de código.

Lo estoy usando para desarrollar un programa integrado de análisis estructural y diseño (Centro de Investigación de Software de Ingeniería (PT Anugrah Multi Cipta Karya)) con millones de líneas de código. Me pregunto por qué otros ingenieros siguen perdiendo el tiempo aprendiendo cientos de palabras clave, comandos, bibliotecas, etc., mientras pueden lograrlo fácilmente con Delphi.

En resumen, Delphi tiene el poder de C ++, plataformas de Java, velocidad de Fortran, con la facilidad de Visual Basic.

Usando C ++, debe pasar toda su vida aprendiendo y haciendo programación en C ++, usando Delphi, puede hacerlo en su tiempo libre fácilmente y aún enfocándose en problemas de ingeniería, no en la depuración de C ++.

Buscar google: descarga gratuita de Delphi Studio Berlin

Pondré mi plug-in para Fortran 90 y versiones más nuevas. Es relativamente fácil de aprender, increíblemente rápido y tiene, con mucho, la mejor sintaxis de matriz de los lenguajes compilados rápidamente. Muchos de los códigos de simulación fueron escritos en Fortran. Básicamente fue diseñado desde cero para programar simulaciones para ingeniería mecánica.

Python es popular pero corre un orden de magnitud más lento que Fortran.

Matlab igual, pero tiene muchas características agradables y también una buena sintaxis.

C es el camino a seguir para la programación integrada si desea ingresar a la mecatrónica.

Empiezo a preguntarme por qué la gente no puede mirar el hecho de que esta pregunta exacta ya ha sido respondida en Quora varias veces.

En mi opinión, cualquier idioma sería útil para aprender. Diferentes idiomas, en este caso, pueden darle la oportunidad de adoptar un enfoque diferente para un determinado problema.

Mi experiencia personal muy modesta con lenguajes de programación.
Nunca me gustó MATLAB, pero lo aprendí porque era obligatorio en mi universidad y C ++ solo por diversión. Más tarde aprendí un poco de Javascript y un poco de Java. Intenté C # con WPF, no me gustó (tal vez porque era demasiado estúpido para entenderlo y aprenderlo).
Desde que “eliminé” mi cuenta de Facebook (entre comillas porque no quieren que me elimine, ¡no sé por qué!) Estoy jugando con QML y es genial (tenga en cuenta que no soy un programador, por lo que podría sea ​​que QML apesta pero me parece muy intuitivo, fácil y bastante potente).

La conclusión es que la posibilidad de que, como ingeniero mecánico, necesite utilizar cualquier otro idioma además de MATLAB es bastante baja. Incluso MATLAB solo se usa en algunos campos específicos de la ingeniería mecánica.
Entonces, mi punto es que si solo está buscando algo útil, probablemente debería considerar aprender algo más en su valioso tiempo y no un nuevo lenguaje de programación. Si desea aprender un nuevo lenguaje de programación solo por diversión, le recomendaría C ++ (solo porque es mi favorito) y QML (porque puede crear algunas interfaces de usuario agradables y elegantes para hacer que sus programas de consola sean un poco más bonitos) .

Buena suerte. 🙂

Depende del rol del trabajo, pero actualmente la codificación requerida en mi trabajo es probablemente 80% VBA y 20% MATLAB.

Los ingenieros de simulación usan diferentes idiomas, incluido Simulink.

Las personas que hacen cosas matemáticas más complejas usarían mucho más MATLAB.

Las personas que interactúan con Arduinos y otros dispositivos electrónicos como ellos usarían C / C +.

Etcétera etcétera.

Pero para los ingenieros mecánicos generales, para quienes la codificación no es una parte masiva de su trabajo, es más probable que usen VBA, ya que está disponible en Excel (probablemente un programa favorito de los ingenieros después de CAD), también es ampliamente compatible en línea, por lo que es Ayuda fácil de encontrar si la necesita.

Todos los ingenieros (excepto los ingenieros de CS), independientemente de la disciplina, deben aprender Python (o un lenguaje similar como Scilab / GNU Octave / MATLAB). Para los ingenieros de CS, puede que no sea un “debe aprender”, pero no obstante es útil.

Evite c y c ++, pero necesitará tareas de laboratorio … pruebe más lenguajes orientados a objetos que tengan más bibliotecas gráficas y científicas para la rama de mecha como java, c #, Python y otros … de esta manera pensará menos en la parte de codificación y se concentrará más sobre trabajar debido a todo el enfoque de tipo de objeto en esos idiomas …

FORTRAN es bueno, mi profesor solía mencionarlo muchas veces, pero nunca nos pensó.

He usado C ++ para desarrollar programas para resolver problemas de ingeniería utilizando métodos numéricos. Pero no satisfecho con eso.

Pero MATLAB es de hecho un software muy esencial. Es fácil de aprender, versátil y realmente te ayudaría a organizar las salidas. Yo digo que intente pasar un tiempo en MATLAB. Te da los resultados muy rápidamente. Trabajar con gráficos se ha vuelto muy útil con las nuevas versiones de MATLAB.

Si está interesado en la mecatrónica, MATLAB lo ayudará a interactuar con el hardware. Puede usar MATLAB Simulink para verificar si sus ecuaciones de movimiento son correctas o no. Corrija las ecuaciones y simule, al igual que el rastro y el error, y puede ahorrar mucho tiempo más adelante.

Es una preferencia realmente personal. Mi preferencia es hacia lenguajes de script como ruby ​​o python. Prefiero herramientas gratuitas e independientes de la plataforma que no requieren el uso diario para seguir siendo competentes. Los lenguajes de secuencias de comandos no se compilan, pero es fácil escribir una rutina rápida con uno de ellos.

Como estudiante senior de ingeniería mecánica, los lenguajes que he encontrado más útiles son Matlab y Python. Estos son los dos idiomas con los que he sido responsable de trabajar durante mis estudios universitarios. Sé que algunos estudiantes también han usado C ++ y EES (solucionador de ecuaciones de ingeniería) pero no tanto como Matlab y Python.

¡Espero que esto ayude!

Cada ME que conozco usa Java. Tal vez demasiado. Personalmente, iría con Java y un lenguaje web (por ejemplo, Node.js para modernidad y JS, o incluso * shudder * PHP para facilitar).

La mayoría de las veces, cuando tienen que hacer algo en la web (lo que sucede mucho más de lo que piensas), se quedan estancados … así que aprender un idioma web legítimo te daría una ventaja.

Si quieres aprender un lenguaje de programación, elige FORTRAN. Está especialmente desarrollado para aplicaciones de ingeniería. y MATLAB. Y llegando a los softwares, Shreeyash Lalit los mencionó

Usted ha preguntado: “¿Qué lenguaje de programación es el más adecuado para un ingeniero mecánico?”

Los ingenieros parecen usar herramientas de programación visual de terceros más que lenguajes de codificación de software basados ​​en texto. Por lo tanto, parece que la mejor opción es enfocarse más en el cuerpo central de conocimiento exclusivo de una disciplina de ingeniería dada que un lenguaje de programación específico.

Según lo que he visto, no se puede predecir un lenguaje basado en texto para disciplinas de ingeniería física. La razón es que la mayor parte de la actualidad parece estar definida por proveedores externos de equipos y, a menudo, proporcionan entornos de control visual que limitan las opciones solo a lo que esos entornos admiten. Supongo que se hace de esta manera por razones de seguridad y cumplimiento, así como por el funcionamiento preciso del sistema.

Le recomiendo que aprenda la programación en C. En mi opinión, la programación en C es la madre de todos los demás lenguajes de programación. Una vez que aprenda C a fondo, será fácil aprender otros lenguajes de programación. Para la programación orientada a objetos, aprenda C ++ una vez que aprenda C porque son muy parecidos.