2010-08-07 19 views
10

Acabo de empezar a aprender Java (refiriéndose Head-First book).¿Cuál es tu forma de aprender un idioma?

Solo quería saber cuál es la mejor forma de aprender cualquier idioma?

¿Cómo sacar el máximo provecho del libro?

¿Debería uno estudiar el material del libro y luego probar ese código más tarde en la computadora o hacerlo simultáneamente? (concepto de aprendizaje y probar eso en la computadora en el mismo momento)

En mi caso, estoy refiriendo el libro y tomando la ayuda de los foros. También quiero saber cuándo comenzar a responder aquí en Stack Overflow :). Como soy nuevo en el idioma, no sé mucho.

(acabo de leer las respuestas de otros aquí regularmente)

+0

Usted probablemente querrá Marque esta pregunta "Comunidad Wiki" para que no se cierre al instante. –

+0

intentado http://stackoverflow.com/search?q=learning+a+language%3F? – Iznogood

+0

@ Carl: Gracias, Hecho :) –

Respuesta

13

El "mejor" depende de ti - mi propio enfoque se puede resumir como:

  • leer un libro
  • escribir código
  • repetición

pero algunas personas no aprenden bien de esa manera, y prefieren s Esto es algo más formal, como ir a un curso de capacitación, algo para lo que no me puedo sentar, aunque como ex instructora solía alegrarme de que mucha gente sintiera lo contrario.

0

Cuando quiero aprender un idioma, me impuse una tarea difícil, como la codificación de Huffman, o Facebook puzzles, y comenzar la perforación de lejos en ella con la ayuda de este sitio.

Es posible que desee utilizar un libro para obtener las bases de la lengua, aunque ...

0

He llegado a nuevos idiomas al crear un proyecto. Tal vez algo que ya haya hecho en otro idioma o algo que le sea útil (como una herramienta de programación). Luego intente escribirlo en el idioma que desea aprender, al principio usando solo lo que entiende sobre el idioma y puede obtener de libros y sitios web. Cuando finalice el proyecto, comience a solicitar en la comunidad que alguien mire su código y haga preguntas sobre lo que parecen ser áreas problemáticas.

Es importante tener en cuenta que un idioma suele ser muy general, mientras que un problema le dará contexto. Por ejemplo, puedo saber cómo desarrollar aplicaciones Java, pero eso no significa que sepa cómo desarrollar aplicaciones J2EE. Mismo idioma, contexto diferente; por lo que es posible que desee pensar en eso al crear el proyecto o proyectos de aprendizaje.

También recomiendo construir el proyecto con pruebas de unidades muy pesadas. Las pruebas de unidades de escritura le proporcionarán un conjunto sólido de herramientas que no le mostrarán en los libros, su código mejorará y, lo que es más importante, cualquier idioma idiomático imprevisto sobresaldrá como ... bueno, como una prueba fallida.

1

Esto es un duplicado, como recuerdo haber respondido esto no hace mucho tiempo, pero para mí depende del idioma y si necesito aprender solo los idiomas o ideas completamente nuevas también.

Con un lenguaje como Haskell, que consideré difícil dado que era bastante diferente de lo que estaba acostumbrado, comencé con el aprendizaje de libros.La experiencia práctica es, sin embargo, esencial, pero en lugar de intentar cualquier cosa ambiciosa desde cero, me concentro en pequeñas modificaciones al código existente.

Con idiomas más fáciles como Ruby, o incluso Java, puedo hacer un tutorial, luego trataría de escribir una aplicación desde cero. Cuando me encuentro con cualquier pared, simplemente busco respuestas, o pregunto aquí, y el aprendizaje viene con experiencia.

En realidad, hacer cosas es la clave.

0

Lo más importante para mí siempre es encontrar algo que realmente quiera hacer con el nuevo idioma que intento aprender. De lo contrario, es difícil estar realmente motivado. Pero una vez que tengo una idea para algo, voy a leer tutoriales y artículos sobre el idioma y comienzo a desarrollar mi proyecto aprendiendo sobre la marcha.

Solía ​​leer muchos libros, pero hoy con stackoverflow y los tutoriales en todas partes, cada vez me parece menos necesario.

0

Normalmente busco el mejor libro posible (uno con la mayoría de las recomendaciones) y lo examino muy rápido, solo para tener una idea general del lenguaje, las buenas prácticas, etc. Luego, o pienso en google o un programa que podría cubrir todo lo que puedas hacer con ese idioma (bien, no todo, sino tanto como sea posible). Como cuando estaba aprendiendo Java EE (JSP, Servlets, JPA) decidí escribir un sencillo juego del ahorcado, primero hacía lo básico, luego agregaba la base de datos etcetc. - Primero hice un programa muy básico, luego agregué más y más. Por supuesto, mientras lo escribía buscaba siempre buenas prácticas, porque puedes codificar algo y funcionará, pero podría ser un infierno mantenerlo en el futuro, etc.

Creo que escribir cosas en un idioma que Aprender es la forma más eficiente si lo ejecutas bien.

2

Suelo leer primero los libros y hacer los ejercicios después de cada capítulo, tratando de entender los conceptos básicos y estar familiarizados con sus características

0

yo personalmente todavía tengo una copia del conjunto de datos NetflixPrize que escribo algoritmos en dicha lenguaje para resolver o simplemente irse con él, en general. Lamentablemente, el conjunto de datos ya no está disponible al público (al menos oficialmente de Netflix).

