articulo

Traducción de un programa

Esta entrada se tratará el tema de compilación, enlace de un programa y errores. Hay que recordar lo siguiente: los lenguajes de programación se clasifican en alto nivel y bajo nivel. En los de bajo nivel entra el lenguaje ensamblador y el lenguaje máquina (binario ceros y unos). Dentro de los de alto nivel hay una subcategoría. los compilados y los de scripting. Cada uno con sus respectivas ventajas.

A continuación se procede a mostrar con el uso del lenguaje de alto nivel tipo compilado las etapas de que este tiene. Recordando que primero se tiene el código fuente, el objeto y finalmente el ejecutable. No antes sin olvidar que mientras todo salga bien (sin ningún tipo de errores) se generara el código ejecutable.

Se ha elegido el lenguaje de programación Java para la demostración, se hará una impresión en pantalla de la frase “hola mundo”, posteriormente se compilara y finalmente se ejecutará. Hay que tener encenta que para que este ejercicio funcione debe de tener instalado el JDK (Kit de Desarrollo de Java, por sus siglas en ingles). Este se obtiene directamente desde la página de oracle (pulsa aquí para ir a la pagina de descarga). posteriormente debes de seleccionar la arquitectura y versión de tu sistema operativo.

Si usas cualquier distribución de linux y alguna de la familia de debian, con los siguientes comandos puedes instalarlo, no se olvide que la versión que se instalará es el openjdk que es el fork para desarrollo de java en el software libre, (bueno, es que hay toda una historia sobre la parte comercial y pertenencia de java).

apt-get install openjdk-11-jdk

Con el comando anterior se instala todo lo necesario para la creación de aplicaciones en java. lo que ahora hay que hacer es crear el archivo fuente o código fuente, las siguientes instrucciones permitirán crear dicho fichero.

class HolaMundo{
    public static void main (String [] args){
        System.out.println("Hola Mundo en Java desde la terminal");
    }
}

Esas cinco líneas de código deben de ir dentro de un block de notas con la extención *.java y el nombre del archivo debe de ser HolaMundo, preferentemente igual a como se llama la clase principal, con esto se ha creado el código fuente.

Una vez que ya se ha creado el código fuente se procede a la uso del linkeo o compilación y montado del código objeto. Para esto hay que hacer uso del comando javac. La sitaxis del comando es la siguiente: javac NombreDelArchivo.java. Se ejemplifica en la siguiente línea de código.

javac HolaMundo.java

Si todo es correcto, es decir, no hay ningún tipo de errores, devolverá el promt del sistema; en caso de hubiese errores el linkeador mostrará los posibles errores y que es lo que se esperaba donde se ha localizado el error. Los tipos de errores con los que el linkeador puede ayudar al programador, son: errores sitánticos: en donde se haya olvidado colocar algún signo, por ejemplo, es muy común que al iniciarse se olvide el punto y coma al final de cada instrucción en java. Errrores de forma: Son aquellos en los que aveces el sentido común falla (por decirlo así) o cuando se quiere sumar tipos de datos diferentes (enteros con caracteres, por ejemplo).

El error con el que no nos podrá apoyar mucho el linkeador son los errores lógicos: estos errores son muy humanos, es decir, depende de la lógica de cada programador, ocurre mucho cuando se utilizan la mezcla de los operadores relacionales, boleanos y aritméticos. Un ejemplo es cuando quieres evaluar el mayor de dos numeros por ejemplo 4<2 el resultado es falso, debido a que se usa el operador incorrecto lo correcto debería de ser 4>2.

Imagen 1. Compilación de un fichero fuente escrito en java

En la imagen 1 se puede apreciar el uso del comando cat que permite ver el contenido de un fichero en forma de solo lectura, después de ello se hace uso del comando javac para hacer la compilación, el linkeo y la creación del archivo objeto, ya creado este último fichero se procede a la ejecución haciendo uso del comando java, Note que la sintaxis de este comando es solo el comando y el nombre del fichero sin usar extensión.

2 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *