Existen una gran cantidad de recursos para aprender a programar en Java, tanto gratuitos como de pago. A continuación te enumero video cursos, manuales y foros de consulta que yo he utilizado y que te recomiendo. Entre ellos cito también los recursos que yo he utilizado para superar el examen de certificación OCA Java 8 de Oracle.
Un recurso que te va a servir no solo para programar
Iré al grano: si aprendes inglés, tendrás a tu disposición una gran cantidad de recursos para aprender Java, tanto gratuitos como de pago, que no están disponibles en otros idiomas. Recuerda: ¡No necesitas tener un nivel nativo!
¿Sabes cuál es la diferencia entre alguien que sabe programar, y un buen programador?
Aprender a programar (no ya solo en Java) es mucho más que dominar el idioma en sí. No basta con que la aplicación que desarrolles funcione, también has de seguir una serie de buenas prácticas.
Algunos ejemplos de estas buenas prácticas son no repetir el mismo código una y otra vez dentro de la aplicación, utilizar nombres de variables y métodos que sean significativos, no crear métodos gigantes que realicen muchas funcionalidades, utilizar javadoc...
La idea es que cuando otra persona (o tú mismo) tenga que trabajar en tu código, le resulte fácil comprender cómo funciona y qué consecuencias van a tener las modificaciones que introduzca. Créeme, cuando vuelvas a revisar tu código seis meses más tarde, tú mismo agradecerás haber seguido estas indicaciones.
Con todo, verás que en las entradas que escriba bajo la categoría OCAJP8 no respetaré estas buenas prácticas. Esto se debe a que el examen de certificación tampoco las sigue, con el fin crear confusión. Es más: el examen suele reproducir código muy confuso que es muy poco probable que te vayas a encontrar en otro contexto, tenlo en cuenta.
Recursos para aprender Java: buenas prácticas
Es por ello que, de todos los recursos para aprender Java que he reunido, el primero que te recomiendo es un pequeño manual, de 28 páginas y en pdf, que puedes encontrar en la página web de la Universidad de Murcia. Descárgatelo, échale un vistazo y tenlo en cuenta a la hora de programar.
Como ves, el documento es bastante antiguo (traducido en 2001, del original publicado por Sun Microsystems Inc. Esta empresa era la que, por aquel entonces, desarrollaba este lenguaje de programación). No obstante, las recomendaciones que encontrarás están al orden del día.
Recursos para aprender Java: la base
Los siguiente recursos para aprender Java te van a ayudar a aprender lo más básico del lenguaje. Si empiezas desde 0 (como hice yo) estos dos recursos son parada obligatoria.
CodingBat
CodingBat es una página desarrollada y mantenida por Nick Parlante, catedrático del departamento de Informática de la Universidad de Stanford. En esta página encontrarás decenas de ejercicios con los que practicarás estructuras básicas de Java, como los bucles, las cadenas de texto (Strings) o las estructuras lógicas if/else. El registro es gratuito y, si lo haces, podrás guardar tu progreso.
A mí resultó muy útil para comprender de un vistazo las estructuras básicas. Lo que más me costó, por cierto, fueron los ejercicios del apartado de Recursion-2, pero si tienes pensado presentarte al OCAJP8, no te calientes mucho la cabeza, ya que no entran en el temario.
CodingBat está en inglés, pero los ejercicios son sencillos, y el enunciado del problema suele ser breve.
Linkedin Learning
Como te explico también en la lista de recursos para Android, Linkedin Learning es un gran recurso de tutoriales online, en inglés, español y francés. En Linkedin Learning tienes no solo cursos sobre Java, sino también prácticamente sobre cualquier software que te interese.
Tienes un mes de prueba; a partir de ahí, son entre 19,99€ y 39,99€, dependiendo de si pagas por todo el año o mensualmente.
Udacity
Udacity es una plataforma de cursos online en la que puedes aprender muchas cosas, y no solo a programar en Java. Puedes encontrar cursos para aprender a programar aplicaciones para Android, Swift (iOS), realidad virtual, inteligencia artificial...
Muchos de los cursos de Udacity tienen una versión de pago, llamada Nanodegree, en la que tienes un tutor al que consultarle dudas, y que te corrige los ejercicios. Al final del Nanodegree recibes un certificado. No obstante, tienen también una extensa lista de cursos gratuitos, y este es uno de ellos.
Intro to Java
Este curso me resultó muy interesante para aprender Java, ya que contiene muchos ejercicios de código que puedes ejecutar y corregir ahí mismo, en la plataforma. También tienes la oportunidad de aprender a utilizar BlueJ, un IDE muy sencillo, pensado para estudiantes, desarrollado de manera conjunta por el King's College de Londres y la Universidad de Kent.
El curso Intro to Java lo ha desarrollado la San Jose State University, sita en California.
Este curso también está en inglés, pero puedes activar los subtítulos en los videos.
Preparación del examen de certificación OCAJ8P
No olvides revisar las entradas que publico en la categoría OCAJ8P, donde te explico detalles del examen que te resultarán muy interesantes.
¿Por qué prepararme el examen de certificación de Java 8, si la última versión de Java es la 10?
Los exámenes de certificación de la última versión publicada de Java no aparecen de inmediato tras la publicación de esta. Esto quiere decir que todavía no existe ningún examen para certificarse de Java 10; además, una vez lo publiquen, aún no habrá guías de estudio hasta pasado un tiempo.
Aparte de todo esto, y como puedes ver en la página de Oracle, los exámenes de certificación de distintas versiones de Java coexisten (no tienes más que ver que aún está disponible el examen de certificación de Java 7). El examen de certificación de Java 8 no va a desaparecer en un futuro cercano y siempre tienes la opción realizar un examen de actualización a la última versión publicada.
¿Por qué prepararme la certificación de programador asociado (OCAJ8P), si yo quiero la profesional (OCPJ8P)?
La respuesta, en este caso, es sencilla: no puedes. Para examinarte del OCPJ8P necesitas haber superado el OCAJ8P antes. Es algo que impone Oracle y no hay vuelta de hoja, por suerte o por desgracia.
Guías de estudio
Hay varios manuales para aprender Java, pero los de certificación suele ser, en mi opinión, mejores, ya que se centran en un contenido concreto, en profundidad, y no pretenden abarcar todo el lenguaje de programación.
Mi manual favorito, con el que superé el OCAJ8P con un 92%, es el de Jeanne Boyarsky y Scott Selikoff.
Pero, en lugar de comprarlo suelto, lo compré en un pack junto con la guía de estudio del OCPJ8P. Cuando lo compré salía bastante más barato. Y me he propuesto superar también el OCP, así que no pierdo nada.
¿Cuáles son las ventajas de este manual frente a otros?
Te seré sincero: estoy seguro de que hay otros manuales muy buenos en el mercado, quizá mejores que este.
No obstante, este es el que yo utilicé, y el que me ayudó a aprobar con buena nota. Es por eso por lo que lo recomiendo. A continuación te hago una lista de los puntos a favor que le encontré a los manuales de Jeanne Boyarsky y Scott Selikoff.
Exámenes de práctica Enthuware
Estoy convencido de que prepararse el examen de certificación con un manual como el que te he recomendado, y con los exámenes de práctica de Enthuware, es una estrategia 100% ganadora. No te exagero.
De todos los recursos para aprender Java que te pueda recomendar, este, junto al manual, es esencial para prepararse el examen de certificación.
Enthuware ofrece a precio de risa ($9.95, algo más de 9€) 9 exámenes de certificación que, si los superas de manera sistemática, puedes estar completamente seguro que vas a superar el examen oficial sin problema. De hecho, me atrevo a decir que son un poco más difíciles que el examen oficial.
En qué consiste
El producto que te ofrecen es una aplicación (desarrollada, precisamente, en Java) que puedes descargar de manera gratuita. Tienes una trial version, versión de prueba, que contiene un mini examen de unas 25 preguntas.
Una vez que abres la aplicación y la activas (ya sea como versión de prueba o tras comprar la licencia) puedes comenzar uno de los exámenes.
La aplicación te cronometra el tiempo que tardas, te puntúa el examen y, si lo revisas pregunta por pregunta (que sería lo ideal), verás que te ofrece una buena explicación de por qué la opción seleccionada es correcta o incorrecta.
Si hay alguna modificación en el contenido o duración del examen, los chicos de Enthuware publican con rapidez una actualización.
Otros recursos para aprender Java
De este recurso te acabo de hablar un poco más arriba, pero es de referencia obligada:
JavaRanch
Una de las cosas que más me gustó de este foro es que puedes consultar cualquier duda que tengas sobre el manual que te he recomendado (o sobre Java en general) porque Jeanne Boyarsky es moderadora y forera habitual. Es bastante probable que ella misma te conteste (a mí me ha aclarado más de una duda). Esto significa que tienes ayuda profesional de personas que lleva años dedicándose a este campo.
En ese mismo foro puedes notificar las erratas que encuentres en el manual (si haces una búsqueda con mi nombre en la fe de erratas, verás que yo encontré una).
Lista de recursos para aprender a programar en #Java de manera #autodidacta. #yoaprendo
Conclusión
La lista de recursos para aprender Java termina aquí (por ahora). La ampliaré conforme vaya encontrando nuevos recursos que yo vea que son realmente útiles. Sé que existen cursos de Java en plataformas como Udemy, y tengo planeado realizar cursos tanto de Java como Android.
Como conclusión, y como ya podías imaginar, si tienes Internet puedes aprender lo que quieras. Basta con que te lo propongas.