Nuevo en Java?? Donde empieza el camino? De principiante a principiante

Hola soy Eduardo y creo que esta es una pregunta que muchos, si no es que casi todos nos hacemos al iniciar el trabajo en Java, esta es mi experiencia, vale mencionar que no soy un experto en Java ni mucho menos, pero creo que por esta misma razón tengo muy presente, las dudas que a un principiante le surgen cuando comienza en estos ambitos...

Bueno, lo primero... para empezar, creo que la pregunta más obvia seria:

-¿Qué es Java?

Esta pregunta aunque puede sonar algo tonta, es muy importante, ya que muchas veces cuando comenzamos, realmente no tenemos idea de lo que se trata el asunto y tal vez solo hemos escuchado el nombre, o que es un lenguaje de programación maravilloso, pero en realidad no tenemos ni la más remota idea de lo que se trata este asunto de Java. Con esto, no quiero decir que este mal no saber lo que es, pero si haz decidido iniciar tu camino en Java, supongo que sería útil saber con que vamos a trabajar.

Este articulo, no se trata sobre lo que es Java, así que si quieres saber lo que es Java, puedes buscarlo por tu cuenta, te aseguro que hay muchisimas fuentes gratuitas a tu alcance.

-Bueno, ahora ya tengo una idea de lo que es Java, pero ahora que sigue?

Bueno, me alegro que ya tengas una idea en tu mente sobre lo que trata este asunto de Java, haz dado el primer paso, ahora te haré una pregunta: ¿Haz programado antes?... esta pregunta es de suma importancia, ya que de esto depende el como continúes tu camino en Java.

Supongamos que respondes que no... Bueno, en este caso debemos de empezar a familiarizarnos con los términos relacionados con la programación, independientemente del lenguaje, generalmente los términos son los mismos o muy parecidos. Algunos términos (de los más importantes desde mi punto de vista) son:

-Código fuente
-Compilador
-IDE
-Máquina virtual (en el caso de java)
-Variable
-Sintaxis
-entre otros

-Ahora se lo que es una variable y un código fuente, ¿estoy listo para empezar a programar?

Ya casi, ahora que conoces parte de la terminología usada te será más fácil comenzar tu camino. Entendamos como funciona Java

En el funcionamiento de Java, tenemos 4 etapas principales, estas son:

1.- Crear un archivo de código fuente, para esto usamos un lenguaje de programación específico, en este caso es Java
2.- Compilar. Pasar ese archivo fuente, a través de un compilador, este se encargará de revisar los errores, este no te dejará avanzar, hasta que este seguro de que no existen errores de sintaxis y de que no hayas hecho cosas que no debas hacer.
3.- Una vez que se tiene el punto 2, el compilador crea un nuevo documento codificado en un Java bytecode. Cualquier dispositivo capaz de correr Java, será capaz de hacer la traducción y ejecución del programa*, ¡Java es Multiplataforma!
4.- La máquina virtual de java interpreta y ejecuta la aplicación

Ahora ya tienes idea de como trabaja Java, es momento de acercarnos a la programación

-Quiero empezar con una aplicación que haga ....

Espera, aunque ya tienes una idea clara de como funciona Java, tienes que aproximarte paso a paso, ya que de lo contrario solo conseguirás frustrarte. Un buen comienzo, siempre es el clásico programa de Hola mundo!

bueno... creo que quedaremos aquí por el día de hoy, recuerda entre mejor comprendas las cosas, menos tendrás que memorizar. En la siguiente entrega, continuaremos con:

-¿Qué necesito para comenzar a programar?
-¿De que me sirve hacer un "Hola mundo"?
-¿Qué es una clase?

Espero que el post sea de su agrado y les ayude en algo, cualquier comentario, queja o sugerencia es bienvenido.

Saludos

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Gracias por el post

Precisamente ando tomando tutoriales para empezar con Java y todo lo que refiere a este lenguaje, btw ando buscando uno que otro curso ya que me he llegado a dar mis primeros topes!, por cierto puse un post sobre las dudas que tengo sobre certificaciones en java, ojalá te puedas dar una vuelta por ahi. Bueno pues seguiré poniendo atención a lo que sigas escribiendo, ya que ando en lo básico apenas, espero aprender rápido y correctamente para poder aportar algo pronto.
Sale bye!.

Imagen de rauloramas

Sobre Java

Hola, este es mi primer post acá en la comunidad. Desde meses atrás estoy impartiendo cursos de programación Java en el formato webinar o webconfence. Estos cursos son gratuitos aunque por ahí pido un donativo voluntario por concepto de motivación que puede ser en especie $$$ o incluso una tarjeta postal, eso es lo menos importante y lo que cuenta es el compromiso con aprender. Actualmente estoy impartiendo un curso basado en el libro de Deitel donde vamos en el capitulo 19: Las colecciones. Estoy de 7 a 9 pm horario del pacifico todos los días. Esta es la liga de la web conference: La meta es terminar todo o casi todo el libro y eso incluye los temas web como lo marca el temario del curso. Ya vamos a cumplir 4 meses de trabajo (iniciamos como 30 y quedamos como 10...pero no quitamos el dedo del renglón). Mi sitio es y mi correo electronico rauloramas@profesorjava.com y en twitter: . Quienes estén interesados en aprender desde lo básico hasta los fundamentos de objetos, etc, etc., etc. manden un correo y podemos armar un curso webinar. Sin más por el momento y esperando poder colaborar con todos los entusiastas de la tecnología informática. Quedo de ustedes. Saludos

Imagen de egonzalez

De nada!

Me alegra que hayas incursionado Java y que te haya agradado mi post, me motiva a seguir escribiendo. En cuanto a tutoriales y eso, yo te recomendaria si eres principiante y buscas una base solida, un libro llamado "Head First Java", lo malo es que el libro solo esta en ingles, pero si hablas ingles, seguro lo entiendes. Este libro es de los mejores que he leido en cuanto a Java, ya que explica las cosas de manera muy sencilla. Si eres nuevo o no tan nuevo, te puede ser de mucha utilidad. En cuanto lo de la certificación, te recomiendo que estudies para la Versión 6 ya que es la que viene y puedes igual buscar la guia SCJP study guide de Osborne para prepararte. Ambos libros puedes comprarlos en Amazon y tenerlos fisicamente, (la opcion de usados es buena, ya que llegan en buen estado y son mas baratos) o buscarlos por ahi, igual google te responde algo....XD

Imagen de egonzalez

Bien!

Muy buen trabajo amigo, espero poder darme una vuelta por ahí, solo espero que el dimdim no tenga problemas como con el congreso virtual de SG haha. Saludos

Mi programa hola mundo en Java

Pregunta de un principante en Java como yo (tengo experiencia en lenguajes como C# pero quiero aprender Java):

La pregunta es, como puedo crear mi primera aplicación Hola Mundo en Java sin utilizar un IDE, esto es, unicamente con el bloc de notas y la ventana de linea de comandos sobre sistema operativo Windows. Entiendo que los IDE facilitan el proceso de desarrollo realizando muchas tareas para uno, pero como estoy aprendiendo, no quiero que el IDE me ayude de momento. Quiero aprender desde cero para entender como se programa en Java.

Cualquier orientación es bienvenida.

Gracias!!!

Imagen de egonzalez

Mi programa hola mundo en Java

claro, teoricamente, no debe de existir ningun problema el hacer cualquier programa de java en bloc de notas, la cosa es que entonces tendras que compilarlo manualmente desde linea de comandos. si quieres un ide como para empezar sin ayudas, te recomiendo el Jcreator, ya que en su version lite no trae opcion de autocompletar codigo.

espero que mi respuesta te sea util. Saludos

Imagen de Nopalin

como puedo crear mi primera

como puedo crear mi primera aplicación Hola Mundo en Java sin utilizar un IDE, esto es, unicamente con el bloc de notas y la ventana de linea de comandos sobre sistema operativo Windows

Para empezar debes instalarle el jdk, enseguida poner la carpeta bin de donde se instalo el jdk en la variable de entorno PATH (esto para facilitar la escritura del comando).
Despues en el block de notas escribes esto:

 

enseguida abres la terminal de comando de windows, y te cambias de directorio al que contiene la clase arriba, y ejecutas:

javac Hola.java, para compilar
java -cp . Hola, para ejecutar la clase Hola

sobres

Muchas gracias por su apoyo

Muchas gracias por su apoyo compañeros. Les comento que ya hice mi primer programa Java :-)
Les comento además que tengo ciertos conocimientos en C# y estoy comparando la forma de desarrollar de cada uno. Lo que me gustó en este primer programa es que el código Java es mucho menor que el de C#, lo que no me gustó de Java es que necesita un "interprete" (java.exe) para ejecutar el bytecode. ¿Qué hace exactamente este interprete? Por si a alguien le es útil mi proceso de aprendizaje, iré comentando mis avances en mi blog de este mismo sitio.
Nuevamente, gracias por su apoyo.

Imagen de ezamudio

Intérpretes

Tanto al CLR como la JVM son máquinas virtuales que interpretan bytecode. Ambas realizan compilación JIT. Recuerda que toda la arquitectura de .NET fue inspirada en Java.

Supongo (o espero al menos) que cuando aprendiste .NET también empezaste haciendo un programa en bloc de notas y compilando en línea de comando con el csc.

En Windows, cuando haces un programa en .NET, le indicas al compilador si quieres que genere un assembly ejecutable, en cuyo caso le pone extensión EXE en vez de DLL. En Java si compilas una clase, te genera uno o varios archivos con extensión  , los cuales puedes luego empaquetar en un JAR. El JAR tiene un archivo de metadatos (así como en el assembly tienes metadatos también pero ya no es en un archivo sino se almacenan de otra forma), y en ese archivo de metadatos puedes poner una propiedad llamada Main-Class donde indicas la clase que contiene el   que se debe ejecutar. En algunos sistemas operativos o manejadores de archivos, al dar doble click en un JAR se analizan los metadatos y si viene el Main-Class entonces se ejecuta la JVM con la clase indicada para correr el programa.

En Windows, doble click en un EXE lo ejecuta; y el runtime de .NET detecta que no es un ejecutable nativo sino que es un PE (Portable Executable, como le llaman a los ejecutables de .NET) y entonces se corre un CLR con los parámetros necesarios para correr el programa de .NET.