Foro de elhacker.net

Programación => Java => Mensaje iniciado por: danielle en 5 Septiembre 2004, 13:31 pm



Título: quiero aprender Java
Publicado por: danielle en 5 Septiembre 2004, 13:31 pm
Queridos amigos

quiero aprender Java como empiezo???

gracias

danielle


Título: Re: quiero aprender Java
Publicado por: -Riven-Ward- en 5 Septiembre 2004, 13:44 pm
Esta es la 3a vez que repito lo mismo... úsen el buscador!!.

Mas arriba, hay un post que se llama "Java o C++?", la url es esta:

http://foro.elhacker.net/index.php/topic,6807.0.html

Lee eso, y usa el buscador del foro para encontrar mas cosas.

Si aún no encuentras nada, usa Google. Y si aún no encuentras nada, estás buscando mal xDDD

Salu2!


Título: Re: quiero aprender Java
Publicado por: Griph en 8 Septiembre 2004, 12:41 pm
Hola, lo que te dicen respecto de que te podrías guiar por el tema "Java o C++" es verdad. Dado que eso te sería una muy buena referencia, hay muchas opiniones sobre ambos lenguajes en esepost.

Por otro lado, por mi humilde experiencia en la programación, te puedo decir que Java no es del todo un buen lenguaje para iniciarte en la programación de ordenadores. Pero cabe destacar que produce código más rápido que otros lenguajes, por ejemplo: C. Java es de nivel alto (verdaderamente).

También cabe destacar que este lenguaje es uno interpretado. Usa la tecnología de la máquina virtual (lo cual le da gran portabilidad), siempre y cuando el entorno operativo la soporte. Aunque generalmente ya viene con los navegadores, por lo que no hay problema para usar o ejecutar (por ejemplo) una Applet Java. (Es decir, para ejecutar una aplicación Java o una Applet Java necesitas tener el Run Time).

Un pequeño problema que tiene Java es el tema de la velocidad, dado que al usar la tecnología de la Máquina Virtual (Virtual Machine o MV) tiene algunas capas de software extra. Las cuales los lenguajes compilados no la tienen, porque son traducidos directamente a lenguje de máquina o binario (10101101). Sin embargo los código fuentes desarrollados en Java - programados en Java - son traducidos a un lenguaje llamado ByteCodes, el cual comprende solamente la Máquina Virtual Java (es decir esta es capaz de interpretarlo, y de ahí que es un lenguaje interpretado: por la MV).

De una u otra forma, a medida que los ordenadores son más veloces y potentes esta desventaja va desapareciendo. Dado que cada vez conviene más usar el tiempo de máquina, debido a la velocidad que presentan los ordenadores actuales.

Otra cualidad en la cual se destaca es por la orientación a objetos que presenta (de hecho es un lenguaje creado a partir y aplicandolé la Arquitectura de la Orientación a Objetos). En Java todo es un objeto, hasta para imprimir un cartel por la salida estandar (la pantalla): System.out.println("Aquí se ubica el mensaje o el texto a imprimir"); Como puedes ver tienes que imbocar al paquete "System", dentro de éste al objeto "out" y la función "println" de este último. Se aprecia muy bien la diferencia respecto de lenguajes como Visual Basic y demás, donde (apuntando a VB) imprimes un mensaje con la simple instrucción: print"Aquí va el mensaje o texto para imprimir en pantalla". En lenguajes como C también imprimes sobre la salida estandar con la instrucción: printf("mensaje");. Pero C es programación estructurada o lógica, por eso no va al caso explicarlo.

Java aprovecha todas las cualidades de la orientación a objetos: herencia (inexistente en Visual Basic 6.0, pero Microsoft la ha incorporado a la nueva plataforma .NET), también incluye el encapsulamiento, polimorfismo y otras características.

Ah, y Java encara la orientación a objetos mediante clases (es usada generalmente por los lenguajes comerciales, por ejemplo Java, C#, etc.), no mediante prototipos (se da más para lenguajes académicos).

Bueno creo que con estos datos básicos alcanza aproximadamente, o satisfactoriamente.

Saludos.

PD: No es mala idea aprender Java, tiene mucho futuro. Pero no digo que suplantará a lenguajes como C, dado este se presta muy bien para la programación a nivel medio; y para el desarrollo de software de sistema (Sistemas Operativos o SO). Por ejemplo con el uso que hace de la memoria y demás recursos del computador.

Suerte con la Programación.


Título: Re: quiero aprender Java
Publicado por: zheo en 8 Septiembre 2004, 19:41 pm
Sólo unas cosas.
Al principio dices que java "produce código más rápido que otros lenguajes, por ejemplo: C."
Eso da la impresión de que Java es más rápido que C, y creo que lo que pretendías explicar era que con Java creas programas más rápido que con C, sobre todo porque además luego hablas de la lentitud de Java con respecto a otros lenguajes.

Por otro lado es relativamente verdad que cuanto más rápidos son los ordenadores más rápido es Java (aunque tendría que conocer el órden de complejidad que introduce la MV de java en la ejecución)
Sin embargo eso no hacen que la desventaja disminuya: el nativo se ejecutará más rapido que en una MV al aumentar los procesadores.

Por otro lado no compara Java con C, sino con C++, con lo cual ahí ya tienes la orientación a objetos que es mucho más potente (por ejemplo C++ soporta herencia múltiple)

El run time NO viene con los navegadores, al menos en el XP ;)