Independientemente, encuentre un proyecto divertido que tenga una buena idea de lo que debe hacer para completarlo y resolverlo, y luego aprender las instalaciones de idioma y plataformas y las mejores prácticas para resolverlo. Una vez que se haya mojado los pies, diversifíquese e inicie nuevos proyectos con el idioma/plataforma que está aprendiendo.

2

He hecho algo interesante e intenté reescribir mi bot de IRC en el nuevo idioma. Esto me permite aprender varias cosas, incluyendo

  • Usando cualquier GUI marco de la lengua utiliza
  • Usando cosas como tomas de corriente, arroyos, etc.
  • sincronización
  • estilo
  • programación orientada a objetos (si el idioma es POO)
  • Multithreading
  • Hacer cosas dinámicamente (para complementos)
  • Si lo estoy haciendo correctamente cuando solicito una revisión de código.
  • Cómo utilizar otros marcos

en Java, esto es más o menos la extensión de cualquier aplicación de escritorio SE. En PHP (sí, lo hice en un horrible PHP que abandoné), aprendí muchas cosas interesantes, principalmente que PHP no estaba hecho para eso.

Usar esto puede darle una gran idea de las muchas características del idioma. También puede ser divertido a veces.

0

Para mí: aprendo un idioma comenzando un proyecto. Aprendí C# .NET este verano iniciando un proyecto web en C#. Cuando me quedo atascado en algo, ¡o lo googleo o simplemente me beneficio de stackoverflow !! Si no se siente seguro: inicie un mini proyecto con Java y vea cómo funciona.

0

Si estás en las primeras etapas de aprender a programar, entonces yo creo que es más didáctica para jugar con lo que ha aprendido a medida que avanza a través del libro. No espere hasta que termine de leerlo para obtener algo de práctica. Puedes entender el conocimiento, pero ser capaz de aplicarlo adecuadamente requiere mucha práctica. Y es fácil olvidar lo que aprendiste hace una semana, si no lo haces.

Así que lo que suelo hacer cuando estoy aprendiendo un nuevo idioma, es tratar de resolver algunos problemas con ella. Eso me ayuda mucho a evaluar cuán lejos está mi comprensión del idioma, y ​​también me ayuda a descubrir las profundidades del lenguaje. Los ejemplos de los problemas que tratan de resolver cuando estoy aprendiendo un nuevo idioma:

0

Si nunca has tenido ninguna experiencia en programación, no creo es una buena idea comenzar un proyecto en el que te encontrarás atascado la mayor parte del tiempo y requiriendo la asistencia de google o stackoverflow.

Más bien, conseguir un libro, pasar por cada ejemplo, pruebe algunas preguntas finales de los capítulos, el código de los ejemplos y pensar en formas creativas para modificar el programa de acuerdo a sus necesidades. También puede complementar su aprendizaje viendo las videoconferencias provistas por Stanford's Engineering Everywhere o OCW de MIT. En su caso, la primera serie de conferencias de video gratuitas de Stanford comienza con Java, pasa a C++, luego a MIPS y algunos lenguajes de scripting.

Compruébelo usted mismo: http://see.stanford.edu/see/courseinfo.aspx?coll=824a47e1-135f-4508-a5aa-866adcae1111

En lo que contestadores inicio preguntas que comienzan, siempre se puede decir cuáles son sus etiquetas favoritas y ajuste en "principiante" para que Stackoverflow mostrará más preguntas "principiante".

+0

Gracias chiurox :) –

0

hago a menudo siguientes:

  • libro de lectura que habla de lo mismo (por ejemplo Java introducción, Java para principiantes, Java de cabeza, etc)

La razón es que hablan misma pero a veces utilizo diferentes ejemplos y diferentes estilos de codificación, así que me ayuda a comprender las distintas formas de codificación. Además, a menudo un ejemplo no es suficiente para comprender completamente lo que realmente sucede cuando te quedas atascado.

  • leen los códigos que otras personas escriben.

Vaya en línea y busque el código que busca, lo escriben de manera diferente y usted encontrará qué enfoque tiene qué ventajas y desventajas.

  • únase a los foros y participe en la discusión.

Asegúrese de pasar algún tiempo antes de publicar preguntas. A la gente no le gusta el buscador de soluciones fáciles. Normalmente paso dos horas buscando respuestas y, si no puedo entenderlo, empiezo a preguntar en línea con todos los detalles posibles para obtener las respuestas precisas.

0

¿Tiene conocimientos de informática o programación? De lo contrario, es importante aprender sobre estructuras de datos y algoritmos, así como sobre el lenguaje real. Hay muchos recursos gratuitos, y aunque el libro lo ayudará, es posible que desee considerar tomar un curso de CS para ayudar con algunos de los conceptos.

Si usted (o cualquier otra persona que lea esta pregunta) esté interesada, puede consultar This site para obtener una introducción a la informática. También hay muchos otros buenos cursos sobre opencourseware. Esta clase en particular son todos los videos de conferencias transmitidas o descargadas con tareas, exámenes y cuestionarios, todos al 100%, y de los maestros de MIT.

Si ya tiene un fondo CS, a continuación, por favor ignorar :)

0

Creo empezando un pequeño proyecto es la mejor manera y en un principio se pegue a un libro es siempre ayuda

Cuestiones relacionadas