Llamando código C en programas Java con la Java Native Interface (JNI)

20 10 2007

Juan Pablo Angamarca, http://jpangamarca.wordpress.com

En la programación de software con Java, a veces se da el caso de encontrarse con escenarios en los que el código Java no es suficiente. Y no es que Java no tenga el poder necesario para hacer lo que los programadores queremos hacer; hay muchas situaciones en las que se trabaja con sistemas heredados cuyo código es nativo, o también situaciones en las que se requiere realizar cálculos intensivos en los que por cuestiones de eficiencia es más recomendable trabajar con código nativo. Sun Microsystems, ya desde las primeras versiones de Java viene entregando la herramienta denominada Java Native Interface (JNI), con la que es posible hacer llamadas a código nativo desde nuestros programas Java. De acuerdo a lo que he leído sobre esta herramienta, no es una API fácil de aprender, sin embargo siempre es bueno saber que existen estas opciones en el desarrollo de sistemas. Les dejo el link a un tutorial en vídeo Flash donde se muestra un ejemplo sencillo de uso de JNI. Para desarrollar este ejemplo será necesario tener NetBeans 5.5.1 (bueno, hasta que nos venga NetBeans 6.0 en toda su gloria :) ), el C/C++ Development Pack, así como MinSYS y un compilador de C/C++ que puede ser GCC o MinGW.

Un saludo a toda la comunidad de Café Lojano.

[Leer este post en Café Lojano]





De “profe” en el Curso de Programación en C, Rama IEEE UTPL

14 09 2007

Durante estas vacaciones tuve la grata experiencia de dar “mis primeros pasitos” (jajaja) en la docencia, como instructor del curso vacacional de C que tuvo a bien organizar la rama IEEE UTPL, del 21 al 24 de agosto de 2007. Este curso fue parte de una serie de talleres dictados por la rama con motivo del encuentro nacional de ramas IEEE.

La verdad, al inicio estuve bastante nervioso. Manejo más C++ que C, y tienen algunas diferencias. C es más estricto, así que tuve que prepararme, y recordar un par de temas a los que les había perdido el hilo.

0
Los alumnos. El curso fue dictado en el laboratorio de Electrónica de la UTPL.

Una vez al frente de los alumnos por primera vez, entendía las palabras de uno de mis profesores, “hay que pagar la novatada”. Eso fue durante los primeros diez minutos. Cuando uno empieza a hablar y sobretodo, domina los temas, es fácil exponerlos, tratando de darse a entender. Es gratificante ver cuando los alumnos comprenden y tienen preguntas, que aprenden de sus errores y adquieren experiencia.

2
Explicando el tema de definición de funciones.

La verdad es que noté un cambio desde el primer día hasta el último. De nervios ya no tenía nada, excepto si me equivocaba escribiendo por ahí. Pero creo que para una primera vez me fue bastante bien. Lo que sí, después de cada clase se termina sin voz y con las manos llenas de tinta de marcador de tiza líquida (jajaja).

En general fue una buena experiencia, lo que sí el tiempo fue bastante corto como para dar todos los temas que me habían planteado, así que tuvimos que ir un poco rápido. Con más tiempo disponible, habría sido maravilloso.

Ahora también veo la responsabilidad que debe tener un profesor de preparar su clase todos los días, y sobre todo de dominar los temas. He tenido profesores que no preparaban bien su clase, y la verdad no quiero que me pase eso nunca, y durante este curso no me pasó, pues me preparé bien.

3
El diploma.

Espero tener una oportunidad como esta pronto algún día otra vez, para ir ganando cada vez más experiencia, y sobre todo, aprender de las personas que escuchan lo que uno puede compartir, que nunca es suficiente.