Entrevista al equipo de Java

Entrevista al equipo de Java

por

Hoy me reuni con parte del equipo de desarrolladores de Java que se encuentra en Chile en el marco del JavaNetwork 2005 que se realizara mañana en el Hotel Ritz Carlton. Les hice algunas preguntas y pueden leer el resultado en la vispera de este gran evento.

JavaNetwork 2005

El JavaNetwork es un evento organizado por Sun Microsystems. Se realizara el dia de mañana en el Ritz Carlton y habra una serie de presentacion sobre tecnologias en torno a la plataforma Java. Por supuesto ChileHardware estara ahi para cubrir el evento y hoy fuimos invitados a hacer una serie de preguntas a los oradores. Cabe recalcar que la gente que dara presentaciones tiene un amplio conocimiento de lo que estan hablando y se podran dar cuenta ustedes mismos a continuacion:

Oradores JavaNetwork 2005

Reginald Hutcherson
Reggie es el responsable global de la relación con los principales ISVs en el mercado de soluciones empresariales, trabajando junto a ellos en la adopción de tecnologías Java de avanzada. Tiene un extenso background desarrollando sistemas de software, ha realizado investigaciones sobre sistemas distribuidos y protocolos de red en el Stanford Research Institute de los Estados Unidos, y se ha especializado últimamente en la Plataforma Java 2 y en el motor de performance Java HotSpot.Posee título de grado en Ciencias de la Computación y un MBA de la Universidad de California, Estados Unidos.

Sridhar Reddy
Sridhar se unió a Sun en 1988, y ha colaborado con los desarrolladores en la creación de aplicaciones para el Sistema Solaris, y ha desarrollado GUI y drivers gráficos para aplicaciones CAD. Desarrolla y dicta seminarios y programas sobre Códigos Java en J2EE y Java/XML. Posee un título de grado en Ciencias de la Computación del Instituto de Tecnología de la Florida, Estados Unidos; y es también Ingeniero Mecánico de la Universidad de Osmania, India.

Ángela M. Caicedo
La experiencia de Angela cubre campos como: Java ME, Java SE, Java EE, y Sun Java Enterprise Systems. Actualmente dedica parte de su tiempo al desarrollo de nuevas tecnologías como: desarrollo de juegos, 3D, bluetooth, SPOTs, entre otras. Ha dado seminarios y conferencias sobre estos temas en todo el mundo. Participó en calidad de estudiante visitante del Centro de Iniciativas para Computación Educacional del MIT durante dos años y ha realizado una especialización en Agentes Inteligentes. Posee un título de grado en Ciencias de la Computación de la Universidad EAFIT de Medellín, Colombia.

Sang Shin
Sang ha brindado conferencias y seminarios sobre J2EE, EJB, JMS, J2ME, marcos para aplicaciones web como Struts y JavaServer Faces; y tecnologías para web services para audiencias de desarrolladores en todo el mundo. Ha dado cursos sobre Java (“Programación J2EE”, “Programación de web services”, “XML” y “Programación distribuida”) en las universidades de Brandeis y Boston; y actualmente dicta el curso gratuito online “Programando J2EE con Pasión” (www.javapassion.com). Es además coautor del libro Computación Avanzada publicado este año por la Universidad de Maryland.

Ronda de preguntas

Estuve con ellos hoy durante la tarde y les hicimos algunas preguntas para que entraran en calor.

1.- Qué opinión tienen en tu entorno sobre los problemas con la máquina virtual de microsoft? Piensas que fué una maniobra para ralentizar la masificación de JAVA? (la máquina virtual de microsoft deja bastante que desear, por eso es mejor bajar la máquina virtual directamente de SUN).

Llevamos mas de dos años trabajando de la mano de los vendedores de computadores, que son los que finalmente deciden que lleva pre-cargado el computador que recibe el cliente final. En estos dos años hemos logrado que las empresas mas grandes despachen sus computadores con el JVM de Sun (Java Virtual Machine) preinstalado y hoy en dia cerca del 70% de los computadores tienen JVM. Esperamos que pronto sea el 100%, estamos trabajando dia a dia para que Java Virtual Machine sea el motor universal de todo tipo de aplicaciones Java en computadores de escritorio.

