19 de agosto de 2008

¡Hola Mundo!

Describiremos brevemente cómo producir el tradicional "Hola Mundo" en C++ y Java.
No es poco probable que al provenir de Windogs estemos acostumbrados a programar en entornos de desarrollo integrados, es decir, aplicaciones donde con sólo un click tenemos acceso al compilador, al debugger y otras herramientas. Linux cuenta con una gran variedad de estos entornos, pero el propósito de este post no es describir cómo funcionan éstos entornos. Describiremos cómo producir programas utilizando sólamente un editor de textos y la terminal.

Llegamos al punto (delicado en ocasiones) donde tendremos que elegir un editor de texto. Si usted es alguien quien está dispuesto a invertir tiempo y paciencia para aprender una herramienta poderosa le sugerimos utilice Emacs. En caso contrario, si no le preocupa tener un editor común y corriente puede utilizar Kate. Ambos editores están disponibles desde la categoría Utilidades del menú principal de Kubuntu. Para aquellos que hayan elegido utilizar Emacs, se describirán los comandos que utilizará para abrir, cerrar y guardar archivos. Debido a que la utilización de Kate es relativamente sencilla e "intuitiva", no se describirán los comandos que utlizará.

Se recomienda que genere un directorio de trabajo para cada programa que haga (para tener un poco más de orden). Puede hacer esto utilizando el explorador de archivos Dolphin, disponible en el Menu del sistema (a un costado del menú principal). Para los que quieran intentar hacerlo en modo texto, abran el programa Konsole, ubicado en la categoría Sistema del menú principal. Para crear un directorio puede hacerlo con el comando mkdir. Por ejemplo, el comando
mkdir hola_mundo-cpp
generará un directorio llamado hola_mundo-cpp. Accese al directorio recién creado mediante el comando
cd hola_mundo-cpp
Consideramos prudente mencionar que Linux distingue mayúsculas de minúsculas, así que tenga cuidado nombrar sus directorios. También es poco recomendable que los nombres de sus directorios y archivos contengan espacios, caracteres acentuados o ñ's. Puede dejar el programa Konsole abierto ya que lo utilizaremos más tarde. Mientras tanto abra el editor de texto.

Crearemos un archivo llamado hola.cpp. En Emacs esto puede ser logrado con el comando C-x C-f (donde C-x debe ser interpretado como "mantenga presionada la tecla Ctrl mientras teclea x", análogamente se debe interpretar C-f). Lo anerior hará que el cursor vaya a la parte inferior de la pantalla (sección conocida como mini-buffer). En el mini-buffer teclee el nombre del directorio donde se encuentrará su código fuente seguido del nombre del archivo (que en este caso será hola.cpp). En Emacs, el comando C-x C-f sirve para abrir o crear un nuevo archivo. Teclee el código que se muestra a continuación.



Ya que haya tecleado el código, guarde su archivo con el comando C-x C-s. Ahora regrese a la ventana de Konsole que habíamos abierto previamente y teclee el comando
g++ hola.cpp
Lo anterior invoca al compilador de C++ para que compile el archivo llamado hola.cpp. Si teclea el comando ls en la terminal, podrá notar que ha aparecido un nuevo archivo en el directorio llamado a.out. Para poder ejecutar su programa, lance el comando
./a.out
Si todo ha salido bien, debió haberse mostrado el mensaje ¡Hola Mundo! en la terminal.

Para finalizar con la sección del programa en C++, indicaremos como cambiar el nombre del archivo ejecutable que producirá el compilador. Si queremos, por ejemplo, que el ejecutable de nuestro programa se llame hola.e, basta con indicarlo al momento de invocar el compilador. Para tal fin, lance el comando
g++ -o hola.e hola.cpp
La diferencia con la invocación anterior al compilador radica en la presencia de la bandera -o, la cual indica al compilador que nombre al archivo ejecutable como hola.e (para ejecutar su programa ahora deberá utilizar el comando ./hola.e). Como notamos anteriormente, cuando no se especifica el archivo de salida se produce el archivo a.out.

Pasemos ahora a la versión del programa ¡Hola Mundo! en Java. Sugerimos genere un directorio llamado hola_mundo-java. Ahora, crearemos un archivo llamado Hola.java dentro de este directorio y teclearemos el siguiente código



Guarde los cambios al archivo y en la terminal (en el mismo directorio donde se encuentra el archivo Hola.java) lance el comando
javac Hola.java.
Lo anterior debió haber producido un archivo llamado Hola.class. Finalmente, para ejecutar su programa en la misma terminal donde compiló, puede lanzar el comando
java Hola

¿Dónde esta el programa *****?

Éste es es el tipo de preguntas más frecuentes que uno se hace al ingresar al mundo de Linux. A primera vista pareciera que en este lugar las cosas no se encuentran tan "ordenadas" como en Windogs. Muchas de las aplicaciones disponibles para Kubuntu son accesibles desde el menú principal de KDE (ubicado por defecto en la parte inferior izquierda de la pantalla). En éste menú podremos encontrar los programas distribuidos por categoría. Se describirán algunas de las aplicaciones de uso más "frecuente".

