Foros del Web » Programación para mayores de 30 ;) » Java »

Java: Por donde empezar si se conoce C++

Estas en el tema de Java: Por donde empezar si se conoce C++ en el foro de Java en Foros del Web. Pues eso, tengo bastante experiencia con C++ y me gustaría pasarme a J2EE. He estado mirando para hacer algún master o cursor online, pero no ...
  #1 (permalink)  
Antiguo 06/10/2011, 09:07
 
Fecha de Ingreso: octubre-2011
Ubicación: España
Mensajes: 3
Antigüedad: 13 años, 1 mes
Puntos: 0
Java: Por donde empezar si se conoce C++

Pues eso, tengo bastante experiencia con C++ y me gustaría pasarme a J2EE. He estado mirando para hacer algún master o cursor online, pero no me inspiran ninguna confianza. Ya estuve en uno y por motivos personales tuve que dejarlo a medias, pero tampoco creo que fuera demasiado bueno. Al menos me quedé con 2 libros JSEE y J2EE que parecen que están muy bien (ahora no me acuerdo de los títulos).
El tema es que desechando el tema de cursos online y viendo que aprender por tutoriales y cursos de internet es excesivamente complicado (mi último intento fallido fue Java Pet Store, el cual tras mucho tiempo perdido no logré ni configurar a pesar de dar veinte mil vueltas para lograrlo) me gustaría hacerlo un poco por mi cuenta, pero estoy un poco perdido:

1.- Sabiendo C++ hace falta meterme con algún manual básico a saco??? No quisiera meterme en Swing y demás puesto que esa parte no me interesa (quiero aprender a programar aplicaciones web). No digo que no tenga que volver a algún manual básico a buscar información concreta ( en los manuales que ya tengo) por si me falla la base en algo determinado, pero lo básico ya lo domino con C++ y creo que es muy similar.

Ya he visto este [URL="http://www.forosdelweb.com/f67/sigo-este-camino-para-aprender-j2ee-810793/"]post[/URL] y me ha servido bastante como guía, pero al contrario del compañero yo no he visto nada de JSEE. Es necesario empezar con algo antes que JSP (por ejemplo) o sabiendo C++ no hace mucha falta.

2.- Por donde empezar??? Hay mogollón de tecnologías Java, frameworks y demás historias, por lo que se me hace un mundo empezar y concrétamente no se por donde. Se que debo pasar por JSP, JSF, spring, hibernate,... pero no se el orden más apropiado. Quizas el ordén empleado por el compañero del otro post sea el correcto... que pensáis....

3.- Libros, manuales, webs donde encontrar los contenidos a seguir???

4.- Ya he creado proyectillos pequeños utilizando jsp, tomcat y mysql, pero cuando me meto en algo más grande (Java Pet Store) me pierdo mucho. Necesito tener algún conocimiento extra para meterme a saco con J2EE???

Os agradezco de antemano la atención.
  #2 (permalink)  
Antiguo 06/10/2011, 11:14
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Java: Por donde empezar si se conoce C++

C++ y Java no son lo mismo, así que tienes que leer manuales básicos ya que varía la sintaxis y otras cosas, por ejemplo en Java no hay herencia múltiple. Está claro que no te requerirá el mismo esfuerzo que a alguien que no sabe programar, y que los conceptos de POO ya deberías conocerlos, pero cuanto más conozcas la base, menos vueltas innecesarias darás cuando vayas complicando tus aplicaciones.

J2SE es el núcleo de java, y J2EE es un añadido con nuevas clases y funcionalidades orientadas a aplicaciones web, así que aunque quieras centrarte en J2EE, tendrás que dominar J2SE. Lo que no necesitas es aprender swing, yo estoy en esa situación, hago aplicaciones web/de consola pero no tengo ni idea sobre swing o awt.

J2EE es para aplicaciones web, por lo que no llega con saber java, ten en cuenta que se trabaja con servidores, bases de datos, navegadores... y por lo tanto hay que conocer otros lenguajes, protocolos, etc (HTML, CSS, XML, javascript/jquery, SQL, HTTP...).

Sobre los framework, empieza sin ellos, según vayas aprendiendo entenderás para qué se usa cada uno y si realmente lo necesitas. Te en cuenta que hay muchos, y algunos muy extensos, y la única forma de dominarlos es echarle horas.

De los que nombras, Spring y Hibernate ni siquiera son específicos de J2EE, se utilizan en cualquier aplicación java. JSF, nunca lo he utilizado, ya que hay formas mejores y más potentes de trabajar con las interfaces (Struts2 o Spring MVC).

Yo empezaría por ver JSP a pelo, después seguiría con Struts2, con Hibernate/MyIbatis, y por último con Spring, ya que aunque es muy potente, es el más complicado y al que menos rendimiento se le saca hasta alcanzar un cierto nivel de conocimiento. Es habitual utilizar un combinado de Struts2 + Spring + Hibernate en proyectos grandes.

Últimamente también están pegando fuerte gwt y EJB 3.0, por lo que podrían ser opciones interesantes.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 06/10/2011, 11:48
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 10 meses
Puntos: 260
Sonrisa Respuesta: Java: Por donde empezar si se conoce C++

Hola,

