¿La programación de JavaScript y Java es útil para quienes aspiran a ser físicos teóricos?

Conocer cualquier lenguaje de computadora (quizás más un lenguaje como Java, Python o C ++ que Javascript, que normalmente no se usa para procesamiento pesado) podría ser útil para un físico teórico. Pero estoy seguro de que muchos físicos teóricos no saben programar.

A menudo no es prácticamente posible calcular el comportamiento de los sistemas reales a partir de principios fundamentales utilizando solo las matemáticas, pero a menudo es posible calcular respuestas aproximadas utilizando computadoras.

Un ejemplo podría ser calcular el punto de fusión de los sólidos a partir de principios fundamentales (que terminan involucrando la mecánica cuántica). Esta es un área de investigación en curso y requiere que se hagan aproximaciones utilizando modelos de computadora. Las ecuaciones derivadas de principios fundamentales son demasiado complicadas para resolverlas con precisión.

Prácticamente ningún físico (ciertamente ninguno que haya conocido) usa Java o Javascript. Si desea aprender un lenguaje útil para la física (incluido el físico teórico), aprenda Python (más fácil, pero menos eficiente, bueno para el trabajo rápido y sucio) o C / C ++ (más trabajo para el mismo código, pero mejor para grandes conjuntos de datos, especialmente trabajo más complicado).

Otros idiomas posibles:

  • Matlab: No lo he visto, pero creo que algunos lo usarían. Además, una advertencia justa, es software propietario.
  • FORTRAN: Anticuado, pero aún se usa en algunas arenas, particularmente cuando se llega a un código numérico pesado de bajo nivel
  • RAÍZ: Una adición a C. Ubicua en física de partículas / trabajo de alta energía, tanto teórica como “experimental” (uso comillas aéreas porque me refiero a las personas que escriben código para el procesamiento de datos del LHC, por ejemplo, en lugar de trabajar con objetos físicos).
  • Mathematica: Nuevamente, software propietario, pero fácil y general de usar. También se usa para mucho trabajo teórico (lo uso en el mío).

Al contrario de otras respuestas, diría que la mayoría de los físicos teóricos saben cómo codificar (aunque los más jóvenes tienen más probabilidades de conocer un idioma que desearían aprender hoy en día). Es una habilidad vital y necesaria dentro de la carrera teórica de la física, a menos que planees ir solo a lápiz y papel, y probablemente sea útil incluso en ese momento.

Anexo: Aprender cualquiera de esos idiomas lo ayudará a aprender otros idiomas que son más directamente útiles para la física, por lo que no son malos, supongo; por ejemplo, si eres un estudiante de secundaria que puede elegir tomar o no tomar esas clases, tómalas. Por otro lado, si te estás enseñando un nuevo idioma, no elijas esos.

Otro apéndice: independientemente del idioma que aprenda, aún necesitará aprender tecnología especializada para su campo. Por ejemplo, si aprende Python, aún necesitará conocer los detalles de los paquetes (piense en “fragmentos de código escritos por otras personas”) necesarios para su trabajo.

A menos que tenga la intención de crear aplicaciones web para física teórica, JavaScript no será útil. En cualquier caso, JavaScript es realmente un lenguaje basura: la respuesta de Richard Kenneth Eng a ¿Qué tiene de malo amar JavaScript? Nunca entendí por qué no puedo usarlo para todo.

Java podría ser útil si va a probar algunos modelos matemáticos / físicos. Java ya se usa mucho para computación numérica / de ingeniería, ciencia de datos, aprendizaje automático y demás. Python, que es más fácil de aprender, también podría ser una buena opción.

Más allá de eso, no veo que los físicos teóricos necesiten hacer mucha programación.

No terriblemente Pero si conoce esos idiomas, seguramente no es difícil aprender algo como Python o (ugh) Matlab, que está mucho más extendido en física.

El código informático pesado en estos días generalmente se escribe en C o C ++.

Y sí, los físicos teóricos necesitan absolutamente poder escribir código. La gran mayoría de las cosas de lápiz y papel ya han sido resueltas por personas más inteligentes que usted (o yo). A menos que seas el próximo Ed Witten, planea pasar un poco de tiempo codificando como físico teórico.