Mar 21, 2008

Grano por Grano

Durante la secundaria aprendí a programar en Visual Basic 6.0 y ese fue mi único contacto con los lenguajes de programación hasta la preparatoria en que conocí Java. En ese entonces me recomendaron leer un libro de Java y para programar me dijeron que utilizara Notepad y que con eso podría hacer lo que yo quisiera. Sobra mencionar que mi primera incursión a la programación en Java no fue muy buena.

Algunos años después entré a la universidad y comencé a estudiar Java más a profundidad, en la universidad usábamos un IDE llamado JCreator por la única razón de que era gratis, a pesar de que no era más que Notepad con syntax highlighting.

Durante los primeros semestres estuve buscando algún IDE poderoso que me permitiera las cosas a las que me había acostumbrado en Visual Studio (principalmente autocompletar), que fuera gratuito y que corriera en mi computadora y un día al entrar al site de Sun vi que Java venía en un paquete con NetBeans. Algún día había oído que NetBeans ocupaba muchísima memoria, que era extremadamente lento, pero que si tenías una computadora que pudiera correrlo era el mejor IDE, así que decidí darle una probada.

En ese entonces no sabía mucho de programación y me conformaba con que pudiera utilizar un debugger y que pudiera autocompletar, y yo que estaba acostumbrado al autocompletar de Visual Studio que únicamente te decía el nombre de la función me enamoré del autocompletar de NetBeans que se comunicaba con el API.

En los próximos años aprendí varias cosas en la universidad: que es necesario preocuparse por el desempeño, que además del desarrollo Windows hay desarrollo Web o que es necesario realizar pruebas. Por cada cosa nueva que aprendía me daba cuenta de que NetBeans ya tenía algo para ayudarme, por ejemplo, para evaluar la eficiencia (que es de las cosas que más me interesan para los concursos de programación) puedo utilizar el profiler, que me da información útil sobre cuáles de mis métodos se están tardando.

En algún grupo de conferencias Alejandro Martínez dijo que las personas tienen una relación muy peculiar con las computadoras, porque a pesar de que son sólo un objeto se vuelve una relación muy sentimental. Me parece que la manera en que fui aprendiendo cosas nuevas con NetBeans ha hecho que yo tenga una relación muy peculiar con este IDE, por lo que cada lanzamiento es un evento que merece celebración.

Y con esto llegamos al punto de todo el post, que es el nuevo lanzamiento del beta de NetBeans 6.1, que tiene varias mejoras, principalmente en el departamento de velocidad (que es la queja más común que escucho hasta el momento de la versión anterior). Por ejemplo, en mi computadora, la nueva versión se tarda 4.72 segundos en entrar mientras que la versión anterior se tarda 15.39 segundos, por lo que tenemos empíricamente una mejora de 70% en el tiempo de inicio (aunque esto, por supuesto, que cambia de experimento a experimento).

Otra cosa nueva que es muy interesante es la habilidad de manejar un servidor MySQL desde NetBeans 6.1, ya que de esta manera te puedes ahorrar el estar utilizando dos herramientas diferentes para administrar.

Otra cosa muy útil que estoy seguro que vamos a empezar a utilizar en el trabajo es el concepto de librerías compartidas, que son una manera de que varias personas que están trabajando sobre un mismo proyecto compartan todas las librerías y no tengan que tener una copia local. Esto es una bendición porque nos ha sucedido un par de veces que por utilizar versiones diferentes del conector de MySQL el código funciona en una máquina pero no funciona en la otra.

Sólo he encontrado un problema al utilizar NetBeans 6.1 hasta este momento (y estoy seguro de que va a estar corregido cuando el día de lanzamiento llegue en algunos meses): al crear un action listener para algún botón el código autogenerado ignora la indentación y la pone hasta la izquierda.

Fuera de ese error también hay un par de cosas que me gustaría que agregaran en las próximas versiones: la primera es soporte para Jython (una implementación de Python para Java) de la misma manera que están agregando soporte para JRuby o para Javascript. Python es un lenguaje funcional y dinámico que tiene construcciones poderosísimas como: [i for i in range(1, 100)] para construir una lista con todos los elementos del 1 al 99 y me fascinaría combinar este poder con Java utilizando NetBeans. La segunda es soporte para Android, la implementación de Java para los celulares de Google, aunque no estoy seguro cómo esté la política ahí.

Con el reciente lanzamiento de KDE4 nos hemos dado cuenta de que cambios muy grandes de paradigma (como el cambio de NetBeans 5.5 a NetBeans 6.0) pueden ser complicados, sin embargo gracias a excelente programación, buen diseño y muchísimo trabajo, NetBeans 6.0 se convirtió en el mejor IDE y la versión 6.1 busca construir sobre eso para hacerlo todavía mejor.

3 comments:

Anonymous said...

Realmente yo no soy mucho de IDEs. Aún hoy en día si no necesito hacer una interfaz gráfica programo en algo un poco más bonito que el bloc de notas (requisitos: syntax highlighting y auto-indenting... Google provee la documentación y el API), y programas como gEdit y jEdit cumplen eso.

Aún así, es impresionante el gran avance que ha tenido NetBeans en muchísimos aspectos desde que lo conocí hace 2 años. Ya soporta C y C++, tiene el Glassfish integrado, cada vez es más y más rápido.

p.d. estrenando eso de "OpenID"

Chava said...

Pues mira la verdad utilicè recientemente el Netbeans 6.1 y le encontrè varias fallas...por lo cual diseñè una nueva versiòn...la llamo Beensdelchava 0.0 o la versiòn ya traducida se llama frijolesdelchava 0.o por si quieres ocupar alguna...te harà la vida mucho màs fàcil...a por cierto que mi versión soporta C, C++, C+++, C++*-x y estoy trabajando para que soporte C*(C^3-lnC)...lenguaje que tmb yo hice...

Anonymous said...

Yo sólo quería hacer una observación rápida de decir que me alegro de haber encontrado tu blog. Gracias