martes, 21 de junio de 2011

lunes, 6 de junio de 2011

a, b... y C, el maravilloso mundo del lenguaje C


Hace poco acabé el segundo semestre del ciclo de sistemas informáticos, y todo orgulloso publiqué en las redes sociales, en las que participo, que había aprobado todas las asignaturas, entre ellas una que incluye el lenguaje de programación C. Como respuesta a mi publicación recibí muchas felicitaciones, y un comentario que decía: ¿Pero el lenguaje C se utiliza todavía? Y a raíz de esto gustaría explicar un poco de la historia de C, y lo importante que es eśte lenguaje en el mundo de la informática, y de lo imprescindible que es todavía.

Un poco de historia


El potente lenguaje C nació en los Laboratoriol Bell de AT and T, y siempre ha ido de la mano con el sistema operativo UNIX, ya que éste último fue escrito prácticamente en su totalidad en C. El lenguaje C fue creado entre los años 1970 y 1972 por Dennis M. Ritchie. Es importante recalcar que éste lengauje está basado en el lenguaje B, escrito por Ken Thompson en 1970, que a su vez está basado en el lenguaje BCPL, creado por Martin Richard en 1967. Como se ve de forma evidente, el lenguaje C se llama de ésta forma debido a que su predecesor se llamaba B. La gran novedad, y ventaja, que proporcionó C sobre B fué el diseño de tipos y estructuras de datos. Los tipos estructurados básicos de C son las estructuras, las uniónes y los arrays. Estos permiten la definición y declaración de tipos de mayor complejidad. Con el tiempo han surgido variantes de éste lenguaje, las más relevantes:

  • Quick C
  • C++
  • Turbo C
  • Turbo C++
  • Borland C
  • Borland C++
  • Turbo C 2,0
  • Turbo C++ 1,0
  • Borland C++ 2,0

C estandard ANSI

El lenguaje C es muy poderoso y flexible, estos factores facilitaron que se difundiese muy rapidamente más allá de los laboratorios Bell. Los programadores de todo el mundo comenzaron a usarlo para escribir todo tipo de programas. Sin embargo, diferentes organizaciones comenzaron a utilizar muy pronto sus propias versiones de C, las pequeñas diferencias entre las implementaciones comenzaron a dar problemas a los programadores. (Ver lista anterior) Para resolver este problema, el American National Stándards (ANSI) formó un comité en 1983 para establecer una definición estándar del C, que llegó a ser conocida como C estandard ANSI . Sin embargo actualmente existe otra nueva conocida como C99, que fué la versión que ANSI aprobó en 1999.

El C de Kernighan y Ritchie

En 1978, Ritchie y Brian Kernighan publicaron la primera edición de “El lenguaj
e de programación C” , también conocido como la biblia de C. Este libro fue durante años la especificación informal del lenguaje. El lenguaje descrito en este libro recibe habitualmente el nombre de “el C de Kernighan y Ritchie”.

C en la actualidad

Cómo hemos comentado el lenguaje C fue desarrollado para ser usado como lenguaje de programación de sistemas (en éste caso UNIX). En la actualidad, la mayoría de los sistemas operativos están escritos en C o C++. De hecho el kernel (nucleo) del sistema operativo GNU/Linux está escrito en eśte lenguaje, además
de la mayoría de sus aplicaciones.

Características de C

Podemos decir que C es un lenguaje de programación de propósito general, cuyas principales características son:
  • Programación estructurada
  • Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas.
  • Un sistema de tipos que impide operaciones sin sentido.
  • Economía de las expresiones
  • Abundancia en operadores y tipos de datos
  • Codificación de alta y bajo nivel simultáneamente
  • Reemplaza ventajosamente a la programación en ensamblador
  • Utilización natural de las funciones primitivas del sistemas
  • No está orientado a ninguna área en especial
  • Producción de código objeto altamente optimizado
  • Facilidad de aprendizaje
Mi primer programa en C