Programas equivalentes para los encontrados en Micro$oft Office (M$ Office) se pueden encontrar bajo la categoría de Oficina en el menú principal. La suite OpenOffice.org es una alternativa libre, disponible para muchos sistemas operativos y gratuita (hemos dicho que usar software libre no es cuestión de precio sino de libertad, pero creo que vale la pena comparar de vez en cuando) a M$ Office, cuyo precio oscila entre los $399.95 USD y $679.95 USD (equivalente a precios entre $4,074.89 MXP y $6,927.67 MXP, ésto sin haber incluido el precio del sistema operativo Windogs). OpenOffice.org aún no es capaz de abrir archivos que se encuentran en el nuevo formato de M$ Office, así que si desea abrir sus documentos con OpenOffice.org (al igual que con versiones anteriores de M$ Office), tendrá que guardarlos como documentos de Office 2003.

Otro programa de uso frecuente son los navegadores web. En Kubuntu podemos encontrar el Navegador Firefox disponible desde la sección Internet, en el menú principal.

Maple también se encuentra dentro de la lista de programas más "frecuentemente" utilizados. No se han configurado íconos para ejecutar este programa, lo cual no quiere decir que no se pueda. Para poder ejecutar Maple, será necesario abrir el programa Konsole, ubicado en el la categoría Sistema. Una vez que Konsole esté abierto, teclee el comando xmaple seguido de la tecla enter. Si en vez de utilizar esa interfaz de Maple desea utilizar la hoja de trabajo clásica, teclee el comando xmaple -cw en vez de xmaple.

Para las personas que editan documentos en LaTeX, se encuentra disponible el programa Kile, el cual supera en algunos aspectos a WinEdt de Windogs. No es tan difícil utilizar éste programa. La parte difícil es dejar de usarlo cuando uno ya se acostumbró a éste. Para ayuda acerca de como utilizar este programa, puede consultar el Manual de Kile, disponible desde el menú de ayuda. El compilador de documentos LaTeX con el que cuentan los equipos del laboratorio es TeXlive.

En cuestiones de programación, podemos decir que Linux es un ambiente amigable para programadores, ya que contamos con una gran variedad de herramientas para desarrollar programas.
El programa KDevelop es un entorno integrado de desarrollo para diversos lenguajes de programación (en el laboratorio sólo se encuentran integrados los lenguajes C y C++ para KDevelop). Podemos encontrarlo en la categoría Desarrollo del menú principal. Desde este programa podemos crear, administrar y desarrollar programas. Describiremos en posts futuros cómo hacer el típico hola mundo en diversos lenguajes de programación disponibles en el laboratorio.

Nueva versión de Kubuntu en el Laboratorio


Recientemente ha concluido la instalación y configuración de la versión 8.04 de Kubuntu. Para poder utilizar este sistema, al igual que con la versión anterior, será necesario utilizar la cuenta de alumno, con la contraseña estudiante.

Para los nuevos usuarios de Kubuntu tenemos disponible una tabla de equivalencias entre programas encontrados en Windogs y Kubuntu. En caso de que no encuentre un reemplazo para su programa favorito en Windogs, podemos referirlo a este sitio, donde podrá encontrar una tabla más amplia.

Usar software libre no es cuestión de precio, sino de libertad.

12 de marzo de 2008

Kubuntu, llegando a los equipos del Laboratorio.

La Administración del Laboratorio de Matemáticas Computacionales ha decidido instalar un nuevo sistema operativo. Se trata de Kubuntu 7.10, una distribución de GNU/Linux basada en Ubuntu. Esperamos que el proceso de instalación concluya este fin de semana. Para los alumnos que deseen hacer uso de este nuevo sistema, será necesario utilizar la cuenta de alumno, con la contraseña estudiante.

Hacemos una atenta invitación a que los estudiantes prueben este sistema operativo y lo instalen en sus equipos personales. Pueden adquirir una copia del sistema en el laboratorio, en éste mismo lugar pueden ser asesorados acerca de su utilización.

A continuación incluimos una tabla de equivalencia de aplicaciones entre Windogs y Kubuntu. En ella se analiza el caso particular de éste Laboratorio, para una lista más general visite este sitio (la tabla se encuentra mucho más abajo, blogger no tiene un manera directa de insertarlas, mil disculpas).





















































































Tabla de "Equivalencias"


KubuntuWindogs
Distribución de TeX/LaTeXTeXliveMikTeX
Editor de texto para TeX/LaTeXEmacs, Kile, VimWinEdt
Editor de ImágenesGimp,Inkscape, KolourPaint, XfigInkscape, Paint
Visualizador de documentos pdfAdobe, kpdf, xpdfAdobe
Visualizador de documentos dviKdvi, xdviyap
Visualizador de documentos djvuDjVuLibre----
Compilador de C++gccborland
Entorno de desarrollo integradoKDevelopBorland
Procesador de TextosOpenOffice WriterMicrosoft Word
Hoja de cácluloOpenOffice CalcMicrosoft Excel
Programa para crear presentacionesOpenOffice ImpressMicrosoft Power Point
Navegador webFirefox, KonquerorFirefox, Internet Explorer
Sistema de álgebra computacionalMaple, SageMaple
Sistema de simulaciónScilabMatlab
Sistema de geometría dinámicaKigCabri