hola me gustaría saber una duda que tengo, El lenguaje JAVA esta enfocado para páginas web o para realizar que cosas (ejemplos)?
Ya se, que alguno se sentirá ofendido por esta pregunta pero no se muy bien.
Gracias por vuestras respuestas
| |||
Saber que es JAVA hola me gustaría saber una duda que tengo, El lenguaje JAVA esta enfocado para páginas web o para realizar que cosas (ejemplos)? Ya se, que alguno se sentirá ofendido por esta pregunta pero no se muy bien. Gracias por vuestras respuestas |
| ||||
Java es un lebguage de propocito general, al igual que C++, es decir, puedes hacer cualquier cosa con Java, ya sean aplicaciones de escritorio, aplicaciones web, WebServises, Sistemas Operativos completos, etc, etc. Si quieres un jeemplo de un sistema operativo hecho en java, solo averigua sobre Java Desktop, si quieres un ejemplo de un entorno de escritorio para linux, asi como GNOME; pero hecho en Java, y 100% 3D (Rebolucionara todo el mercado dentro de poco) te nombro a Looking Glass, si quieres un ejemplo de una aplicacion Java empresarial y manejando conceptos de servidor y todo, La aplicacion que contraola todo lo que referente a pasajes y targetas magneticas de prepago que funciona en el Metro de Chile... Y eso no es todo, tanto es asi, que las aplicaciones Java las puedes hacer para aparatos celulares, como juegos, aplicaciones, y lo que se te ocurra. Saludos
__________________ se despide hasta la proxima Gonzalo Castillo |
| ||||
Si, como bien te dicen, Java es un lenguaje de proposito general, es un lenguaje que funciona bajko una maquina virtual, por lo que tus aplicaicones para que puedan correr necesitaran de la maquina virtual, y bueno no todo lo que reluce es oro, ya que desgracidamente Java deja mucho que desear en cuanto a velocidad , de todas maneras, es una buena opción para hacer aplicaciones multiplataforma y diferentes tipos de aplicaciones en un mismo lenguaje haciendo usode sus multiples librerias, aun que bueno con esto de .NET y MONO creo que cuando maduren Java poco podra hacer frente a ellas, en cuanto a velocidad se refiere, de todas maneras existen muchos mas lenguajes de proposito general, la mayoria interpretados, que funcionan a las mil maravillas com Perl o PHP por nombrar algunos conocidos y faciles de usar.
__________________ Usuario registrado de Linux #288725 |
| ||||
Una aclaracion... eso de que Java es lento, es un mito que la gente de la competencia como M$ se ha dedicado a propagar, pero es totalmente falso, y la gente que realemnte ha programado en C++ y Java se da cuenta que Java a la hora de ejecutar los programs es tan rapido como C++, incluso se ha llegaod a decir que un porcentaje mas rapido que C++. Como bien te dijeron, Java se ejecuta en una Maquina Virtual, la JVM (Java Virtual Machine) y es eso lo que permite la multiplaforma, pero una vez que tu ejecutas un programa Java, la maquina vietual lo primero que hace es compilar tu programa al lenguage maquina del sistema operativo sobre el que los estas corriendo, y ese instante, ya tu programa no tan rapido como uno hecho con C++, lo que pasa es que este detalle poca gente lo conoce y la competencia se aprovecha de ese tiempo que se toma la JVM en compilar tu programa al lenguage maquina para poder dibulgar que Java es un lenguage lento. Por cierto, PHP es un muy buen lenguage, programe en el durante años y lo domino bastante, he hecho grandes aplicaciones, pero no se puede decir que PHP sea un lenguage de tipo general, pues con PHP por ejemplo no puedes construir un sistema operativo, y esta hecho para funcionar mediante la WEB. Si quieres un lenguage bueno para programar WEB te recomiendo PHP, es muy facil de aprender y muy robusto, pero si te toca hacer una aplicacion de proporciones empresariales y muy seria y segura, es indudable que la solucion es Java, con sus JSP y Servlets para hacer aplicaciones del lado del servidor. Saludos
__________________ se despide hasta la proxima Gonzalo Castillo |
| ||||
Me parece que epplestun, te has dejado llevar por los mitos y la competencia, ya que JAVA no es un lenguaje lento y mucho menos es inferior a otros, todo lo contrario, las tecnologías opensource de java evolucionan mucho más rápido que las tecnologías cerradas, lo que sucede es que con el marketing financiado es difícil competir, y cuando el publico mayor las conoce, la competencia ya las copió, y las hace pasar como suyas. Echale un vistazo a los siguientes sites: - http://java.sun.com - http://www.bea.com - http://jakarta.apache.org - http://www.jcp.org - http://www.oracle.com - http://www.ibm.com Para que veas lo último en la tecnologías de JAVA...
__________________ Saludos, H@C.. |
| ||||
La especificacion oficial de Java esta en varios idiomas, japones, frances, entre otros, peor no en español, si te dedicas a esto de la informatica pronto descubriras que es imprecindible que aprendas ingles almenos en modo pára poder leer textos y entenderlos, no necesariamente ser un sabio en el idioma y hablarlo fluido, pero si leerlo, es muy importante. Existen muchos recursoso en Español hacerca de Java repartidos por la res, pero no el manual oficial, direcciones en español te dejo un par: http://java.programacion.com http://www.javahispano.org Saludos
__________________ se despide hasta la proxima Gonzalo Castillo |
| ||||
Perdon, yo no queria menospreciar a Java ni mucho menos, pero no solo se han de decir las cosas buenas, no hay nada perfecto, ... en cuanto al codigo que genera la maquina virtual ... no estoy seguro que lo haga en lenguaje maquina, ya que lo que hace es un bytecode, al igual que lo hace MONO, es decir, un lenguaje intermedio, pero bueno eso da lo mismo, yo las experiencias que he tenido con Java, como usuario de aplicaciones, no me a gustado mucho, por ponerte un ejemplo la aplicacion Zend Studio, para el desarrollo de aplicaciones en PHP, me parece muy lento, tambien dependera de la maquina sobre la que se ejecute, pero como tengas un Pentium III a 500 con poquita RAM .... la verdad es que tarda bastante. Sobre PHP ... yo soy programador de este lenguaje, no solo para web sino tambien para aplicaciones de escritorio con PHP-GTK, y programacion de WebServices con SOAP, lo que no entiendo muy bien es a lo que comentan antes, con php no se puede hacer un sistema operativo .... um por eso un lenguaje debe dejar de ser de proposito general? que yo sepa no, por que con PHP puedes hacer aplicaciones web, webservices, aplicaciones de escritorio, aplicaciones para linea de comandos y demas cositas, jeje pero esta claro que su uso global es para el desarrollo de aplicaciones web. Por cierto yo odio los lenguajes cerrados, o las aplicaciones cerradas, soy un gran defensor del software libre jeje asi que creo que os habeis equivocado conmigo, es mas, participo de diferentes maneras en poryecto opensources como es el proyecto PHP-GTK, desarrollando codigo y documentacion ... y claro que las aplicaciones y lenguajes abiertos avanzan mas que las tecnologias cerradas eso no lo pongo en duda Pero bueno .... yo como programador de Java ... no me considero tal, ya que solo he hecho una sola aplicacion para telefonia movil, en este caso Java es un buen lenguaje ya que la mayoria de los dispositivos moviles funcionan bajo esta plataforma, tambien sobre C++ pero bueno Java es mucho mas sencillo e intuitivo que C++ jeje asi que Java para telefonia movil se lleba un 10 mio, pero por ejemplo para desarrollo multiplataforma de aplicaciones de escritorio me decanto por C y GTK, debere compilar dos veces pero bueno jeje tendre dos aplicaciones iguales compiladas sobre diferentes plataformas con un unico codigo ... que al fin y al cabo es lo que busco :P Por cierto ... como dije antes todos los lenguajes no son perfectos, PHP aun no es compilable 100% asi que jeje es un gran defecto segun se mire :P Lo que esta claro es que nunca hay que cerrarse a un solo lenguaje y dependiendo del proyecto que se trate deberiamos investigar diferentes alternativas, ya que los costes tambien influyen en todo esto, y no solo costes jeje por que por ejemplo los Servlest de Java para web, los famosos jsp seran todo lo buenos que quieras ... pero para desarrollar web usaria PHP sin dudarlo, al igual que para desarrollar aplicaciones moviles lo haria con Java en vez de con C++ sin pensarmelo una sola vez jeje
__________________ Usuario registrado de Linux #288725 |
| ||||
epplestun se perfectamente que defiendes el software libre tu relacion que tienes con PHP, pues cuando yo programaba todo en PHP era usuario del foro de PHP de esos que entraban todos los dias y cada rato. Ahora, como bien tu dices, no hay que cerrarse con una sola tecnologia, es por eso que yo se ASP, PHP, Servlets/JSP y dentro de poco me podre a ver ASP.NET, adeams tambien se C/C++, VB y C#, de todos ellos para programar WEB el que no elijo por nada es ASP, lo encuentro malicimo y mis experiencias haciendo aplicaciones en ASP han sido poco recomendables, con PHP me lleve muchas buenas sorpresas, podria decirce que nunca me deciluciono y no la hecho aun, de hecho, aun hago algunas cosas en PHP, sin embargo al aprender Servlets/JSP me di cuenta que para hacer aplicaciones empresariales grandes es el lenguage mas conveniente por su seguridad, por su escalabilidad y su portabilidad, ademas de su velocidad, que una vez que una JSP o un Servlets lo ejecuta alguien, este queda compilado y en memoria hasta que no se apague el servidor, pro ende las posteriores visitas al mismo son instantaneas. Estoy muy de acuerdo contigo de que las aplicaciones de escritoria pueden llegar a funcionar lento con Java, pero es solo al abrirlas, puesto que luego la JVM compila el bytecode a codigo de tu maquina (No en todos los SO, pero almenos si en win y Linux) lo cual es una gran ventaja. Por otra parte C# quien alla programado en el sabra que es una copia obsoluta de Java, se podria decir que es C# es Java pero con punteros, de VB ni hablar, me apesta, no em gusta programar solo usando el raton. ademas se cae muy facil y en aplicaciones grandes el codigo se torna inentendible, ademas el tener que estar arratrando la famosa MSVB60.DLL es un horror. El poderio de C++ no te lo voy a discutir, es y seguira siendo el lenguage mas potente que existe almenos por un buen tiempo mas, la gran desventaja de este es su complejidad, te encargo hacer un programa de escritoria en C++ por otra parte, si en ese programa usas librerias como las de Windows, ya no vastara con solo compilar para la otra maquina, digamos que tendras que hacerlo practicamente denuevo. C++ es bueno a la hora de tener que ir a trabajar directamente con el hardware, pero para todo lo demas existen otras alternativas. En fin, claro esta que a todos nos gusta una alternativa mas que otra, lo importante es probarlas y no pensar que lo que se conoce es lo mejor y vasarce en los rumores. Saludos
__________________ se despide hasta la proxima Gonzalo Castillo |
| |||
permitanme hacerles una aclaracion: Java SI es mas lento que c/c++ debido a que es un lenguaje INTERPRETADO, lo cual quiere decir que la primera vez que se ejecuta el programa en la maquina, el codigo se recompila de acuerdo a las caracteristicas del sistema operativo y de la maquina para optimizar el rendimiento, una vez hecho esto estos datos quedan en un cache, y luego el TODO programa se recompila si se ha cambio el codigo del programa. Esto no sucede con C++ lo traduce a codigo maquina que se guarda en memoria (lo cual lo hace rapidísimo) y lo ejecuta. Por eso, dependiendo del compilador que uses, C++ incluso puede llegar a competir en velocidad con ASM.... |
| ||||
Cita: Amigo, por favor chequea de que se trata el compilador Just and Time de Java, y lugo vienes a hacer aclaraciones.
Iniciado por blackwind permitanme hacerles una aclaracion: Java SI es mas lento que c/c++ debido a que es un lenguaje INTERPRETADO, lo cual quiere decir que la primera vez que se ejecuta el programa en la maquina, el codigo se recompila de acuerdo a las caracteristicas del sistema operativo y de la maquina para optimizar el rendimiento, una vez hecho esto estos datos quedan en un cache, y luego el TODO programa se recompila si se ha cambio el codigo del programa. Esto no sucede con C++ lo traduce a codigo maquina que se guarda en memoria (lo cual lo hace rapidísimo) y lo ejecuta. Por eso, dependiendo del compilador que uses, C++ incluso puede llegar a competir en velocidad con ASM.... Saludos
__________________ se despide hasta la proxima Gonzalo Castillo |
| ||||
Hola Epplestun, me alegra saber que apoyas a los proyectos opensource y que entiendes la filosofía de lo que esto significa, por eso me preocupo que compares a JAVA con tecnologías cerradas u opines si no estas bien enterado de lo que es JAVA actualmente. JAVA no es un lenguaje inmaduro, al contrario, ya tiene algo más de 10 años y ha ido evolucionando constantemente, y seguirá apoyado por los proyectos opensource de internet y también por las grandes coorporaciones. Por algo estas empresas invierten en JAVA, como lo mencionas, en el caso de las empresas de dispositivos móviles. JAVA ofrece: - un lenguaje de programación orientado a objetos. - independencia de la plataforma y portátil - estándar en la industria de software - escalable, robusto y seguro Son estas características, por las cuales muchas empresas desarrollan sus grandes proyectos empresariales en JAVA. Eso, que pase también por otros lenguajes, empezé en C++ pase a JAVA, salte a VB, PowerBuilder, DEPLHI, inicié luego con ASP, ISAPI, PHP, Kylix hasta que regrese a JAVA y seguimos aprendiendo...
__________________ Saludos, H@C.. |
| |||
Cita: me imagine que dirian algo sobre esto, y antes que nada, quiero aclarar que java es mi lenguaje favorito, pero debo decir que es mas lento.
Iniciado por goncafa Amigo, por favor chequea de que se trata el compilador Just and Time de Java, y lugo vienes a hacer aclaraciones. Saludos y he aqui la prueba sacada de la pagina de sun: (este es el lin) http://wwws.sun.com/software/solaris/jit/ pero esto es lo mas interesante: Cita: asi es, java a veces puede NO ser lento, pero aun asi no es tan rapido como c/c++, aun con el JIT.Sometimes JIT'd code does not run any faster than interpreted code. If the Java Virtual Machine is not spending its time interpreting bytecodes, then JIT'ing the bytes codes will not speed things up. Although it is rare, things might slow down since you are spending the time compiling the bytecodes when you could have been interpreting them. basicamente, lo que hace el JIT, es que transforma el codigo en "bytecodes", de ahi lo guarda en el .class , lo lee , los interpreta y los recompila transformandolos en codigo maquina, haciendo mas pasos que c/c++ que solamente los transforma en codigo maquina, los compila y los corre. asi que, como vez, el JIT si te ahorra unos pasos (interpretarlo por la JVM y recompilarlo), pero aun asi, sigue siendo mas lento que la forma en que trabaja C/C++......... |
| ||||
Quieres seguir con apiniones... Bueno, mira, solo haz esto, tanto en C/C++ como en Java has dos coclos for, uno anidado dentro de otro, el priemrow ue se ejecute nose, 10 veces, y el de adentro ponle 1.000.000 de veces, compila, ejecuta, y ve cual tarda menos, luego por favor postea tu resultado aqui... Hagan todos los que tengan dudas la prueba. Saludos
__________________ se despide hasta la proxima Gonzalo Castillo |
| |||
jeje, no es la intencion de ofender ni nada. pero no se porque sigues creyendo de que todavia existe la posibilidad que sea mas rapido o al menos igual. pero de todas formas lo hice para ver que tanta diferencia habia. en c++ no llevo ni 1 segundo, y en java llevo casi 7 segundos. codigo en c++
Código:
y aqui lo mismo pero en java#include <iostream.h> void main() { for(int i=0;i<10000;i++) { long a=0; for(int j=0;j<10000;j++) a=a+2; } cout << "fin del programa"; }
Código:
que java sea un lenguaje mucho mas bonito y sencillo que c/c++ y que pueda ser utilizado en muchas mas areas que c/c++ como moviles o internet y que sea igual de poderoso y posiblemente mas seguro en aplicaciones robustas no quiere decir que sea igual o mas rapido, sino todo lo contrario, si no, seria el lenguaje perfecto y ya no se usaria c/c++ mas que para ciertas cosas ya que hasta multiplataforma es.....alguna desventaja debia tener, y esa es la velocidad, lo siento, pero asi es.public class Clase{ public static void main(String args[]) { for(int i=0;i<10000;i++) { long a=0; for(int j=0;j<10000;j++) a=a+2; } System.out.println("fin del programa"); } } Nota: a mi me gusta mas programar en java que en c/c++, pero tambien acepto las ventajas y desventajas que eso genera y no me encierro en ideas falsas que comprobadas estan que no. |
| ||||
Estoy de acuerdo contigo, sin embargo no era esa la prueba a la que yo me referia, mas bien era hacer un ciclo pero que ciclo solo se ejecutase sin hacer nada, veras que Java termina de inmediato mientras C/C++ no, esto es pq el JIT de Java es capas de saber cuando un codigo esta por nada, o cuando lineas de codigo estan demas, y simplemente las deja de lado, claro, diras, para que sirve esto con ciclo que no hace nada, es absurdo... Pero bien, en una aplicaciones de grandes proporciones no siempre se puede tener el codigo mas perfecto, pero Java se preocupa de eso y finalmente una aplicacion hecha en Java termina haciendo primero el trabajo. Saludos
__________________ se despide hasta la proxima Gonzalo Castillo |
| |||
por lo que veo estas aferrado a la velocidad de java...... solo te digo algo. sabes por que java no es usado en la programacion de videojuegos "profesionales" NO mobiles? por su lentitud, y eso no lo digo yo, lo dicen los libros, los conferencistas , y los mismos desarrolladores. (asi es, estoy muy metido en eso= Usan en su lugar c/c++...... espero que despiertes (digo, no es algo demasiado importante), pero aceptalo.....¿o eres tan orgulloso que no lo puedes hacer?? |
| ||||
Veras, se mucho de programacion de video juegos, y se que ya hay juegos porofesionales hechos en Java que se igualan perfectamente a los hechos en C++, es mas, por si no lo sabias, las mayoria de las grandes consolas estan en este momento en proceso de incluir en las siguiente la JVM, asi es, pronto tendremos juegos Java en las consolas como playstation, nintendo, etc. Saludos
__________________ se despide hasta la proxima Gonzalo Castillo |
| |||
jajaja. eso si me dio risa. me podrias decir que juegos profesionales de nueva generacion son hechos en java en lugar de c/c++?? y de donde sacaste esa info? si eres capaz de darmela me callo. Pero se que eso no es posible, ya que por el momento, las escuelas de programacion de videojuegos, te dicen que si no sabes c/c++ y solo java no puedes hacer maestrias, ya que java no sirve para eso debido a asu lentitud. Y , si checas las paginas de las compañias en ninguna veraz que te pidan java en vez de c/c++ como requisito...... a menos que sea para dispositivos mobiles como ya mencione. por otra parte, aparte de responderme lo que ya te pregunte....me podrias decir que sabes sobre programacion de videojuegos??, es un tema demasiado extenso. y eres la primera persona que conozco con el ego lo suficientemente grande como para decir que "se mucho de programacion de videojuegos", ni los que ya tienen sus demos hechos dicen eso, porque saben que seria mentira......acaso te dedicas a ello?, o ya trabajaste para EA, konami o algo asi como poder decirlo? me parece que mas bien es orgullo tuyo de no querer quedar mal en que algo de lo que dijiste esta mal......... Última edición por blackwind; 13/10/2004 a las 09:32 |
| ||||
Veras, jusnto a un compañero de instituto programamos video juegos. Nos iniciamos en Fenix, que es un lenguage especialemnte diseñado para este proposito, es algo parecido a lo que VBasic y por eso no nos gusto demaciado, pero icmos un par de cosas, luego nos pasamos a DIV, que era otro lenguage que usaba practicamente las mismas tecnicas, pero finalmente descubrimos una version de DIV hecha en C++ llamada CDIV, la cual ocupa la misma metodologia de programacion y logica que Div, pero esta implementado sobre C++, en este lenguage hemos hecho algunas cosillas tambien, aunk el unico juego que lanzamos fue el famoso Bantumi, que si lo buscas en Softonic lo encontraras. Sin embrago despues no metimos de lleno a la programacion en Java, y nos dimos perfectamente cuenta de que si sabe programar bien y ocupar buenas tecnicas de programacion ene ste lenguage como lo es ocupar por ejemplo un doble buffer de almacenado de mapas la velocidad de los juegos no tienen absolutamente nada que embidiarles a los hechos en CDiv. Con respecto a lo de la info, deja que la busco donde lo he visto (varias partes) y lo posteo Saludos
__________________ se despide hasta la proxima Gonzalo Castillo |
| ||||
y como lo prometido es deuda... Cita: aqui te dejo el link donde sale ese pequeño extracto, tienes mucho que leer ahi, y veras que Java ya trae soporte para conexion con OpenGL y ese tipo de librerias que tambien usamos en C++ para el fin de los juegos 3DSun está animando el desarrollo de software de juegos de principio a fin con las tecnologías de Java, que pueden ofrecer un desempeño comparable con el de los juegos escritos en C++. El uso de la tecnología Java significa que las aplicaciones de juegos se pueden trasladar eficientemente de una plataforma de juegos a otra, de modo que los desarrolladores de juegos pueden llegar a más mercados con cada título. http://ar.sun.com/backissues/2003-1014/ Saludos
__________________ se despide hasta la proxima Gonzalo Castillo |
| |||
lo que dice la noticia completa es que eso es lo que planea hace sun con java, no que ya sea del nivel de c/c++ en estos momentos (lo cual corrobora lo que dije que no es tan rapido). lo de la compatibilidad con opengl ya es viejo, pero aun asi no funciona igual de bien que con c/c++..... Y en ninguna parte dice que ahora se programaran los videojuegos bajo java,solo que en futuro se podran hacer al mismo nivel (lo cual seguire dudando hasta no ver que alguna compañia de videojuegos te pida como requisito java en lugar de c/c++) ni que las consolas de nintendo , ms , sony y demas vayan a incluir la jvm, no creo que les sea conveniente, y mucho menos a M$....... |
| ||||
En fin, esta claro que esto ya quedo bastante claro, y el que quiera verlo y sacar provecho grandes oportunidades, y el que no, que siga en lo que hace Saludos
__________________ se despide hasta la proxima Gonzalo Castillo |
| |||
jeje, lo dices como si fueramos a vivir en un error....... creo que ya no tiene chiste discutir......aunque de tus propios links que pones te contradicen sigues en lo mismo. creo que este es el fin de la discusion. veo que por mas que ponga info yo o TU, no podre hacer que me digas.... "ok, tienes razon"...... asi que nos vemos. |
| |||
hola soy estudiante , y recien estoy aprendiendo a programar en java hasta donde sé ,java es un lenguaje que tiene muchas ventajas aplicaciones que se asemejan a la realidad, etc... las desventajas es que para hacer aplicaciones reales. los Algoritmos tienen mucha complejidad y la otra es que aparentemente es lento(lo cual cosidero que la tecnologia se encarga de eso y eso casi no importa a los informaticos ). saludos... |
| ||||
blackwind me parece que solo has estado intentando sacarle calor a la gente que utiliza JAVA... tu actitud es bastante ridícula e infantil... deberías dedicar tu tiempo a cosas más productivas... tus comentarios no aportaron nada al conocimiento de los usuarios de este foro... y más aun no aceptas que los comentarios de los otros han aportado información REAL... cosa que no has hecho tú... sería bueno que busques otro lugar donde perder el tiempo y desperdiciar el espacio...
__________________ Si algo puede fallar... fallará. |