2.- J2ME (Java Micro Edition, es la implementación pa celulares) tiene cada vez más presencia en los telefonos celulares y smartphones. Piensas que un paso en la evolución de JAVA sea desarrollar su propio sistema operativo para estos dispositivos?

En un principio Java OS existio, al menos en nuestros laboratorios. Lo que sucede es que hace 5 o 6 años el asunto de los sistemas operativos sobre los cuales corre Java si era un problema. Sin embargo hoy en dia esto a mejorado muchisimo y Java corre perfecto en cualquier sistema operativo.

Por otro lado Java OS no seria una buena opcion para implementar en dispositivos moviles, por una sencilla razon, nosotros no fabricamos estos dispositivos, otras empresas si. Por lo tanto hay un nexo muy fuerte entre hardware y software, APIs nativos para determinados tipos de hardware que estan altamente optimizados para estos mismos. La implementacion universal de Java sobre practicamente cualquier sistema operativo nos brinda libertad de accion y esta libertad trae consigo rendimiento.

3.- ¿ Existe el preconcepto que los programas de JAVA son lentos, que opinas de eso ?

Como te contaba antes, hace 5 o 6 años el rendimiento si era un problema. Ahora las aplicaciones sobre JVM 5.0 corre esplendidamente, igual o mejor que C++. En las primeras versiones de Java Virtual Machine habia algo que la gente no sabia y era configurar las distintas opciones para que JVM supiera en que plataforma estaba corriendo y tomara uso de los recursos que este le brindara (cache, memoria RAM, etc…). Hoy en dia JVM 5.0 detecta esto automaticamente y se optimiza por si solo para rendir a su 100% en el computador que esta instalado.

4.- ¿ Como aprovecha JAVA las nuevas mejoras a nivel de instrucciones ( 3Dnow, SSE, AMD64, etc ) ?

Sun ha sido un gran precursor de la tecnologia de 64 bits, es por esto que Java se lleva muy bien con esta arquitectura y toma provecho de sus bondades. Respecto a los paquetes de instrucciones como SSE2, debido a que Java no se instala “direct metal” (directo encima del hardware) sino que sobre un sistema operativo, depende del sistema operativo tomar provecho de las instrucciones, no de nuestras maquinas virtuales.

5.- ¿ Que ventajas tiene JAVA al compararse con otras máquinas virtuales como .NET o MONO ?

Java es mas que Java Virtual Machine, no podemos compararlo a .NET por lo tanto coexistimos. Java es un standard y eso es lo que nos importa, hay una gran comunidad desarrollando sobre nuestra plataforma y en funcionabilidad es compatible con .NET

6.- Crees que algún día J2ME 3D (Mascot Capsule) pueda competir en complejidad y calidad gráfica como otros lenguajes utilizados en consolas portátiles?

Sin duda ese es el futuro. Hoy en dia si das una vuelta por Asia, en las calles de Corea podras ver que hay muchisima gente que juega todo tipo de juegos en sus celulares. Java si puede competir con otros lenguajes en calidad con otros lenguajes y esto ira mejorando de acorde al tiempo.

7.- ¿ Que relación existe entre las APIS de openGL y las de JAVA al momento de desarrollar un juego 3D ?

J2ME puede utilizar aceleracion OpenGL sin ningun problema. De hecho muchos juegos lo hacen hoy en dia. OpenGL sin duda es un gran API y como tal tomamos provecho de el. Algunos APIs de Java van muy de la mano de los de OpenGL.

8. A qué se debe la poca masificacion de los juegos en tal lenguaje?

Los vendedores de equipos celulares y smarthphones le han dado un gran espaldarazo a la plataforma Java. La verdad estamos dandole mas enfasis a las plataformas portatiles que a los computadores de escritorio. Por ahi va el futuro.

