Desde que descubrí la programación hace cinco años, he hecho muchas cosas. Aprendí numerosos lenguajes y tecnologías de programación y probé muchas cosas interesantes. He escrito juegos, tanto de consola como con gráficos, consola y aplicaciones con ventana que se ejecutan en el escritorio, aplicaciones web CRUD, mi propia (horrible) base de datos de archivos planos basada en XML de PHP. Además de la Web y el escritorio, probé el desarrollo móvil con Android pero no lo disfruté, así que lo detuve. Recientemente terminé un proyecto web mío y estoy aprendiendo programación funcional en este momento (Haskell).
Pero nunca antes había incursionado en la programación del sistema. La idea de construir software (ni siquiera estoy seguro de si esa es la terminología correcta para usar) a un nivel bajo que interactúa con el sistema operativo parece interesante. El problema es que no estoy seguro de cómo empezar exactamente y necesito más ejemplos de lo que hago con esto.
¿Debo comenzar aprendiendo la API de Win32? Conozco C ++, ya que lo he usado para hacer bastantes aplicaciones de consola y juegos, pero no lo he usado en algunos años. ¿Es ese el camino a seguir? Además, ¿qué pasa con C? Estoy planeando aprender algo más sobre C (usando el libro K&R) antes de que termine el verano y comience la universidad. Quiero tener una buena ventaja como estudiante de primer año universitario con una sólida formación en programación.