Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Cursos gratis / Una introducción informal a GNU/Linux - Entorno de desarrollo para programadores

Una introducción informal a GNU/Linux - Entorno de desarrollo para programadores

 ----- (1 opiniones)
Creative Commons Curso gratis de Guillem Borrell - 12 de Enero de 2006
Temas Relacionados: Linux
5. Entorno de desarrollo para programadores

Lenguajes de programación.

Si por algo se ha caracterizado siempre los entornos UNIX es por su diseño orientado a la programación. Mientras otros sistemas operativos como Windows o Mac OS están orientados a la ejecución de programas, todos los sabores de UNIX permiten acceder a los compiladores, las librerías, el control de procesos... con gran naturalidad.

Cuando queremos programar en Windows o Mac OS necesitamos lo que se llama un IDE (Integrated Development Environment). Son herramientas tan populares como el Microsoft Visual Studio (con soporte para la mayoría de los lenguajes de programación), los entornos de Borland, el X Code en Mac OS. Cuando nos preguntamos por los IDEs en Linux nos viene a la cabeza un gran vacío.

Los hay, sin duda. Son poco conocidos. Kdevelop, Anjuta, Eclipse (también para windows)... Y son poco conocidos porque un sistema operativo tipo UNIX es en sí un entorno de programación. Este comportamiento nos va servir como ejemplo para ver cómo trabaja la consola y cómo podemos lanzar aplicaciones y controlar procesos con ella.

Nuestro primer programa en Linux

¿Cuál es el lenguaje más popular en Linux? Probablemente sea C. UNIX se basa en ese lenguaje. El mismo núcleo Linux está escrito enteramente en C, así como la mayoría de las aplicaciones. También cabe destacar C++, que ha sido siempre considerado como una extensión natural de C. Java tuvo sus días pero cada vez goza de peor reputación. Fortran sigue teniendo su sitio. Probablemente crezca un poco por el abandono del g77, que obligaba a mantener la sintaxis de FORTRAN 77; y la aparición del nuevo gfortran, que soporta ya FORTRAN 95. Si por una cosa se caracteriza el sistema GNU es por estar, en la mayoría de los casos, compilado con la colección de compiladores gcc.

Gcc, the GNU Compiler Collection

Si entramos en la dirección gcc.gnu.org nos encontramos con demasiada información a la vez. Como su nombre indica, gcc es la colección de compiladores libre y gratuita del sistema GNU. Tiene “frontends” para C, C++, ADA, java, Fortran y muchos otros lenguajes. Uno de los motivos por los que Linux es software libre hoy en día fue porque Linus decidió usar el compilador de C del GCC (por aquel entonces el único lenguaje soportado) para crear los ejecutables de su kernel.

Hoy en día es el compilador de referencia en cualquier sistema operativo. No es de ningún modo el mejor compilador. No es el más rápido ni el que mejor optimiza, pero te asegura una máxima portabilidad entre plataformas y sistemas operativos, algo muy importante a tener en cuenta.

Para aprender cómo funciona la consola vamos a crear nuestro primer programa en C. Vamos a hacer el típico “Hola Mundo” mediante consola y con el gcc. Para ello vamos a usar una herramienta llamada editor de texto. Un editor es un programa que sirve para crear archivos de texto literal. No es como un procesador de texto, que genera documentos finales que en realidad son páginas en XML. Para empezar abriremos una consola como esta (Suele ser bastante más grande):

y en ella vamos a teclear el nombre de mi editor favorito:

bash-2.05b$ emacs

y nos va a aparecer la ventana correspondiente al editor emacs. Inmediatamente vamos al menú file y le pedimos un nuevo archivo al que vamos a llamar hola.c. Tendremos un resultado parecido a éste:



El proceso anterior requiere una explicación. Si nosotros tecleamos directamente el nombre de un programa la consola va a buscar dicho nombre en los directorios:

/bin

/usr/bin

/usr/local/bin

O alguno más que esté especificado en la variable PATH y en el caso de encontrar el un programa con ese nombre lo va a ejecutar como proceso de consola.

En el archivo que acabamos de crear escribimos lo siguiente:

Y lo guardamos mediante el diálogo del menú “File”.

Ahora tenemos que compilar el archivo. Para ello tenemos que llamar al compilador de C con los argumentos necesarios para crear un archivo ejecutable que entienda el sistema operativo. Pero no tenemos ninguna ayuda. No hay ningún diálogo que nos diga qué hay que hacer. Simplemente un archivo de código fuente en nuestro directorio personal. Para hacer todo esto cerramos emacs y en la consola tecleamos:

