Desinstale Windows Instale una versión de Linux Es hora de convertirse en un programador gigachad hiperpolíglota Si usted es un pobre matorrales como yo cuando comencé, no tiene idea de lo que significan las palabras, " Sistema operativo", "lenguaje de programación" e "IDE ” realmente significa Y espera, ¿qué? ¿HTML no es un lenguaje de programación? Sí, lo siento amigo, aún no has tocado el código real. Cambiemos eso. En realidad, solo hay 3 cosas de las que debe preocuparse en este momento, es decir; Comprender su sistema operativo ¿Qué lenguaje de programación debería elegir aprender? ¿Qué herramientas están disponibles para usar? ¿Tienes una manzana en la esquina? MacOS ¿Está familiarizado con el "menú de inicio"? Ventanas Erecti..? Linux Es importante saber esto al programar, ya que ciertas características de un lenguaje de programación ahora pueden estar disponibles en todos los sistemas operativos. A veces, es posible que el idioma no esté disponible en absoluto. Ahora, averigüemos qué lenguaje de programación vas a aprender primero. Además, probablemente una nota importante, cualquiera que sea el idioma, el marco, la biblioteca o el pingüino que elija para comenzar a aprender, en realidad no es lo que usará cuando finalmente consiga un trabajo. Sin embargo, si está interesado, como regla general, diría que el estado actual de la industria es: ¿Quiere crear sitios web? Use JavaScript ¿Quiere crear sitios web, pero se encuentra atrapado en 2008? Usa PHP ¿Quieres trabajar en una gran corporación? C# o Java ¿Quieres crear la próxima aplicación de unicornio? Swift y Java... o JavaScript A menos que sea un nerd con una sólida formación en matemáticas, es probable que cuando empiece a aprender a programar, se le presente una abrumadora cantidad de conceptos nuevos. En mi opinión, aprende a programar con un lenguaje que no te obligue a seguir pautas estrictas, esto te permite aprender los conceptos básicos sin preocuparte demasiado por la sintaxis. Hace unos años les sugería Python a la mayoría de los novatos, hoy en día les sugiero JavaScript. Es un monstruo absoluto después de generaciones de endogamia, pero ¿es más flexible y tolerante que Python y otros lenguajes de programación? Si no está de acuerdo, deje su ubicación en los comentarios a continuación y nos encontraremos en el estacionamiento más tarde. Muy bien, he elegido un lenguaje de programación para ti. [Rebobinar sonido] Quiero decir, HAS sopesado las opciones y has decidido que JavaScript es el mejor lenguaje de programación para ti primero. ¿Dónde sigue? Entorno de desarrollo integrado Si no ha escuchado esta frase antes, es posible que no tenga mucho sentido. Pero, editor de texto, es un editor de texto. Ya sabes, como el Bloc de notas? ¿Palabra? Ese tipo de cosas. Pero especialmente hecho para editar código. La mayoría de los IDE modernos incluyen resaltado de sintaxis, complementos, integración con herramientas de terceros como GitHub y muchas otras cosas interesantes. Sin embargo, asegúrate de pasar los primeros 45 minutos cambiando entre los diferentes temas, solo para asegurarte de que te ves como el chico más genial de la cafetería. Necesitamos averiguar qué herramientas están disponibles para usar y, según el idioma que haya elegido aprender, cambiará ligeramente las opciones de herramientas recomendadas. En general, diría: Python - Pycharm o VS Code JavaScript - VS Code Java - IntelliJ o Eclipse .NET - Visual Studio Si está tratando de ser un Gigachad absoluto y aprender C, C++ o Rust como su primer idioma, va a ser difícil comprender realmente los conceptos básicos de lo que el idioma está haciendo por usted. Según el idioma que haya elegido, es probable que también deba instalar las bibliotecas y programas relevantes para ejecutar esos idiomas. Si pienso en cuando comencé a aprender, pensé que podía ejecutar cualquier lenguaje de programación en cualquier lugar y simplemente ejecutaría... ya sabes... es una computadora después de todo, ¿no es así como se supone que debe funcionar? No. A menos que esté escribiendo en binario, todos los lenguajes de programación son en realidad solo compiladores o intérpretes que convierten su desorden de texto en algo que una computadora puede entender. Ese comando de "imprimir" es realmente solo un comando de alto nivel para decirle a la computadora que inicialice algo de memoria, lo coloque en una cadena y luego lo muestre en la pantalla. La mayoría de los lenguajes interpretados, de hecho, simplemente convierten su código en C o C++, que luego se compila y finalmente se convierte en algo que su sistema operativo puede entender. Si está aprendiendo JavaScript, el programa que ejecuta el código JavaScript real está integrado en el propio navegador. Yo personalmente uso Chrome, solo porque creo que tiene algunas de las mejores herramientas de desarrollo. Aunque Firefox y Microsoft Chrome... me refiero a Edge, también están bien. En lugar de darte una lista de guías para seguir, quiero dejarte una lista de conceptos y consejos para aprender en el idioma que elijas. Después de aprender estos, podrá cambiar fácilmente entre idiomas. Todos los programas siguen un flujo muy específico. Dada alguna entrada Procesar algunos datos A veces produce una salida Por ejemplo, si estoy iniciando sesión en un sitio web, mi entrada es mi nombre de usuario y contraseña El servidor verificará si mi nombre de usuario y contraseña son correctos Su salida suele producir un token o sesión y redirigirme a otra parte del sitio #2 Averiguar qué tipos de datos están disponibles en el idioma Digamos que quiero crear un sitio web con una página de inicio de sesión, ¿cómo se almacenan los datos que las personas ingresan? Idealmente, desea comprender cómo almacenar cadenas y caracteres, números y cómo representar nada. Una vez que comprenda los tipos de datos básicos en su idioma, descubra cómo almacenar grupos de estos datos. Especialmente cómo representar una lista y una tienda de clave/valor. Una lista le permite almacenar un grupo de variables juntas en un orden específico. Los almacenes de clave/valor le permiten crear un modelo de datos. Por ejemplo, digamos que quiero convertir entre nombres de países y sus respectivos países. Podríamos buscar el respectivo y ver que el valor es "Estados Unidos". Mantenga su código SECO: no se repita. Las funciones son lo más importante para ayudarlo a lograr esto . y otra vez Las funciones le permiten envolver piezas de código para que sea más fácil reutilizarlas después. Imagina que estamos haciendo este cálculo complicado una y otra vez. En lugar de escribir esto una y otra vez, podríamos escribir una función para terminar esto y llamarlo varias veces. Esto hace que sea más fácil si también desea cambiar lo que está haciendo la función, ya que puede cambiarla en un lugar, no en todas partes. Comprensión de los administradores de paquetes ¿Observa cómo los grandes juegos de ciertos editores pueden lanzar un juego cada año con actualizaciones incrementales? Nadie quiere reinventar la rueda cada vez . Obviamente, están tomando el producto del año pasado, agregando algunas actualizaciones y enviándolo nuevamente. Por mucho que bromeemos al respecto, la mayoría de los productos están haciendo lo mismo. Para sacar más provecho del lenguaje que está utilizando, puede apoyarse en el ecosistema del lenguaje y aprovechar las bibliotecas y los marcos que algún genio ya se ha esforzado en crear. Esto ayuda a convertir muchas tareas que necesitará hacer con su idioma en una tarea de ingeniería, donde su trabajo real es simplemente atornillar los tornillos entre diferentes marcos y bibliotecas para lograr lo que necesita. Algunos buenos ejemplos de esto son el aprendizaje automático y las bibliotecas de servidores. Nadie quiere escribir un programa para decodificar un paquete TCP cada vez que quiere crear un sitio web. Ahora, para el último consejo final