9.- El continuo desarrollo del ámbito CLDC de J2ME (configuración limitada de dispositivos conectados, es el estándar para telefonos penquitas que soportan JAVA) permitirá que un dìa los telefonos màs bàsicos tengan funciones de PDA, o parte de su estrategia es mantener una clara diferencia con CDC (configuración de dispositivos conectados, la versión para smartphones más cancheros) para proteger a los fabricantes de una potencial canibalización?

CLDC avanza cada dia mas rapido, a su vez CDC tambien lo hace. La maquina virtual de CLDC es distinta que la de CDC sin embargo las aplicaciones que corren en CLDC son completamente compatibles con CDC. Los vendedores siempre lograran darle un valor agregado a cada maquina independiente de que traiga CDC o CLDC, nosotros creamos CDC para que funcionara con hardware basico, sin embargo el hardware basico siempre tendra un lugar para los usuarios finales, ya que es mas facil que sea cada vez mas pequeño.

10.- Qué tipo de aplicaciones no podrían o no convendría ejecutar en Java? Sería posible o práctica una suite de ofimática corriendo sobre la máquina virtual, por ejemplo?

Creo que ninguna, quizas solo el Sistema Operativo, pero solo porque no andaria muy bien, pero de poder hacerlo se puede. De hecho un amigo programo una suite de oficina en Java y anda bastante bien.

11.- ¿ En el mundo del software libre se ha cuestionado a JAVA, llamándola una trampa y acusándola de no ser realmente libre, que opinas de esas acusaciones ?

La popularidad de Java se debe a que esta estandarizado. La pregunta que hay que hacerse es, ¿Que consideras por libre? Las respuestas principales son:

a) Codigo Fuente
b) Mejorar bugs
c) Desarrollos con fines universitarios.

Todo esto se puede hacer mediante la licencia JRL (Java Research License). De este modo podemos asegurarnos que los cambios no atenten contra nuestra principal premisa, la compatibilidad. Creo que con esto le brindamos suficiente atencion a los desarrolladores sin atentar contra la calidad.

12.- ¿ A tu juicio, cuales son las cosas que te gustaría mejorar de JAVA ? ¿ Se está trabajando en ello ?

Estamos trabajando para mejorarlo dia a dia. Debemos recordar que Java no es solamente JVM, sino que 20 distintos APIs para distintas plataformas. En esta labor no estamos solos, tambien esta detras la comunidad Java, la gente inteligente no solo trabaja para Sun (risas). Ahora estamos trabajando y ya fue desarrollado los servicios webs como standard en Java y Java Studio Creator.

Java es poderoso pero no es facil de desarrollar sobre el, creemos que con Java Studio Creator achicamos esta brecha de complejidad y ahora mas gente tendra acceso a crear en Java.

13.- ¿ En donde prefieres desarrollar tus programas de JAVA y por que ?

Sang
Genie & Java Spaces, portabilidad, dinamismo, todo es posible porque es Java, es portatil, muy portatil. Java esta en todos lados, hasta en los robots que van a Marte.

Sridhar
Sun Java Studio Creator, es facil, no es donde desarrollo pero es el que mas me gusta.

Reggie
Bueno hace tiempo que no desarrollo, estoy algo fuera de las ligas.

Angela
Me gusta desarrollar cosas nuevas y entretenidas (cool and new things).

Luego Angela saco un artefacto del porte de una bateria de 9 volts que corria sobre Java. Este artefacto mide factores climaticos y de posicion y esta siendo usado actualmente en la industria aeronautica. Luego nos mostro un auto en miniatura que podia controlar desde su celular (Sony Ericsson S700i) via bluetooth mediante un programa Java que ella habia programado. Sin duda son “cool and new things”.

Mañana estaremos en el JavaNetwork y les traeremos las coupchas del evento. Esperando que les haya gustado el articulo se despide,

JF