Article View: es.comp.lenguajes.java
Article #26143Re: Realizar aplicaciones en Java.
From: Jonathan Revusky
Date: Thu, 04 Feb 1999 00:00
Date: Thu, 04 Feb 1999 00:00
135 lines
6645 bytes
6645 bytes
"Eladio Rinc�n" wrote: > > Hola, me llamo Eladio, y llevo ya unos cuantos meses Licenciado en > Inform�tica. > Como de costumbre (no se si ahora ya lo hacen) en la Universidad Java s�lo > se toca en el proyecto fin de carrera, por lo que yo nasti. > > En primer lugar envio este mensaje desde la total ignorancia en cuanto al > funcionamiento de las aplicaciones java. > Llevo ya cierto tiempo programando en Visual Basic, y el otro d�a leyendo > ofertas de trabajo, abundaban las referencia a Java, por lo que decid� echar > un vistazo. Me pas� por java.sun.com, y me baj� el tutorial que hay (muy > completo, por cierto). Llegu� a la conclusi�n de que el lenguaje no ser�a > problema porque C y C++ est� superado. La semejanza entre C y C++ es m�s que nada superficial. Ya que tienes la carrera de inform�tica, me entender�s si digo que la sintaxis es m�s o menos igual, pero la sem�ntica es muy distinta. Dicho en cristiano, eso significa que se parece menos de lo que cabe suponer. > Las aplicaciones Java > �qu� requerimientos necesita del sistema para que funcione con una velocidad > aceptable? La velocidad es m�s que nada un problema de implementaci�n que est� siendo superada. La mala fama que tiene Java en ese aspecto se basa mucho en el hecho de que las primeras implementaciones no llevaban compilador JIT -- es decir, que era un lenguaje interpretado. Ahora, en cualquier plataforma importante, Java es un lenguaje compilado y, como estoy tomando la molestia de decir, no hay ning�n motivo te�rico para que sea especialmente m�s lento que cualquier otro lenguaje. Es un problema de implementaci�n. Incluso muchos expertos creen que las implementaciones de Java compilado van a superar las implementaciones de C/C++ dentro de poco por una variedad de motivos. Si quieres leer algo interesante sobre el tema hay: http://www.instantiations.com/jovefaq.html Aqu� tienes un pasaje interessante: ----- How fast will JOVE make Java programs run? A major goal of JOVE is to take Java to FORTRAN-like levels of performance (C++ performance simply isn�t good enough) for programs that have thousands of classes and use millions of objects. Why do you think JOVE will be able to achieve Fortran-like performance? For the last 30 years, the best optimizing compilers have been written for FORTRAN. One reason for this is that the constructs of the FORTRAN language are quite amenable to optimization while languages like C and C++ have heavily used constructs (unconstrained pointers, array/pointer semantics, etc.) that are very difficult to optimize. While Java has a C-like syntax it lacks most of the constructs that make C and C++ difficult to optimize. Implementors who set their sights on C++ level performance are shooting too low. The application of JOVE's object-oriented optimizations result in a program that internally is very similar in structure to a FORTRAN program and which can be optimized in a similar manner. ---- La frase interesante arriba es la siguiente: "Implementors who set their sights on C++ level performance are shooting too low." "Los implementadores que apuntan al nivel de performancia de C++ apuntan demasiado bajo." (Mi traducci�n) Se supone tambi�n que Sun va a sacar la m�quina virtual Hotspot en alg�n momento en los pr�ximos meses. Seg�n la literatura sobre eso, los implementadores de Hotspot tampoco piensan que el C/C++ sea su verdadera competencia. Dado que no hay ning�n motivo te�rico que impida hacer una implementaci�n que iguala or incluso supera la velocidad de C++, y dado el hecho de que los mejores expertos en compilaci�n/optimizaci�n est�n trabajando en el tema, �que conclusi�n podemos sacar? La conclusi�n que yo saco es que la velocidad de Java es un problema transitorio. Todo eso dicho, ahora mismo hay rincones en que s� que hay un problema ahora -- especificamente las librer�as gr�ficas (Swing especialmente) que, incluso si es mucho m�s agradable trabajar con ellas, no tienen la performancia de librer�as nativas como MFC en general. No obstante, es imposible hoy d�a comprar una m�quina nueva en que el Swing 1.1 tiene un rendimiento insatisfactorio ya que no se vende ninguna m�quina que es menos de Pentium 300 Mhz en todo caso. Si escribes aplicaciones lado servidor que no tiene interfaz gr�fica, a todos fines pr�cticos Java no representa un sacrificio de velocidad comparado con las otras opciones. El otro problema que hay es que las implementaciones t�picas de Java necesitan mucho RAM para correr bien. Es posible que una parte de eso sea inevitable, ya que la paradigma de programaci�n POO tiene una tendencia a precisar m�s memoria. Pero existe el otro problema de que las implementaciones actuales de la gesti�n de memoria son muy ineficaces. > �Recomendais hacer aplicaciones Java? Supongo que la gente en un foro as� no van a desanimarte. > �qu� compiladores son recomendables? Cualquiera. Coge el JDK de Sun para empezar. > �qu� gestor de bases de datos se usa con Java? Cualquiera. Todos implementar�n una interfaz JDBC. Lo que me fascina a m� ahora es la combinaci�n Java/XML. XML tiene muchas posibilidad de representar datos jer�rquicos de modo est�ndar. > Yo que ya me he acostumbrado a incluir runtimes de vb, �necesita alg�n > runtime java, o con el navegador es suficiente (igual estoy equivocado con > la pregunta)? Necesitas un runtime de Java instalado, el JRE en general, aunque van a sacar cada vez soluciones a base de compilar ejecutables est�ticos tambi�n. Habr� varias opciones. Jonathan Revusky -- Java and Delphi Consulting Make your .class files double-clickable with SmartJ http://www.bigfoot.com/~crystalline.solutions
Technical Details
Message-ID:
<36B9DFAB.55281C77@jet.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<79am6m$mga$1@talia.mad.ttd.net>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1116f3,e63f2f9a4fb21262 X-Google-Attributes: gid1116f3,public From: Jonathan Revusky <jrevusky@jet.es> Subject: Re: Realizar aplicaciones en Java. Date: 1999/02/04 Message-ID: <36B9DFAB.55281C77@jet.es> X-Deja-AN: 440671563 Content-Transfer-Encoding: 8bit References: <79am6m$mga$1@talia.mad.ttd.net> X-Accept-Language: en Content-Type: text/plain; charset=iso-8859-1 X-Complaints-To: usenet@lola.ctv.es X-Trace: lola.ctv.es 918151152 24751 194.224.180.94 (4 Feb 1999 17:59:12 GMT) Organization: CTV/JET Mime-Version: 1.0 Reply-To: jrevusky@bigfoot.com NNTP-Posting-Date: 4 Feb 1999 17:59:12 GMT Newsgroups: es.comp.lenguajes.java