novato - ¿Cómo dominar Java?
universidad java: experto en java de cero a master+64 horas descargar (12)
¿La mejor manera de ser bueno en algo? Consigue un trabajo que te permita usar esa tecnología. Se les paga mientras practica.
Hay un momento para dejar de leer libros y artículos, y comenzar a trabajar en la construcción de un proyecto.
Mientras trabajas, aprende de otros que son mejores que tú. Continúe leyendo artículos sobre temas que le interesen y aplique lo que aprendió en el trabajo.
Estudié 2 cursos en Java:
1- Introducción a la programación con Java.
2- Estructuras de datos con Java.
En ambos cursos utilizamos Java SE.
Me encantó y realmente quiero ser un gran programador de Java.
Pero, descubrí que debería conocer muchas tecnologías involucradas en el desarrollo de software Java:
Spring, Struts, JSP, JSF, GWT, Hibernate, apache tomcat y muchos más en realidad mucho más.
Espero que se convierta en un proceso simple como .NET, que elija un idioma con un marco de trabajo e IDE.
¿Alguien podría guiarme a la mejor ruta o ruta para dominar Java, por favor?
¿Qué te parecen estos dos cursos?
http://www.oreillyschool.com/certificates/java-programming.php
y
Advanced Java Certificate Series (de la misma escuela, estará disponible en septiembre).
¿La mejor manera de ser bueno en algo? Práctica práctica práctica.
No se centre en un solo marco, solo haga un montón de Java, eche un vistazo a los proyectos de código abierto, encuentre algo que necesite corrección o implementación y hágalo o piense en algo que desee pero que no existe y hágalo.
Creo que la mayoría de los programadores tienen un promedio de inteligencia de graduados universitarios, incluyéndome a mí. Sin embargo, lo que sí tenemos es paciencia.
Dicho esto, hay formas eficientes de aprender y formas ineficientes de aprender.
- Si estás atrapado en un tutorial / libro, prueba con otro libro. Una vez que haya terminado con lo básico, realmente no hay un orden "correcto" para aprender.
- Hojear la documentación estándar de la biblioteca de Java. No se moleste en memorizarlo , pero asegúrese de saber que las herramientas están ahí cuando las necesite.
- Hacer muchos programas de prueba . Si alguna vez siente curiosidad por algo, pruébelo y vea qué sucede. No sé qué tan grande es un int? Escribe un programa que imprima un tamaño de. ¿No sabe qué sucede cuando llama a una función virtual de una instancia de anulación? Escriba un programa con dos clases, una heredando la otra, y pruébelo.
- Lea el código de otras personas . Toma nota del estilo y la estructura. Y no me refiero a cosas tontas como si el {debería ir en la misma línea que la declaración, sino cómo reciclan las variables, cómo organizan sus clases, cómo usan los bucles, dónde se molestan para optimizar y dónde no. Emula lo que te gusta .
- Practique la creación de programas "stub": puede hacer esto en su cabeza una vez que lo domine. Encuentra tu programa favorito y escribe todas las clases / métodos como crees que se habrían usado para construirlo. Eso te ayudará con la arquitectura.
- Pasa mucho tiempo nombrando tus clases . No uses nombres de fantasía, solo descriptivos. Es un buen ejercicio mental pensar en los nombres, incluso si no espera compartir su código.
- Prueba el Proyecto Euler si te gustan ese tipo de cosas de matemática. No creo que la programación sea todo acerca de las matemáticas, pero puede que te guste.
- Aprende C alguna vez. C ++ probablemente no valga la pena si estás haciendo java, pero C te enseñará cómo funciona tu computadora. No es necesario que lo domines, pero al menos debes llegar al punto en que entiendas la administración de la memoria y los punteros. Eso te ayudará a tomar decisiones más rápido cuando quieras que tu código sea realmente rápido.
- Aprende programación funcional algún día. Haskell es una buena opción, porque es un lenguaje funcional puro. Al principio es extremadamente difícil, pero los conceptos que aprendes son valiosos, independientemente del idioma en el que programes. Tomarás decisiones de diseño mucho más rápido y tu código será mucho más sólido.
- Mantente al día . Las tendencias van y vienen en esta industria tan rápido como en la industria de la moda. Gran parte es basura, pero gran parte es crucial tanto para el empleo como para la productividad. Siempre mantente atento, o seguirás el camino de los dinosaurios.
Encuentra un mentor y elige sus cerebros a menudo. Una vez que esté trabajando en el campo, solicite revisiones de código de desarrolladores senior. Esto lo sacará de sus propios hábitos, y leer las sugerencias de la gente sobre cómo puede mejorar le proporcionará una gran cantidad de ideas. No se siente a leer, resuelva los problemas por cada problema y vaya avanzando desde allí.
Escribir programas en ella. Encuentre programas de código abierto que lo usen, corrija sus errores y agregue funcionalidad a ellos. La mejor manera de obtener experiencia es experimentarla.
Estoy de acuerdo con los otros dos encuestados (la práctica, particularmente con proyectos de código abierto, es la mejor manera de mejorar en un idioma). Sin embargo, quería añadir una cosa. No está claro de su respuesta cuánta experiencia tiene con el diseño orientado a objetos y con Java, eso es esencial. Recomiendo mirar el diseño avanzado de OO para tener una idea de lo que hay por ahí. Mi libro favorito sobre diseño de OO está disponible de forma gratuita y está vinculado a continuación, ver si está a su nivel. Si no, encuentra algo más / menos avanzado y trabaja desde ahí.
http://homepage.mac.com/s_lott/books/oodesign/build-java/html/index.html
La práctica no hace la perfección, la práctica perfecta la hace perfecta. Si continúa cometiendo los mismos errores, solo logrará desarrollar malos hábitos.
Necesitas leer this .
Tu mapa de ruta de Java debería verse así:
- Concéntrese en las clases principales de Java JDK para comenzar. No se preocupe por Java EE hasta que se sienta cómodo con las interfaces, las clases y los conceptos básicos. JDBC es una parte importante del núcleo de Java, por lo que debe hablarlo con fluidez. Tendrá que saber sobre bases de datos relacionales, normalización y SQL. La tecnología GUI aquí es Swing.
- Una vez que tenga eso, tome servlets, JSP escritos utilizando JSTL exclusivamente (sin scriptlets) y JDBC. Tendrá que entender algo sobre Tomcat (u otro servlet / JSP engine), HTTP, HTML, CSS y también un poco de JavaScript. Puedes recorrer un largo camino con solo estos.
- Una vez que haya dominado el 1 y el 2, tendrá que elegir el marco. Recomiendo tragar Spring o EJB 3 entero. Recomendaría Spring primero, pero debo admitir que no conozco bien EJB 3.
Las tecnologías Java son muy amplias, desde teléfonos móviles hasta servidores de nivel empresarial. Es posible que primero desee reducir lo que quiere aprender.
Su primera charla sobre Java SE (programación de aplicaciones) y luego comience a mezclar en Java J2EE y Java EJB.
Si desea ir por la ruta web o el servidor empresarial, entonces necesita aprender J2EE, EJB, Hibernate, Spring, etc. De lo contrario, estas tecnologías no se ven con tanta frecuencia al programar aplicaciones.
Todavía parece que tienes un largo camino por recorrer, probablemente el mejor beneficio para aprender a continuación sería Java Swing (gui).
Me da la impresión de la frase de su pregunta de que Java es su primer lenguaje de programación. Elogio su deseo de "dominar Java", pero si puedo, me gustaría sugerirle que pruebe un poco de amplitud antes de profundizar demasiado.
Creo que es fácil, con un grado de CS donde la mayoría de los cursos se imparten en Java, caer en la trampa de creer que todos los lenguajes de programación son:
- orientado a objetos (y con herencia de implementación única y herencia de interfaz múltiple)
- de tipo estático (sin inferencia de tipo)
- imperativo (es decir, haciendo uso de construcciones de iteración y estado mutable)
- verboso
y por lo tanto, toda la programación debe parecerse aproximadamente a la programación de Java.
Sugiero humildemente leer un poco sobre diferentes paradigmas e idiomas: aprender un lenguaje de tipo dinámico (proveniente de Java, sugeriría Python o Ruby), aprender un lenguaje que no sea OO (como C) --- e implementar OO, aprender sobre programación funcional (Haskell es un gran revelador). Por lo menos, eche un vistazo antes de sumergirse de cabeza en la sopa de letras de Java (la cultura de Java valora enormemente las siglas, pero aquí no emitiré juicios de valor).
¡Sólo mi US $ 0.02!
No es tan fácil convertirse en un maestro en Java, lo que he hecho para estudiar java es 1) tratar de convertir todas las aplicaciones que he visto en java, por ejemplo: pintar a java 2) solía ir a grupos de usuarios de JAVA y conferencia en mi estado 3) Fui a Grupos en Goolge para verificar los Códigos de Java, eso es todo lo que hago, no puedo decir que soy el maestro, pero soy capaz de hacer las cosas
Practica y aprende los marcos según los necesites (o los encuentres). Hay demasiados marcos por ahí (para Java y para .NET) para aprender de una sola vez.
Aprender las bibliotecas de clases Java estándar siempre es un comienzo.
Si realmente quieres saber qué deberías estar estudiando, dentro del ámbito de tus ejemplos (Spring, Struts, JSP, JSF, GWT, Hibernate, apache tomcat), busca algunos podcasts y publicaciones de blogs que te permitan estudiar estas tecnologías. A continuación, puede elegir los que más le interesen para su posterior estudio.