Cómo adquirir más conocimientos sobre programación y computadoras

Ya tienes muchas buenas respuestas aquí. Sí, hay más para aprender. Aprender “todo” es mucho más difícil de lo que era hace 30 años cuando uno casi tenía la oportunidad de aprender alrededor del 50% de la informática. Ahora no hay posibilidad de aprenderlo todo. Yo ya no estoy tan interesado en cómo funcionan los compiladores, y si estás interesado en esa área, es un área especializada. Revise los videos de Apple del último WWDC. Verá alrededor de 50 áreas diferentes en las que están trabajando diferentes personas. Si presta mucha atención, verá que algunas personas en algunas áreas no están utilizando las mejores prácticas presentadas por otros grupos de Apple. ¡Esto está dentro de una compañía! Hay muy pocas personas que pueden trabajar en un proyecto arbitrario y completarlo bien.

Le sugiero que vea el video de Allen Holub en Pluralsight y los videos de las bases de programación de Simon Allardice en Lynda. Encontrarás aún más para aprender. Refactorización, TDD, patrones de diseño, creación de prototipos, SQL, Agile, etc. Solo tendrá que elegir algunos e irse. Pareces tener la auto dirección y el enfoque para hacer esto en base a lo que ya has hecho.

¿Estás buscando trabajo o intentas crear tu propia aplicación? Elija un proyecto bastante simple y simplemente comience a diseñarlo, crear prototipos y codificarlo. Tenga en cuenta que va a tirar el código más tarde, así que no intente ser demasiado detallado. Auto analizar cosas que parecen difíciles o que se están volviendo cada vez más desordenadas. Lo recordará más adelante cuando aprenda otras técnicas de libros que lo ayudarán a asimilar la información mucho mejor que simplemente leer sin experiencia.

¡Leer libros! Un buen libro está enfocado en un tema, escrito por alguien que lo conoce bien, editado por coherencia, estilo y corrección. Los libros son especialmente buenos para aprender fundamentos teóricos.

Corrígeme si me equivoco, pero creo que te falta conocimiento teórico sobre programación y computadoras.

Quizás no tenga (todavía) una educación formal en CS. Pero esto no importa. Puede resolver este problema por su cuenta, ahora.

Para entender cómo funciona algo desde cero , debe buscar un libro completo. Lee todo lo que puedas sobre tus libros favoritos.

Luego pregunte a expertos y similares en foros y sitios web de preguntas y respuestas ( Quora es un gran lugar como se podría imaginar)

Finalmente, debe ser paciente para aprender en profundidad sobre un tema y adquirir conocimientos sobre él.

Supongo que eres joven por los detalles que diste en tu respuesta. No te apresures y sé apasionado por lo que quieres aprender. Se necesita tiempo y esfuerzo.

Buena suerte en tu viaje hacia el dominio.

Si quieres tutoriales en video, te recomiendo Team Treehouse:

50% de descuento en Treehouse

Ofrecen videos para todos los idiomas populares, también incluyen cuestionarios y desafíos para que pueda asegurarse de haber dominado los temas que ha aprendido. Muy recomendable.

Has enumerado un amplio espectro de conocimiento: compiladores, depuradores, Internet, código de nivel de sistema operativo. Es bueno que esté fascinado con la forma en que funcionan las cosas, pero necesitará reducir su enfoque o pasar algún tiempo priorizando su lista de deseos.
Hay muchas, muchas fuentes de educación en estos temas. Hay libros, como otros han mencionado. También hay clases en línea disponibles a través de khanacademy, coursera, Ed-X, YouTube y otros. Creo que esto sería preferible por un par de razones: 1) Puede hacer preguntas a medida que se le ocurran. 2) No sabes lo que no sabes. El tema de “Computadoras y programación” es enorme y profundo . La naturaleza interactiva de las clases significa estar expuesto a múltiples puntos de vista / formas de pensar y abre opciones / formas de comprender un área que quizás no haya encontrado en un solo libro.

El compilador es la herramienta que traduce el código al lenguaje máquina. Por lo general, eso se enseña como un curso en la universidad. Entiendo que el libro del dragón es bueno, aunque ese no fue el que usó mi universidad. La clase generalmente está dirigida en la dirección “así que quieres construir tu propio compilador” en lugar de la dirección “Entiendo que estabas interesado en cómo funciona”. Aquí hay un enlace para la 1ra edición que parece estar cerca (pero considerablemente más barato que) de la 2da edición: Principios, técnicas y herramientas de los compiladores Aho Lam Sethi.

Solo sigue aprendiendo … Primero elige un idioma para aprender. Es como hacer objetivos primero, luego crear planes y luego ejecutarlos … Primero decida qué idioma desea aprender, haga un pequeño horario y considere un período específico en el que debe aprender el idioma. Digamos 1 mes. No siga el cronograma, asegúrese de que a veces dedica un tiempo extra para aprender nuevos idiomas si tiene dificultades con algo. Únase a una buena comunidad donde se pueden encontrar programadores de experiencia … Y asegúrese de practicar lo que esté aprendiendo … Pero eligiendo cualquier idioma primero haga una búsqueda rápida en él …… Por ejemplo, cuánto potencial tendrá en el futuro … 🙂

Puede mirar los cursos abiertos del MIT y otras escuelas. Sospecho que un programa de informática puede darte lo que quieres, además de las credenciales para que te contraten para trabajar en el campo …

Lea … la mayoría de los libros generales sobre computadoras le brindarán una comprensión básica.
Puede probar http://openbookproject.net/cours … o https://www.reddit.com/r/csbooks/

Programando y usando computadoras regularmente.