Antes de nada tenemos que escribir el código que queramos en un archivo con extensión .c. Por poner un ejemplo, y siguiendo con la larga tradición de los tutoriales y manuales que corren por las bibliotecas e internet, haremos un sencillo programa, llamado “holamundo.c”
Primero de todos elegiremos el editor de texto, yo uso un muy sencillo que viene por defecto en el entorno gnome de Linux, llamado gedit. Una vez estamos dentro, escribimos:




Una vez escrito el código y guardado en el archivo “holamundo.c”, nos toca compilarlo. Para quien no lo sepa compilar consiste en un proceso que transforma nuestro código en lenguaje máquina, vamos, en ceros y unos, que es lo que entiende el ordenador.


Para compilar utilizaremos el maravilloso programa, creado por Richard Stallman, gcc (GNU Compiler Collection). Nos iremos a la consola:


Cómo vemos en la imagen anterior, escribimos:


gcc -o hola holamundo.c

Poniendo -o le decimos al programa que nos tiene que crear un archivo llamado “hola”, que es el que después ejecutamos.



Información extraida de:

Para saber más del Lenguaje C:


martes, 15 de febrero de 2011

Tan pequeño, y a la vez tan grande

Os dejo una imagen de nuestra área metropolitana, vista desde el espacio, cortesia del astronauta italiano Paolo Nespoli, residente actual de la Estación Espacial Internacional. La verdad, es que siempre que veo imagenes de lugares cotidianos desde el espacio, me da mucho que pensar. En lo pequeño y diminuto que se ve todo desde allí arriba, y en los grandes problemas que nos creamos nosotros solos aquí abajo. Disfrutad de la fotografía.


jueves, 13 de enero de 2011

viernes, 17 de septiembre de 2010

ENIAC, el primer ordenador electrónico.




Hoy en día hablar de un ordenador, es hablar de una máquina de apenas unos kilogramos de peso y cada vez más pequeña. Nada que ver con el primer computador electrónico, llamado ENIAC (electronic numerical integrator and calculator), fabricado en el año 1946, a base de válvulas de vacío, que era programable y universal, es decir, podía ser utilizado en cualquier tipo de cálculo.

Sus principales características eran:

30 toneladas de peso
17.500 válvulas de vacío
50.000 conmutadores
70.000 resistencias
10.000 compensadores
7.500 interruptores
1.500 releés
100.000 y 200.000 vatios de consumo eléctrico



El ENIAC fue construido por la Universidad de Pensilvana. Fabricado por John Presper Eckert y John William Mauchly, Ocupaba una superficie de 167m2. Consumía tanta electricidad que cuando estaba en funcionamiento la ciudad de Filadelfia sufría constantes apagones. Se estuvo utilizando en el Laboratorio de Investigación de Balística del Ejército de Estados Unidos, y el personal que se encargaba de su mantenimiento estaba compuesto sólo por mujeres. De hecho, las mujeres de ENIAC, fueron las que desarrollaron los primeros programas de software del primer computador electrónico, podríamos decir que ellas crearon el campo de la programación. A mediados de los cuarenta del siglo pasado ellas eran las únicas programadoras de computadoras de propósito general en el mundo. Y se convirtieron en las maestras de la primera generación de programadores digitales. Para que después digan que la informática es cosa de tíos frikis. Aquí os dejo una fotografía de la máquina y otras con las mujeres de ENIAC trabajando.



.

viernes, 27 de agosto de 2010

Hola Mundo

Antes de nada bienvenidos a mi nuevo blog sobre ciencia y tecnología. Desde hace mucho tiempo tenía pensando hacer un bitacora sobre temas científicos que siempre han rondado por mi mente. La informática, tanto el mundo del hardware como el del software, el espacio, la literatura de divulgación científica, son asuntos que trataré aquí. Isaac Asimov y Carl Sagan son mis grandes inspiradores, aunque mis primeros contactos con el mundo de la tecnología, sobre todo de la informática, viene de films como Tron, War Games o Daryl, y esos peazo de ordenadores de los años 80. En fin, que espero que os guste y os parezca interesante, y sí hacéis algún comentario, no seáis muy duros conmigo.