y luego hacemos un “ls” para ver si se ha creado el ejecutable “hola.bin”. Prefiero no explicar exactamente qué se ha escrito en la consola; hay que dejar algo para la investigación personal. Simplemente diré que el segundo comando se asegura que el archivo creado tenga permisos de ejecución.

Luego ejecutamos el programa como:

Nuestro segundo programa en Linux.

La mayoría de los lenguajes citados en el apartado anterior son lenguajes “compilados”. En ellos se requiere escribir un archivo que contenga todo el código, compilarlo para crear un ejecutable y luego ejecutarlo.

Este proceso, lento y laborioso, es el que se suele seguir si queremos un resultado realmente eficiente, pero éste no es el único modo existente. Tenemos los lenguajes interpretados que nos permiten escribir programas de forma literal en un archivo que un intérprete lee línea por línea. Estos son los lenguajes interpretados.

El lenguaje interpretado más conocido es java. El segundo es VisualBasic. Ambos tienen un gran defecto para llegar a ser populares en entorno Linux. Java es una plataforma propiedad de Sun Microsystems mientras que VisualBasic nació de Microsoft para que cualquier necio creyera que sabe programar (yo empecé con Basic, o sea que no puedo presumir mucho)1. Las alternativas se llaman Perl, Python y Ruby.

El primero es el más versatil con diferencia. Su lema es “Más de un modo de hacer cada cosa”. Es ideal para el análisis de líneas de textos (parsing) y para administración de sistemas. Su gran defecto es su sintaxis críptica y el pobre escalado en programas grandes. El tercero, Ruby; es el lenguaje más orientado a objetos que existe. Se dice que usa y abusa de la OO. Es el menos utilizado de los tres aunque se considera muy elegante.

Nos queda python, bautizado así por su creador Guido van Rossum en honor al grupo cómico inglés Monty Python. Es mi lenguaje de programación favorito y tiene la mayoría de las características que un programador experimentado desearía en un lenguaje de programación. Su lema es “Python viene con pilas incluidas”, y para un ingeniero se podría decir que es el Matlab de la programación general.

Para escribir el hola mundo en python tenemos dos opciones. La primera es encender el intérprete y pedirselo a la cara:

y la otra es hacer exactamente lo mismo que con el programa en C y llamarlo con el intérprete. Pero esto... Otro día.

1Aunque no lo parezca, Matlab, Maple y Mathematica son lenguajes de programación interpretados

Autor y licencia de 'Una introducción informal a GNU/Linux - Entorno de desarrollo para programadores'
Guillem Borrell Extraído de: http://torroja.dmt.upm.es:9673/Guillem_Site/CursoLinux/

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Creative Commons Reconocimiento-NoComercial-SinObraDerivada España 2.5
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Una introducción informal a GNU/Linux - Entorno de desarrollo para programadores'

Este es un curso sin ninguna relevancia. Pretende ser una pequeña introducción para todos mis... Más »
En este artículo nos ocupamos en primer lugar, someramente, de los síntomas de crisis... Más »
El entorno es importante en muchas situaciones de la vida. En la venta, además de... Más »
Advertencia Características tecnicas del Dell Axim x5 Sincronizando la Axim nuestro ordenador GNU/Linux a traves del... Más »
Si uno busca en la red, puede encontrar muchos documentos en los cuales gente conocedora... Más »
Gente Wiki
Luisángel
Hola. Soy profesor de armonía y análisis en el conservatorio superior de madrid. Estoy interesado en la relación de estructuras...
Historia de la literatura, Novela ficción,...
Augusto Amaya León
Trabajo en el area de prevencion de riesgos e una empresa cosntructora y me gustaria saber y conocer mas del...
Climatización, Contratistas,...
Pedro Rossello
Presidente partido nuevo progresista de puerto rico. Senador por el distrito de arecibo.
Eddy Mauricio Terceros Requis
Egresado de la escuela militar de ingenieria de bolivia.
Claudia
Hola a todos los futuros amigos(as) y colegas, mi profesión es psicóloga, trabajo en una institución de atención a víctimas...
Jorge Marcello Monterey
Tengo experiencia en la implantacion de plantas de energia electrica. Fui profesor universitário y actuo como consultor de sistemas de...
Suscribirse
¿Estás seguro de que deseas eliminar este capítulo?