7 Trucos útiles para el dominio de un nuevo lenguaje de programación
La programación es difícil. Las únicas personas que dicen lo contrario son los que tienen años de experiencia de codificación en su haber. Está bien ser abrumado! Hay una mucho para aprender y es probable que se olvide de las cosas lo más rápido que los aprende. Confía en mí: eso es normal.
Pero el hecho de que es normal no quiere decir que no es frustrante. A decir verdad, aprender a codificar puede ser muy estresante si no se aborda con el derecho de pensar y actitud.Cómo aprender programación sin todo el estrésCómo aprender programación sin todo el estrésTal vez usted ha decidido llevar a cabo la programación, ya sea para una carrera o simplemente como un hobby. ¡Estupendo! Pero tal vez usted está comenzando a sentirse abrumado. No muy bien. Aquí está la ayuda para facilitar su viaje.Lee mas
¿Quieres aprender ese nuevo idioma o biblioteca o marco tan pronto como sea posible, ¿verdad? Eso es comprensible. Afortunadamente, hay un puñado de consejos que pueden ayudar a conservar mejor toda esa información de programación pesada que mantiene volando en un oído y justo a la otra.
No más de Sesiones Cram
Nadie quiere oír, pero abarrotar es la peor manera de aprender a programar. Si eres como yo, era su abarrotar modus operandi todo lo largo de la escuela y la universidad. Es la única manera de saber cómo estudiar.
Pero aprender de mis errores: cuanto más se intenta meter, menos vas a recordar. Eso es más o menos cierto para cualquier sujeto basada en el conocimiento, pero es especialmente cierto cuando se trata de la programación.
La base de esta afirmación proviene de un estudio realizado en 2008 por la Universidad de California en San Diego:
Los estudiantes se desempeñan mejor cuando el espacio sus sesiones de estudio en lugar de cuando tratan de meter todo en sus noggins durante una sola sesión.
¿Por qué? Lo más probable debido a la efecto de posición serial:
efecto de posición serial es la tendencia de una persona a recordar los primeros y los últimos artículos en una serie al mejor, y los elementos intermedios peor.
En otras palabras: en cualquier sesión de estudio determinado, es más probable que retener la información que aprendió cerca del comienzo y el final de la sesión y más probable que se olvide la información de la mitad de la sesión.
Usted quiere maximizar el número de inicios y los finales. Por eso es mejor tener varias sesiones cortas en lugar de unas cuantas sesiones largas cuando se trata de aprender y absorber el nuevo material.
La próxima vez que se siente a aprender el código, lo toma de un tema a la vez y tomar un breve descanso entre cada tema. (Sólo asegúrese de evitar que sus descansos de convirtiéndose en la dilación!)Corte a través de la dilación con estas aplicaciones Técnica Pomodoro & SoftwareCorte a través de la dilación con estas aplicaciones Técnica Pomodoro & SoftwareLa dilación es una enfermedad que invade a los estudiantes y los trabajadores en todos los rincones del mundo y que infecta a los aficionados y profesionales por igual. Como escritor, sufro de la dilación sobre una base diaria. Algunas personas...Lee mas
Opinión, opinión, opinión
Otra razón, ¿por qué abarrotar es la antítesis de la retención del conocimiento a largo plazo se debe a que la memoria se desvanece con el tiempo. Esto no siempre es cierto - Estoy seguro de que todos tenemos unos recuerdos de la infancia que nunca va a desaparecer - pero parece ser el caso general para las memorias que no están vinculados a la emoción.
Existe cierto debate sobre si la memoria misma decae por falta de tiempo (la teoría de la decadencia) O, simplemente, es empujado hacia fuera y sustituido por nuevos recuerdos con el tiempo (teoría interferencia). Cualquiera que sea la teoría que opere, el resultado es que los recuerdos más antiguos son más propensos a desvanecerse.
Aquí es donde entra en juego la opinión.
Piense en ello como caminar por un bosque de los recuerdos. Cada vez que desee acceder a una memoria, tiene que trazar el camino de los nervios con el fin de encontrarlo. Cada vez que se traza esa memoria, la vía se graba en un poco más - al igual que cómo un camino de tierra se forma naturalmente cuando la gente camina por el mismo camino una y otra vez. Si deja de caminar de la vía, que puede desaparecer y la memoria termina perdido en algún lugar del bosque.
Dejando a un lado toda la psicología popular, aquí está la comida para llevar: cuando se trata de la programación, no es suficiente para aprender un tema sólo una vez o dos veces. Usted tiene que volver a docenas o incluso cientos de veces. Cada revisión graba ese tema en su cerebro un poco más profundo.
Yo sé lo difícil que puede ser si usted es un preparador natural, pero usted se sorprenderá de lo rápido que empezar a retener el material una vez que hacer un esfuerzo para revisar con regularidad.
Utilizar diferentes recursos
El aspecto más difícil de programación - al menos para los nuevos codificadores - es la enorme amplitud de detalles y matices que deben ser internalizados. Hasta que la internalización sucede, vas a estar en un estado perpetuo de rascarse la cabeza.
Dependiendo del idioma, tendrá que memorizar cientos de reglas de sintaxis (por ejemplo, palabras clave, punto y coma, espacio en blanco). Algunas lenguas son más estrictos, otros no lo son tanto, y aún otros tienen sus propios enfoques únicos para la sintaxis que no se utilizan en ningún otro lugar. Todo esto puede ser confuso si usted no tiene experiencia previa codificación.
Por no hablar de toda la información conceptual que trasciende idiomas individuales. Temas como la programación orientada a objetos, sistemas entidad en componentes, y los patrones de observación realmente puede hacer que su cabeza girar la primera vez que se trate de aprender.
He compartido esta ilustración antes, pero es tan doloroso que vale la pena repetirlo:
Supongamos que alguien le mostró una fotografía de una estatua. Se podría proveer suficiente de una imagen para que usted obtenga un adecuado sentido de la estatua, pero no se conseguiría el cuadro completo. Una foto ampliada de salida perdería detalles intrincados mientras que una foto ampliada perdería un sentido de perspectiva.
Sin embargo, con cada fotografía adicional, puede realmente comenzar a ver la plenitud de la estatua en la textura, tamaño, en detalle, de adelante hacia atrás, de lado a lado y de arriba a abajo.
Aprender a programar puede ser sorprendentemente arbitraria. Todo el mundo puede alabar de Recursos como la mejor manera de aprender el lenguaje X, pero tal vez no tiene sentido para usted. Tal vez todo el mundo odia el recurso B, pero lo lleve un vistazo y tiene mucho sentido! En cuanto a otra persona, tal vez en zonas hacia fuera cuando se estudia Recursos A y B, pero se benefician enormemente de Recursos C.
Es por eso que es tan importante para usted estar dispuestos a consumir todo tipo de recursos que hay. Todo el mundo aprende de una manera diferente. Si usted está teniendo problemas con un tema en particular, buscar alrededor de otro recurso. Tal vez que uno será más adecuado para usted. Tal vez no.
Incluso si usted piensa que entiende ciertos temas, es posible que hay más a aprender sobre él. También es posible que la explicación de alguien más para solidificar el concepto en su mente para siempre. Nunca se sabe, ¿por qué no consume tantos recursos como sea posible?
Enseñar conceptos a medida que aprende ellos
Hay un bello concepto de programación llamado pato de goma depuración, que describe la técnica de explicar uno de código, línea por línea, a un pato de goma inanimado. Se utiliza cuando un segmento de código en particular se ha roto, pero no hay ninguna razón obvia para ello.
Curiosamente, la mayoría de los programadores tienen un “Eureka!” Momento en el medio de explicar el código, ya que de repente ver dónde se produce el error en la lógica de codificación. Verbalización activa un área diferente del cerebro, lo que obligó a ver el problema desde un nuevo ángulo.
Este concepto también se puede utilizar para ayudarle a aprender nuevo material. Es posible que haya llegado a través de esta cita popular que a menudo se atribuye a Albert Einstein:
Si no se puede explicar en pocas palabras, usted no entiende lo suficientemente bien.
Con la excepción de algunos campos que tienen que ver con los conocimientos teóricos avanzados, este dicho es cierto. Cuanto más entienda un tema, mejor equipado estás para explicarlo de una manera tal que una persona que no tiene conocimiento de dicho tema aún puede llegar a entenderlo.
Lo contrario de esto es cierto también. A medida que tratan de enseñar un tema, que vendrá a través de ciertos conceptos que no se puede parecen explicar de una manera clara. Esto no sólo es una manera impresionante para diagnosticar deficiencias en sus conocimientos, el proceso real de encontrar la explicación adecuada puede ayudar a consolidar el concepto en su mente.
Se llama aprendizaje mediante la enseñanza y es básicamente un giro en la depuración pato de goma.
Ahora, no estoy diciendo que usted debe actualmente enseñar a otros- lugar, cada nuevo tema de programación que se aprende, trate de enseñar a un pato de goma (o un amigo invisible). Se puede sentir tonto al principio, pero puede resultar muy fructífera en lo que respecta a la retención de la memoria.
La práctica hace al maestro deliberada
La noción de talento es una completa basura. Nadie sale del vientre como violinista de clase mundial, luchador, o programador. Por supuesto, algunas personas podrían estar más inclinados hacia ciertas disciplinas, pero El talento sin experiencia es inútil. Del mismo modo, el trabajo duro siempre es más valioso que el talento.No deje que sus talentos ocultos Die: 7 maneras de ir & Encontrar de nuevoNo deje que sus talentos ocultos Die: 7 maneras de ir & Encontrar de nuevoLa mala noticia es que usted tiene que trabajar duro con la intención de pulir sus talentos ocultos. La buena noticia es que hay más oportunidades que nunca para escupir-brillar su talento.Lee mas
Habiendo dicho eso, No todas las formas de trabajo son iguales. Malcolm Gladwell acuñó el famoso Regla 10.000 horas, que dice que hay que invertir al menos 10.000 horas a un sujeto con el fin de convertirse en un maestro en ello. Mientras que el sentimiento puede ser cierto, muchas personas interpretan mal lo que estaba tratando de decir.
Larga historia corta, un compromiso de 10.000 horas en realidad no garantiza el dominio. Ya sabes el dicho: “La práctica no hace perfecto. La práctica perfecta hace la perfección.”Con el fin de que sea significativa, la práctica debe ser intencional. El dominio sólo puede alcanzarse a través de 10.000 horas de práctica deliberada.¿Desea convertirse en un experto en algo? Trate práctica deliberada¿Desea convertirse en un experto en algo? Trate práctica deliberadaEs demasiado fácil sentirse abatido cuando se está tratando arduamente para mejorar una cierta habilidad. Usa el poder de "practica deliberada" para conseguir que los más de mesetas exasperante.Lee mas
¿Cómo se practica asuntos mucho más que la cantidad de tiempo que dedica a la práctica.
La lectura es pasiva. Viendo lecciones YouTube es pasivo. Escuchar podcasts es pasivo. Como novato codificador que podría estar tentado a revolotear de tutorial para tutorial, hacer frente a sujeto tras tema sin llegar a aplicar cualquiera de que el conocimiento de una manera práctica. Resistir a esta tentación.
Es una cosa a entender un ejemplo antes, pero es otra de sintetizar una solución a partir de cero. Si desea acelerar el proceso de aprendizaje, debe estar dispuesto a ser activo en lugar de pasivo. la práctica activa es la única que importa al final.
Experimento con proyectos personales
Para mí, la tarea fue la peor parte de la escuela. Nos pareció que era una estratagema elaborada para matar a la diversión y mantener a los estudiantes ocupados - el cual, para ser justos, a veces era cierto. Pero ahora que miro hacia atrás, la importancia de la tarea finalmente tiene sentido. Me obligó a aplicar los conocimientos recién adquiridos de una forma activa.
Si usted está inscrito en una clase de programación, no hay que subestimar la eficacia de la tarea. Tomar en serio, siempre tratándolo como una oportunidad para cimentar aún más lo que ha aprendido en la memoria a largo plazo.Para aprender Código: 10 libre y fantástico Recursos en línea para perfeccionar sus habilidadesPara aprender Código: 10 libre y fantástico Recursos en línea para perfeccionar sus habilidadesCodificación. Un tema que se evita por muchos. Hay una gran cantidad de recursos y herramientas libres, todos los cuales están disponibles en línea. Claro que podría tomar algunos cursos sobre el tema en un cercano ...Lee mas
Pero muchas veces, la tarea todavía no es suficiente. (Y si usted está aprendiendo a programar por su cuenta sin un instructor real, es probable que no tiene ninguna tarea en primer lugar.)
¿Cual es la solución? Crear un par de proyectos secundarios de usar y tirar!
Pensar en un algunas ideas de proyectos que desea implementar. Para los novatos absolutos, es posible considerar un juego de Tic-Tac-Toe o verdugo. Para los programadores experimentados tratando de aprender un nuevo marco, trate de codificación de una aplicación simple o en la web de juegos para móviles. Mientras esto le interesa a nivel personal, ir a por ello!5 Ideas de proyectos para ayudarle a aprender programación más rápida5 Ideas de proyectos para ayudarle a aprender programación más rápidaHay algunas maneras de facilitar la curva de aprendizaje para la programación. Ensuciarse las manos y aprender más rápido con proyectos secundarios que puede empezar en cualquier momento. Juega un poco con estos cinco.Lee mas
La belleza de este enfoque es doble.
En primer lugar, es más probable que mantenga su atención. Los estudios han demostrado que los estudiantes aprenden mejor cuando pueden alcanzar asuntos que les interesan. Eso es exactamente lo que ofrece un proyecto personal. Usted tiene un objetivo final que en realidad se quiere lograr, por lo tanto es más probable para retener la información que va a llegar allí.
En segundo lugar, no hay presión para que tenga éxito. Mientras que el éxito estaría bien, la falta de formalidad le permite ser experimental y creativo. Usted está inevitablemente va a ejecutar en problemas, pero es más como jugar con Lego de lo que es la tarea. Es más divertido y no tan estresante.
Relajarse & Todo marcador
La verdad es que ningún programador recuerda todo que han aprendido. Incluso después de haber estado trabajando con una biblioteca o un marco determinado por un tiempo, no es raro si no puede recordar cada función o variable de la parte superior de su cabeza.
De hecho, tratando de memorizar todo lo que sólo podría llegar a ser una enorme pérdida de tiempo y esfuerzo. Existen hojas de referencia por una razón. ¿Por qué cometer una enciclopedia entera en la memoria cuando se puede voltear abrir siempre que lo necesite? Lo mismo es cierto para API de programación.¿Cuáles son las API, y cómo son API abiertas Cambio de la internet¿Cuáles son las API, y cómo son API abiertas Cambio de la internet¿Se ha preguntado cómo los programas en su ordenador y los sitios web que visita "hablar" el uno al otro?Lee mas
Por lo tanto, cuando memorizar y cuando para hacer referencia?
Cuando se trata de material conceptual, siempre internalizar a la medida de su capacidad. Por ello me refiero a la comprensión de la teoría, incluso si no se puede convertir en código real (y la teoría debe ser lo suficientemente clara al usuario para que pueda enseñar con claridad).
Para todo lo demás - como los nombres específicos de funciones, listas de parámetros, o incluso peculiaridades del lenguaje - Yo no me preocuparía por aprender de memoria. No dude en aplazar hasta una hoja de referencia. A veces se le hace referencia algo tan a menudo que se termina memorizarlo. Si eso sucede, está bien. Si no es así, eso también está bien.
En lo personal, tengo cientos de marcadores de Internet a varias API, guías y tutoriales. Si tengo que aplicar algún tipo de algoritmo de búsqueda de caminos, podría hacer referencia a una guía para ayudar a conseguirlo codificada antes de olvidarse de nuevo. Ayuda a entender los conceptos subyacentes, pero trato de no preocuparse por los detalles de implementación.
Pensamientos finales
Voy a repetir un millón de veces si tengo que: la programación es dura y no pasa nada si se lucha con él. He estado programando como un hobby desde hace más de una década y todavía me encuentro a mí mismo intimidar cuando tengo nuevos conceptos para aprender.
No se castigue si usted no puede recordar todo de inmediato. Los consejos anteriores se espera que ser útil para usted, e incluso si no lo hacen, siempre se puede confiar en las referencias Bookmarked como un último recurso.
¿Le resulta difícil programar? ¿Qué tipo de trucos y consejos Cómo sabes que podría ser útil para los programadores novatos? Compartir su sabiduría con nosotros en los comentarios!