¿Qué tan difícil es estudiar por sí mismo la codificación y ser realmente bueno al mismo tiempo que tomas física en la licenciatura?

En su contexto, no tiene por qué ser demasiado difícil, mi opinión de ser “realmente bueno” en la codificación es poder programar una solución correcta y sólida para un problema en un corto período de tiempo práctico. Aprende esta habilidad mediante la práctica, la práctica, la práctica (preferiblemente en problemas reales cuyo resultado tiene un valor adicional para usted en su título)

Por supuesto, para programar una solución, también tiene que entender primero cómo va a resolver el problema, y ​​eso a menudo es más difícil que la codificación real; ¡Pero también es exactamente donde tu entrenamiento de física será de gran ayuda! Siempre me ha parecido bastante notable que las mejores ideas sobre “cómo” resolver un problema generalmente resultan en programas más sencillos y fáciles de escribir para crear una instancia de esa solución.

La segunda parte de ser “realmente bueno” es mantenerse al día sobre varias bibliotecas de funciones que podrían aliviar la necesidad de reinventar la rueda; una llamada a una sola función a una biblioteca que conoce, confía y comprende puede ahorrarle muchas horas de codificación. Pero una llamada a una biblioteca que no conoce, no confía o no comprende puede llevar a horas de depuración sin sentido y rasgado de cabello por un resultado incorrecto (en su contexto de uso). Hay muchos paquetes / referencias como Matlab, Wolfram y Maple para ayudar en algunos detalles, pero probablemente necesiten más esfuerzo para ser competentes como lenguaje de programación (de hecho, conocer un lenguaje de programación lo ayuda a aprender estas soluciones empaquetadas).

La tercera parte es reconocer que cualquier codificación que haga, probablemente se reutilizará de la misma forma o similar más adelante en su carrera, así que asegúrese de que la codificación sea lo más general posible y que su alcance esté bien definido.

Generalmente, una vez que sabes cómo programar en un lenguaje de programación, aprender otros lenguajes es bastante sencillo, ya que a menudo hay una traducción bastante simple entre una construcción de programa similar (como loops y pruebas “si”, etc.). Pero cada idioma tiene sus pequeños “errores”; Una vez que conozcas a esos, generalmente dominarás el idioma.

Una vez que empiezas a interactuar con otros programadores, hay problemas de documentación y compatibilidad con otros códigos que también empiezan a ser importantes para que te consideren “realmente bueno”.

Programo casi exclusivamente en C # porque me permite concentrarme en el trabajo en cuestión sin demasiados bits adicionales de código que solo sirven para fines administrativos para el compilador / hardware.

Me autoaprendí en computadoras mientras realizaba mis estudios de ingeniería, desde el código de máquina manual basado en conmutadores hasta el ensamblador, FORTRAN, BASIC, C, C ++…. Bueno, la lista sigue y sigue y sigue. Si te quedas atascado, lee un libro escrito por un programador real o encuentra un ejemplo en línea, o incluso hazte amigo de algunos programadores profesionales. Sigue siendo mi opinión en ciencia / ingeniería, que puede enseñarse a sí mismo a programar sin hacer referencia a un título en TI (aunque tal grado podría ser relevante para las perspectivas laborales)

Eventualmente, el hardware / software que elija usar se convertirá en solo una herramienta para hacer el trabajo, y usted elige la herramienta correcta para el trabajo de la misma manera que elige un martillo o un destornillador.

Ok … Me estoy volviendo muy bueno en la codificación para entender la sintaxis, las API y los matices del lenguaje + compilador / tiempo de ejecución
Si este es el caso, entonces sí, puedes convertirte en un experto en la codificación de múltiples idiomas.
Elija algoritmos estándar y estructuras de datos e intente implementarlos en su idioma favorito. Póngase en contacto con los foros para obtener ayuda según sea necesario.
Cuando aprendí Clojure, por ejemplo, miré la biblioteca clojure.core y examiné su código fuente. Un código fuente bien escrito como ese le dice mucho sobre las pautas de estilo, qué tipo de estructuras de datos se prefieren, qué idiomas debería usar, etc.
Y luego solo sigue adelante y codifica, y codifica mucho. A medida que desarrollas, tus programas se gradúan de escribir código fuente que pasa las pruebas y es funcional para entender cómo el compilador optimiza tu código y cómo funciona el tiempo de ejecución para que entiendas completamente el efecto de cualquier pieza de código que escribas.
Tarda un par de años en llegar a ser realmente bueno en cualquier pila de idiomas, pero puede comenzar a ser productivo en semanas. Por supuesto, tomará años para que uno se convierta en un experto 🙂

Personalmente, nunca tomé clases de física, pero estoy seguro de que puedes ser muy bueno en la codificación mientras tomas la física. Probablemente significa que serás menos bueno en física, porque aprender cosas lleva tiempo y aprender cosas bien lleva mucho tiempo.

Intenta entrar en una clase de informática y ver qué está pasando allí.

Sí, puedes ser bueno.
Estoy en mi último semestre de mis estudios universitarios, con honores de física, y también hice B.Sc IT durante los primeros dos años en paralelo con mi estudiante universitario. Puede llevar mucho tiempo, pero con una mejor gestión del tiempo no será un problema. Además, el auto estudio no llevará mucho tiempo si tiene recursos suficientes para respaldar sus estudios de sitios web como edX o similares que pueden proporcionarle certificados al completar un curso.

Mis títulos (BS y Ph.D.) están en física de dispositivos semiconductores. He estado escribiendo software para computadora desde que tenía 11 años, y actualmente trabajo como desarrollador de software, aunque hago consultoría ocasional donde entra en juego mi conocimiento de física y electrónica. Nunca tomé clases para aprender programación, aunque sí tomé clases en las que se esperaba que escribiera programas.

Así que sí, alguien lo ha hecho.