Tengo 13 años y quiero aprender a codificar. Ya he aprendido lo suficiente como para decir que sé lo básico, pero ¿qué debo hacer para ser más fluido o avanzado en código?

Eso es excelente, felicidades! Estos son mis mejores consejos para avanzar rápidamente en el desarrollo de software:

Leer codigo Lee tanto código como puedas. Trate de hacerlo de la mejor fuente que pueda encontrar, pero cualquier fuente le enseñará cosas. Piensa en cómo lo habrías hecho mejor. Piensa cómo harías para averiguar si el código era correcto o incorrecto (si realmente resuelve el problema). Piensa en otras formas en que podrías haberlo resuelto (quizás mejor, quizás no).

Leerás tanto código como escribas si decides seguir adelante con la programación como una carrera. Ser bueno en la lectura de códigos está muy por debajo de la calificación (en mi opinión). He conocido a programadores que apenas logran releer el código que ellos mismos han escrito. Es un gran error.

Encuentra un proyecto que te interese. Ya sea creando algo desde cero. Bueno, utilizando bloques de construcción existentes (bibliotecas, herramientas de desarrollo, etc.), pero resolviendo un problema que personalmente le parezca interesante. Te encontrarás mucho más motivado para realmente terminar algo si estás realmente interesado en el resultado.

Si lo que le interesa es más grande, busque un proyecto de código abierto que resuelva el mismo problema o uno similar. Descárgalo, asegúrate de que puedas compilarlo y ejecutarlo. El comienzo de la excavación a través de él para ver cómo funciona. Intenta mejorar o simplemente cambiar secciones más pequeñas. ¿Todavía se compila? ¿Todavía resuelve el problema? ¿Es más rápido o más lento? ¿Se necesita más memoria o menos memoria?

Le insto a depurar a través de cada línea de código que escribe. No solo ahora, sino tanto como sea posible. Recorrer una sección de código, cambiar variables manualmente para simular diferentes casos de esquinas, restablecer el puntero de instrucciones y ejecutar la misma sección para probar diferentes cosas. Verifique los valores de las variables intermedias para asegurarse de que está haciendo lo que cree que debería estar haciendo.