Cita:
Iniciado por jcginer Ver Mensaje
...
1.- Sabiendo C++ hace falta meterme con algún manual básico a saco??? No quisiera meterme en Swing y demás puesto que esa parte no me interesa (quiero aprender a programar aplicaciones web). No digo que no tenga que volver a algún manual básico a buscar información concreta ( en los manuales que ya tengo) por si me falla la base en algo determinado, pero lo básico ya lo domino con C++ y creo que es muy similar.
La sintaxis del lenguaje es similar con C++ y algunas partes de la semántica del lenguaje, técnicamente es lo único que necesitas para crear aplicaciones de 'consola', pero las aplicaciones AWT, Swing y Web no se basan simplemente en la estructura del lenguaje. La API de J2EE, es decir, el conjunto de clases que componen Java para web, es un concepto diferente que aún los programadores experimentados en Java JSE tiene que aprender por aparte.

Por decirlo de otra forma, el conjunto de clases API, es tan extenso que sobrepasa en una cantidad muy grande el tiempo que tienes que invertir en aprender simplemente el lenguaje, que es para lo único que te sirve el conocimiento que ya tienes de C++.

Cita:
Iniciado por jcginer Ver Mensaje
2.- Por donde empezar??? Hay mogollón de tecnologías Java, frameworks y demás historias, por lo que se me hace un mundo empezar y concrétamente no se por donde. Se que debo pasar por JSP, JSF, spring, hibernate,... pero no se el orden más apropiado. Quizas el ordén empleado por el compañero del otro post sea el correcto... que pensáis....
El orden que yo propondría sería el siguiente:
  • El lenguaje Java propiamente (es decir, desarrollo de algoritmos para solucionar problemas de consola, la parte similar a C++).
  • Las API de Java mas utilizadas (java.io, java.lang, java.math, java.net, java.util, etc.)
  • La API de Java de base de datos (java.sql).
  • La API de Java básica de la capa web Servlets (javax.servlet), acá pasamos a J2EE.
  • La API de Java de JSP e integración de páginas con Servlets y JavaBeans.
  • De aquí en adelante es a gusto o necesidad, etc.
  • La API de seguridad (javax.security).
  • La API de imágenes.
  • La API de Hibernate.
  • La API de Spring.
  • La API de JSF.
  • La API de Struts.
  • Esta lista podría crecer increiblemente.

Y por supuesto el conocimiento a profundidad de cada inciso, no simplemente una breve reseña, por lo menos deberías ser capaz de crear una aplicación completa en cada capa sin necesidad de recurrir a manuales o tutoriales; y si es posible, sin recurrir a consultar la documentación sino es brevemente.

Cita:
Iniciado por jcginer Ver Mensaje
3.- Libros, manuales, webs donde encontrar los contenidos a seguir???
En mi caso solamente la documentación original de Sun Microsystems, actualmente desaparecida y fusionada con Oracle. Es decir, The Java Tutorial, The J2EE Tutorial, la API de Java en Oracle, etc. Aunque algunos la encuentran difícil y buscan libros donde den explicaciones más detalladas, dependerá de tu percepción a los conceptos y tu dedicación a aprender.

Cita:
Iniciado por jcginer Ver Mensaje
4.- Ya he creado proyectillos pequeños utilizando jsp, tomcat y mysql, pero cuando me meto en algo más grande (Java Pet Store) me pierdo mucho. Necesito tener algún conocimiento extra para meterme a saco con J2EE???
Técnicamente si conoces lo que puse anteriormente no necesitas nada más, pero si lo conoces bien; aparte allí se aplican conceptos adicionales, como por ejemplo aplicaciones de varias capas y otros. Inclusive no esperes entenderlo a la primera, leer el código de otra persona normalmente lleva un poco de tiempo comprenderlo en su totalidad.

Saludos,
  #4 (permalink)  
Antiguo 10/10/2011, 02:11
 
Fecha de Ingreso: octubre-2011
Ubicación: España
Mensajes: 3
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Java: Por donde empezar si se conoce C++

Muchísimas gracias por las respuestas. La verdad que me han parecido muy completas y extensas, no me esperaba tanto. Ya veo la calidad del foro y de sus usuarios.

Con la guía y explicaciones que me habéis dado, ya me queda bastante más claro el camino a seguir, sobre todo "por donde empezar".

Muchas gracias a los dos, de verdad, os lo habéis currado.
  #5 (permalink)  
Antiguo 11/10/2011, 09:11
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 9 meses
Puntos: 78
Respuesta: Java: Por donde empezar si se conoce C++

Mi recomendación es la siguiente:
Empezar con Struts2, Hibernate y Spring va a ser el mayor error que puedes cometer, a parte de no enterarte de nada y perder el tiempo,

Como todo, lo mejor es empezar desde abajo.
Primera fase:
Aplicaciones web con JSP, Servlets y clases.
(JSP para vista, Servlets como controlador y Clases para la lógica)

Segunda fase:
Struts2

Tercera fase:
Hibernate + Mysql (Mysql, SQLite o lo que te sea más cómodo, ya que eso no importa)

Cuarta fase:
Spring MVC

Y por supuesto, los demás framworks que te atraigan..... Esa es mi recomendación.

Un saludo!

Etiquetas: empezar, jar, jsp, mysql, aplicaciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:26.