Tengo 8 horas diarias para la programación. Deseo usarlo sabiamente. ¿Cuáles son las diferentes cosas que puedo aprender en este tiempo?

Gracias por el (anónimo) A2A

Nunca me ha gustado mucho la programación competitiva, pero a Quora le encanta hacerme preguntas relacionadas con la programación, así que he visto un número decente de preguntas relacionadas con la programación competitiva. El consenso general que he encontrado es que, aunque ganar competiciones es impresionante, no es un indicador real de la capacidad para trabajar como un “programador” real. Es decir, hay habilidades requeridas de un programador “real” que no son necesarias en la programación competitiva, incluida la capacidad de trabajar con otros (incluido el uso de un VCS o Sistema de control de versiones) y la escritura de un código bueno y mantenible completo con los comentarios necesarios. documentación.

Si fuera tú, elegiría un idioma para aprender: cualquier cosa, desde Python o JavaScript a Java, Scala, C #, C ++ o cualquier otra cosa. Si desea ganarse la vida con la programación, sugeriría Java, C # o C ++ si desea ir a la ruta del escritorio / servidor, o JavaScript si desea ir más hacia el desarrollo web. Una vez que hayas elegido un idioma, aprendelo y aprendelo bien . Esto significa ir más allá de “Hello World” y pasar a programas completos con GUIs interactivas y acceso a un servidor central para servir datos o conectar a varios clientes (a la vez, un programa de chat). Según el idioma, es posible que pueda encontrar tutoriales en línea o que tenga que comprar un libro. Si realmente quieres aprender a programar, necesitarás gastar algo de dinero. Los sitios gratuitos como CodeCademy son buenos para aprender lo básico de un lenguaje de programación, pero eso es todo: lo básico. Solo lo suficiente para construir esos programas de conversión de temperatura. Tuve la suerte de obtener una suscripción a Team Treehouse de mi profesor de informática, pero probablemente tengas que pagar la misma suscripción. Sitios como ese tienen mucha más variedad y profundidad en los lenguajes y conceptos que enseñan.

Experimentar también puede ser algo bueno, ya que descubrirás cuáles son tus intereses. Sin embargo, tenga en cuenta que una persona con un conocimiento profundo de un lenguaje de programación y las diversas tecnologías involucradas es más valiosa que una persona que puede escribir programas básicos de conversión de Fahrenheit a Celsius en 10 idiomas. Una persona que puede entender los conceptos de programación en un lenguaje tiene un tiempo mucho más fácil para aprender cómo implementarlos en otro lenguaje que una persona que lo descubra en primer lugar, especialmente cuando va a un lenguaje similar, desde Java a C #.

Cuando aprendas lo suficiente de un lenguaje de programación, tómate el tiempo para hacer proyectos y aprender un VCS, uno de los más populares es Git a través de GitHub. Conserve uno o dos proyectos propios, posiblemente algunas bibliotecas que haya escrito para facilitar la escritura de sus propios proyectos. Cuando haya aprendido más, intente realizar solicitudes de extracción en proyectos existentes. Aprenda a contribuir a un proyecto más grande, incluso solo una o dos líneas a la vez. Intenta corregir errores, es un buen lugar para comenzar.

Estoy de acuerdo con el usuario de Quora sobre el tiempo: no hagas ocho horas a la vez. Haz dos horas máximo, luego pasa el tiempo haciendo otra cosa. La vida no vale la pena perder todo el tiempo que pasas despierto aprendiendo a programar. Asegúrese de cuidarse también: coma bien, haga ejercicio y pase tiempo con amigos y familiares.