Para eso, sea muy fluido con su depurador, sea cual sea el idioma que esté utilizando. Aprenda a usar cosas como puntos de interrupción condicionales, puntos de interrupción de iteración, ventanas de ejecución inmediata (si tiene soporte para eso, cualquier lenguaje de scripting debería y la mayoría de los lenguajes en máquinas virtuales como Java, C #, etc. también), etc. Lo usaremos mucho, así que es importante sentirse cómodo allí.

Aprende a escribir bien. En serio. Su cerebro tiene la capacidad de trabajar a una velocidad que ni su boca ni sus dedos pueden igualar. Por lo tanto, ser capaz de escribir bien sin esfuerzo le ayudará a mantener su “flujo” (por falta de un término mejor) durante la programación. No desea que su capacidad de sacar el código de su cabeza y colocarlo en la computadora sea el punto de estrangulamiento de su proceso.

Siempre fui un gran fan de Mavis Beacon Teaches Typing como una aplicación de tutorial de mecanografía, pero no lo he usado ni visto en más de diez años, por lo que no puedo decir que sea el mejor en estos días. También hay sitios web gratuitos y de pago que brindan ayuda con este tema, como Free Typing Tutor – Typing.com (“mejor aprende a escribir software de Google” y encontrarás muchas sugerencias). Como todavía estás en la escuela, hay clases de mecanografía que puedes tomar (creo que en estos días se llaman “teclados”), por lo que sería una excelente manera de mejorar.

Encuentra gente que quiera codificar, como tú, y diseña y codifica un juego. Puede ser algo muy simple al principio.

Un juego es bueno porque es divertido de escribir y divertido de usar y puedes obtener comentarios de otros muy fácilmente, ya que a todos les gustaría jugar un juego de vez en cuando.

Mi primer juego fue muy simple:

  • Usted controla un reflector espacial (una nave espacial pequeña que tiene un espejo);
  • El reflector espacial está siempre en la parte inferior de la pantalla y puede moverlo hacia la izquierda o hacia la derecha solamente;
  • Un invasor de espacio aparece aleatoriamente en la parte superior de la pantalla y dispara una ráfaga destructiva;
  • Tu objetivo es alinear tu espejo con la ráfaga para que lo reflejes contra el invasor y lo arruines;
  • Si no logra reflejar la ráfaga, el siguiente invasor aparecerá un poco más abajo en el espacio de la pantalla, lo que le dará menos tiempo para reflejar la próxima ráfaga y hará las cosas más difíciles;
  • Si logras reflejar, tu puntuación y el siguiente invasor aparecerán en el mismo nivel en la pantalla.

Realmente es un juego simple, pero te enfocará en un objetivo, lo que hace que el aprendizaje sea mucho más divertido y efectivo. ¡Comienza con un juego en 2D, luego evoluciona agregando un fondo en movimiento, diferentes diseños de naves espaciales, diferentes armamentos, otras reglas, nuevas fases, etc.! Tal vez lo evolucione a una versión en 3D, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡lo que me encantaría ver !!!

Si no te gusta este juego, diseña algo más y obtén la codificación ahora mismo.

¡¡¡Los mejores deseos!!!

PS .: Tenía 13 años cuando escribí este juego en BASIC, usando mi computadora 2K RAM Sinclair Spectrum.

Tu objetivo no debe ser ser bueno o avanzado en la codificación. Eso vendrá con tiempo y práctica. Más importante es aprender a desarrollar software (a menos que estés buscando convertirte en un programador competitivo; para eso, dejaré que alguien con experiencia te dé consejos).

El desarrollo de software es mucho más que la codificación. Necesitas encontrar un proyecto para trabajar; ya sea algo de interés para usted o algo de interés para un cliente / cliente / su empleador. A continuación, debe analizarlo para determinar qué se necesita / desea, qué ya está en su lugar, y para averiguar cómo podría verse su solución.

Tendrá que diseñar su solución con más detalle. Averigüe qué recursos necesitará, qué herramientas desea utilizar, cómo se estructurará el programa. Solo entonces pasará a la implementación, que es donde entra en juego la codificación. Cuando se implementa, la solución debe probarse, depurarse y, de lo contrario, limpiarse. Luego lo entregará al cliente o al cliente, y tendrá que admitirlo corrigiendo errores y agregando nuevas funciones.

Aunque lo describí como un proceso lineal, en realidad no lo es. Muy a menudo, regresará a una etapa anterior para refinar las cosas. Es posible que descubra que realmente no entiende los deseos del cliente o que lo que el cliente pensaba que deseaba no es realmente lo que necesita. Su diseño puede tener agujeros, sus herramientas elegidas pueden no ser apropiadas, su implementación puede tener un defecto grave que requiere una reescritura bastante sustancial, etc.

Trabaja con otros desarrolladores. Los desarrolladores senior tienen experiencia que puede ayudarte. Pueden hacer el trabajo de análisis y diseño, mientras que, con suerte, le permiten participar en sus procesos de pensamiento. Pueden revisar y comentar tu código, lo que te ayudará a mejorar. Mostrar a más desarrolladores junior las reglas también puede ayudarte a mejorar; Para explicar algo, necesitas entenderlo.

No esperes que nada de esto ocurra de la noche a la mañana. Te espera un largo recorrido, pero vale la pena el esfuerzo.

Wow, grandes respuestas aquí, todas ellas. (Los he votado a todos). Sí, de hecho, NO se centre en estudiar solo. Si quieres convertirte en un gran constructor de casas, no estudies los martillos, practica el martilleo y aprendes sobre los diferentes usos de los martillos. En su lugar construyes algo. Entonces construye algo más grande y más complejo. La programación es de la misma manera.

Mi consejo sería tratar de crear proyectos de software, absolutamente lo que sea de su interés. Si te aburres de hacer una cosa, haz otra cosa que parezca más interesante. Mientras continúes intentando crear software, no puedes equivocarte. Cada vez que pases tratando de escribir software mejorará tus habilidades.

No creo que importe nada, ya sea que lo hagas solo o con otras personas, utilizando las cosas que pagas o utilizando todas las cosas gratuitas en Internet. La cosa es encontrar proyectos que te motiven. Ya sea que los termines o no al final, ni siquiera importa, siempre y cuando te interesen y te proporcionen la motivación para seguir codificando y tratando de crear cosas. Google está loco por descubrir lo que necesitas saber y no sentir que debes hacer x o y. Mientras sea divertido y lo intentes, tus habilidades mejorarán.

Si tuviera, digamos, veinticinco años y el tipo de persona que nunca se sacude de un objetivo, y desea aprender un conjunto particular de habilidades en el menor tiempo posible, podría tener un consejo diferente. Pero a los trece años, y generalmente incluso a cualquier otra edad, el obstáculo más probable para progresar es que solo se desmotive y deje de intentar escribir programas, o se sienta intimidado por las metas que se ha fijado. Muchos desarrolladores empezaron a tratar de escribir juegos cuando eran adolescentes; luego, en realidad, nunca terminaron de crear un juego, sino que adquirieron las habilidades que les permitieron su primer trabajo, o les permitieron crear algo útil. Lo que los hizo buenos al final, fue divertirse con la programación desde el principio.

Aprende la programación orientada a objetos en Java si aún no lo sabes. Es la base de cómo diseñar piezas de software grandes y reutilizables. Es muy fundamental. Puedes hacer esto en C ++. Pero los lenguajes como Java y C # son excelentes para ellos.

Después de eso, debes comenzar a aprender Estructuras de datos y algoritmos. La parte de las estructuras de datos es realmente importante, ya que son útiles para crear software.

No estoy seguro de dónde encaja esto en su esquema de aprendizaje: Amazon.com: Algorithms Unlocked (MIT Press) eBook: Thomas H. Cormen: Kindle Store

Intentaría encontrar un libro sobre estructuras de datos que no sea muy complejo y simplemente familiarizarme con esas cosas.

Tres sugerencias:

  1. Desarrolle sus propias aplicaciones. Comience con algo simple, haga que funcione, luego agregue funciones. La fluidez proviene de la codificación, tal como lo hace para cualquier otro comportamiento o habilidad aprendida.
  2. Involúcrate en un proyecto de código abierto. Vea cómo codifican los demás; aprender de esto Revise la lista de problemas y vea si puede ayudar a resolver algunos de ellos, Enviar PR.
  3. Lee y participa en sitios como stackoverflow.

Práctica

La respuesta simple, razonable.

Practica lo que codificas. Intenta recrear tu pieza favorita de software. Practica muchos algoritmos / crea los tuyos. Cree scripts para simplificar sus tareas diarias. Sube algunos scripts en Github.

Finalmente, ¡nunca dejes de programar!

Lo siguiente mejor sería comenzar a crear proyectos. Esto se debe a que definitivamente enfrentará muchos desafíos. Y cuando superas esos desafíos, adquieres conocimiento y te vuelves más fluido.

Nota especial: encontrará muchas soluciones para su proyecto. Pero nunca use ese código sin entender la solución.

Siempre mantenga su código a través de git u otro sistema de control de versión.

Intenta escribir código que sea legible.

Nunca hasitate para crear tantas funciones.

Y, nunca dejar de aprender. Aclamaciones.

Luego debe ir a Codecademy: aprenda a codificar, de forma interactiva, de forma gratuita y cree un sitio web desde cero al optar por la opción Codecademy Pro Intensive . Cuesta alrededor de $ 200 .

Eres guiado por mentores y desarrolladores. Lo mejor aquí es la certificación. Puedes obtener la certificación de Codecademy .

Para mayor asistencia vaya a través de las Tecnologías de Desarrollo Web. Te guía a través de ellos.

SoloLearn: Aprende a Codificar

Aquí hay un sitio que te puede interesar. Es divertido y gratis. También es una aplicación para teléfonos inteligentes, por lo que puede codificar en su computadora o en su teléfono cuando lo desee. Ir a través y tratar de completar cada uno de los cursos de lenguaje de programación que tienen: C ++, Java, JavaScript, C #, SQL y más.

Familiarizarse con los errores,

Genera problemas y trata de depurarlo.

Hazte construir proyectos sobre lo que estás trabajando …

Interactúa con personas que se han involucrado en esa profesión, obtén y comparte ideas….

Llano y simple. Construir algo Todo lo que quieras. Aplique ese conocimiento que ha aprendido y aplíquelo en todo lo que haga.

Hay muchas personas que “estudian el código” o “aprenden el código”. Pero alguien con experiencia es más valioso que alguien sin experiencia, independientemente de la educación … en la mayoría de los casos

El desarrollo de software es la resolución de problemas, no la codificación. Aprende primero a resolver problemas. (Enseñe a ti mismo la informática) se trata de lo que tienes que aprender, pero a los 13, dudo que puedas hacerlo. Juega con la codificación hasta que tengas 20 o 21 años, luego aprende a programar. No intentes convertirte en un buen programador ahora. o todo lo que obtendrás es frustración, odiarás la programación y nunca volverás a hacerlo.)

Personalmente, aprendo mucho mirando el código de otras personas, desarmándolo y tratando de replicar partes de él.

Pero desafíese, siempre codifique cosas, ooo, necesito una calculadora para resistencias, codifíquelo, necesito hacer algunos cálculos de motores, codifíquelo, quiero recibir una fuente de noticias, codifíquelo.

Cursos introductorios de programación

Personalmente no he tomado ninguno de estos cursos, pero son del MIT, por lo que deberían ser buenos. Simplemente comienza descargando los materiales del curso y viendo los videos. Probablemente esté en la mitad del primer curso conceptualmente, pero sugeriría ver todas las conferencias hasta ese momento también.

Tu siguiente paso debe ser aprender a NO CODIR.

Aprenda a “Escribir software”, la codificación es solo una de sus herramientas para realizar esta tarea.

Proyectos de barcos. Construye algo que alguien pueda usar. Terminalo

Me gustan los juegos. Haz un juego, un sitio web, cualquier cosa. Se parte de opensource.

Cualquier cosa.

Sólo enviar