Título: Re: quiero aprender Java
Publicado por: Ragnarok en 8 Septiembre 2004, 22:36 pm
No estoy seguro de cual es el orden de complejidad de la máquina virtual de java, lo que sé es que puede ejecutarse en cualquier momento y la duración de su ejecución no está acotada, creo que eso es comportamiento indeterminado o algo así. Es por eso que no es un lenguaje recomendable para las aplicaciones en tiempo real, sin embargo tiene muchas ventajas, como el desarrollo rápido del código, de un GUI (graphical user interface), no tienes memory leaks, es multiplataforma, y aprendiendo las diferencias que tenga java ME puedes hacer tus propias aplicaciones para tu móvil.


Apuntes de Java: http://www1.ceit.es/asignaturas/Informat1/ayudainf/aprendainf/Java/Java2.pdf

Por cierto, estos apuntes te explican el java AWT, y te mencionan que existe también swing, cuando llegues a ese punto es mejor que mires swing por otro sitio, por ejemplo este: http://www.programacion.com/java/tutorial/swing/


Título: Re: quiero aprender Java
Publicado por: zheo en 9 Septiembre 2004, 00:41 am
Gracias, me vienen bien apuntes de java y de programación para móviles, ya que cuando acabe los exámenes quiero programar un juego para un dispositivo movil (un nokia 7250i, que es lo que tengo) y se bastante poco de java, y menos en programación móvil.

Iré recolectando ;)


Título: Re: quiero aprender Java
Publicado por: xaero en 10 Septiembre 2004, 12:17 pm
Tambien estoy aprendiendo java, y encontre esto : http://www.lcc.uma.es/~galvez/J2ME.html


Título: Re: quiero aprender Java
Publicado por: Griph en 10 Septiembre 2004, 13:25 pm
Zheo:

Yo comparé el lenguaje C por el mero hecho de comparar Java con algún lenguaje.

Respecto del Run Time, este viene incorporado pero - como tu dices - no en el windows XP. Si nos ponemos a pensar podríamos llegar a la plataforma .NET. Es decir, cuando salió el SO win XP al mercado también había salido la tecnología .NET; la cual implementa Java.NET entre otros lenguajes. Por consiguiente podemos decir/deducir que a Microsoft no le beneficiaba incluir el estándar JAVA (por así llamarlo) en su nuevo SO, dado que no le jugaría a favor la competencia de JAVA (el que llamé estándar, como por un decir) a su entorno de lenguajes .NET => Java.NET. Esto es en el caso de Java.

Por otro lado (para dar el mismo ejemplo que en el caso anterior, y que se entienda mejor lo que dije) también podemos traer el tema del lenguaje Delphi respecto de Visual Basic, por la competencia entre uno y otro; a Microsoft no le convendría nunca incluir en un nuevo sistema - por ejemplo - un compilador de este lenguaje (Delphi). Como una aplicación predeterminada del sistema operativo, como lo es el navegador Internet Explorer (IE).

De una u otra forma el Run Time viene incorporado en Navegadores como Netscape, el cual tiene tanto una versión para sistemas windows como para distribuciones de software que soporten y puedan ser manipuladas por el kernel Linux.

Saludos.


Título: Re: quiero aprender Java
Publicado por: zheo en 10 Septiembre 2004, 20:08 pm
Que no, que los navegadores en windows XP NO traen la maquina virtual de java y punto.

Eso es debido a problemas legales de MS con Sun, ya que MS incluyó un Java++ en su anterior versión de visual studio. Sin embargo esa versión tenía modificaciones ajenas a Sun, lo que no les gustó. Tampoco les gustó que MS incluyera su propia MV en windows XP en la de Sun, de ahí que te la tengas que descargar .Otra cosa es que tú te descargues un navegador que la incluya, pero el mozilla no es uno de ellos.

MS ya no incluye Java porque tiene su C# que es del estilo pero con el beneficio de que es únicamente para generar código administrado. Es decir, una Java a su medida. Por último cuando windows XP salió la tecnología .NET se estaba gestando.


Luego, puestos a comparar podrías comparar Java con basic, pero no procede. Lo normal es compararlo con lenguajes afines, por ejemplo el C++ que al igual que el java soporta el paradigma de POO.


Citar
De una u otra forma el Run Time viene incorporado en Navegadores como Netscape, el cual tiene tanto una versión para sistemas windows como para distribuciones de software que soporten y puedan ser manipuladas por el kernel Linux.
¿lo que?



Título: Re: quiero aprender Java
Publicado por: Griph en 12 Septiembre 2004, 12:25 pm
Citar
Que no, que los navegadores en windows XP NO traen la maquina virtual de java y punto.

Eso es debido a problemas legales de MS con Sun, ya que MS incluyó un Java++ en su anterior versión de visual studio. Sin embargo esa versión tenía modificaciones ajenas a Sun, lo que no les gustó. Tampoco les gustó que MS incluyera su propia MV en windows XP en la de Sun, de ahí que te la tengas que descargar .Otra cosa es que tú te descargues un navegador que la incluya, pero el mozilla no es uno de ellos.

MS ya no incluye Java porque tiene su C# que es del estilo pero con el beneficio de que es únicamente para generar código administrado. Es decir, una Java a su medida. Por último cuando windows XP salió la tecnología .NET se estaba gestando.


Luego, puestos a comparar podrías comparar Java con basic, pero no procede. Lo normal es compararlo con lenguajes afines, por ejemplo el C++ que al igual que el java soporta el paradigma de POO.

Hola, bien tienes razón. Yo me equivoqué.

Saludos.