¿Qué debo hacer si no entiendo ninguno de los lenguajes de programación o cosas relacionadas con la computadora en un nivel más profundo pero todavía estoy interesado en las computadoras?

¿Puedes pensar en un Artista tocando un instrumento musical sin tener un conocimiento profundo de la música? La música melodiosa sale porque él tiene un conocimiento profundo, que utiliza para crear música nueva.

Similar es con el lenguaje de programación y las computadoras. Cuanto mejor puedas entregar, si tienes una comprensión más profunda. Cuanto más estás sobre el suelo, cuando tienes raíces profundas.

Dos sugerencias:

1. Consiga algunos cursos o tutoriales adicionales para comenzar a entender estos temas en profundidad. Si estás realmente fascinado por las computadoras y la programación. Con
esfuerzos adecuados cualquier cosa se puede lograr en la vida.

2. Incluso después de los esfuerzos, si no puede obtenerlo, cambie la profesión. Puede que te esté gustando, pero puede que no hayas tenido la intención de hacerlo. Puede que sea un experto en algún otro dominio, trate de averiguarlo. Te puede ayudar a tener éxito. El camino al cielo no es solo a través de las computadoras.

Gracias por A2A.

No para desalentarlo, pero crear su propio idioma o sistema operativo requiere escribir una enorme cantidad de código. ¡Y sin la comprensión de los lenguajes de programación modernos, es casi imposible construir todas las cosas geniales que se ven!

Cuando expresas el deseo de comprender cosas desde un nivel muy básico, entiendo completamente lo que quieres decir. He estado ahí. La gente me ha rechazado diciendo que lo que quería hacer era reinventar la rueda. Mientras que todo lo que estaba buscando era una comprensión más profunda de la dinámica / funcionamiento de la rueda.
(Déjame adivinar: ¿también odias actualmente usar las funciones de la Biblioteca?)

Por supuesto que puedes profundizar, pero el problema es, ¿dónde te detienes? Puede comprender cómo un código C, escrito para el sistema operativo que está utilizando, funciona para realizar una entrada simple desde el teclado. Puede profundizar más para comprender cómo funciona el código escrito para el controlador del teclado. Y cava un poco más para comprender cómo funcionan realmente los circuitos del teclado. Y aún más profundo para entender cómo el teclado convierte la mecánica de presionar una tecla en una señal eléctrica y lo que sucede cuando se mantiene presionada una tecla durante más de un instante y así sucesivamente. Pero al final del día, no tiene uso de esa información si no desea construir un teclado. Entonces la pregunta no es qué tan profundo puedes cavar, la pregunta es ¿cuánta comprensión es necesaria?

Para que un edificio de unos pocos pisos se mantenga en pie, se necesita menos de una base que un rascacielos. Para crear un juego multijugador que se juegue en una sola computadora, solo necesitas conocer los conceptos básicos de FSM, pero si quieres que sea una cosa en línea en la que unos pocos cientos de jugadores puedan jugar simultáneamente, con el juego de emparejamiento adecuado y todo eso. Necesito saber mucho más (redes, algoritmos de emparejamiento, algoritmos de sincronización, etc.).

La comprensión es esencial. ¡Pero una vez que haya comprendido, puede abstraer ese conocimiento y utilizar el maldito método de la biblioteca después de todo!

Entonces, lo que hice para evitar reinventar la rueda cada vez fue:

  1. Aprende los conceptos básicos de cualquier lenguaje de programación. Prácticas preguntas sencillas. Practicado usando las construcciones básicas del lenguaje (bucles, sentencias condicionales, orientación a objetos, etc.)
  2. Recoger proyectos. Pequeños proyectos. Lo que me interese.
  3. Si lo último parecía bueno / satisfactorio, continué con otro proyecto que era más desafiante. Si no fue así, lo rehice hasta que estuve satisfecho.

Cuando comencé a construir cosas reales, me di cuenta de que entendía mucho mejor las cosas y los conceptos.

Si estás interesado en las computadoras y deseas crear tu propio idioma, sistema operativo y otras cosas. Debo preguntarte, ¿Qué tan malo quieres hacer estas cosas?

Si quieres hacer estas cosas realmente mal, si son o al menos pueden convertirse en tu prioridad en la vida, creo que puedes encontrar un camino.

Pasando a la parte de “cómo” de su pregunta, primero asegúrese de tener el deseo de hacer esto. No deberían ser una opción, deberían ser algo que lo empuje hacia adelante, cosas que lo hagan despertar cada día y trabajar.

Una vez que esté allí, comprenda los conceptos básicos de la creación de un nuevo idioma o un sistema operativo. Ambos necesitan una programación considerable. Aquí es donde entran su DESEO y su verdadero interés. Los lenguajes de programación no son difíciles de dominar. A menudo, ni siquiera tienes que dominarlos. Solo necesitas saber lo suficiente para implementar lo que quieres hacer.

Si la gente supiera qué es exactamente lo que estaban haciendo, cada vez que tenían que desarrollar algo, la mayoría de las cosas hoy en día se habrían desarrollado hace mucho tiempo o serían algo completamente diferente. Creo que el misterio de lo que está por venir y cómo implementar la siguiente funcionalidad es algo que ha captado mi interés a menudo como estudiante de CS. Sin embargo, esto no debería impedirle decidir sobre una buena arquitectura y un plan para su proyecto.

Puede que no esté dando la respuesta más práctica y mi respuesta puede considerarse cuestionable por la mayoría a nivel de la industria (todavía soy un estudiante). Sin embargo, en este momento, teniendo en cuenta su posición, creo firmemente que debería intentarlo. Aprende cosas como y cuando las necesites. Por ejemplo, no tiene que ser un maestro en DBMS para usar las bases de datos en su código. Solo debes saber lo suficiente para ayudarte a implementar la funcionalidad que tienes en mente. Utilice Google, desbordamiento de pila, etc. Quora para ayudarle.

La mejor herramienta que ayuda en mi opinión es la opción de guardar. Si arruinas las cosas, todo lo que tienes que hacer es volver al último archivo guardado. Qué es lo peor que puede pasar?

Si se siguen estas sugerencias, incluso si fracasa en lo que no es una tarea fácil, creo que sería un ganador. Tendrías mucha más confianza en ti mismo y serías mucho mejor en programación y otros conceptos relacionados con la computadora de lo que eres ahora.

Buena suerte

Edit: si, sin embargo, no está listo para esforzarse y trabajar para esto, le sugiero que cambie a otra cosa que le interese más.

Primero, deja de entrar en pánico!

Segundo, no eres el único con tales ambiciones y nada que mostrar.

Tercero, o tienes miedo de fallar o demasiado perezoso para comenzar las cosas desde cero.

En la escala de comlexidad, los lenguajes de programación están en la parte superior. No se puede construir un idioma sin saber qué son o sin aprender a programar en uno en primer lugar.

Sugiero (como lo hace cada uno en A2A) comenzar con los fundamentos de CS. La mejor parte es que cada organización MOOC ofrece uno.

Estos serían cursos en python en su mayoría, pero te enseñarán cómo trabajar con ellos, desde pequeños programas hasta juegos.

Comenzar con poco y soñar en grande no es un error, pero renunciar a ellos solo porque las cosas son difíciles no es una excusa.

No se olvide, si solo busca en Google ‘cómo construir un sistema operativo’ obtendrá toneladas de enlaces y decenas de personas que tienen el mismo sueño que usted, simplemente no espere que ocurra de la noche a la mañana. Y LO MÁS IMPORTANTE ignore a las personas que crearon un OS, etc cuando tenían 22 …

¡Dios mío!

Sí, puedes intentar escribir tus propias cosas, si algo te empuja desde adentro para un nuevo enfoque, pero no fue tan fácil como decirlo …
En general, el aprendizaje de lenguajes de programación es inicialmente un proceso de aprendizaje de palabras clave básicas y su funcionamiento clave, y su uso en lugares apropiados, nada más. Si puedes aprender un idioma como el inglés que necesita un gran conocimiento de vocabulario, entonces puedes hacerlo con los PL también 🙂