lenguaje-de-programacion-c.jpg
Ciencia y Tecnología

Lenguaje de programacion c, origen y trascendencia

Equipo de Expertos en Ciencia y Tecnología

Para cualquier programador e informático el lenguaje de programación c es uno de los factores más presentes en su día a día, un sistema de amplia adopción que se utiliza de forma frecuente desde sus orígenes a finales de los 60 e inicios de los 70. Se trata de un lenguaje que se ha extendido a través de todo tipo de plataformas y que nació de la mano de programadores pensando en el trabajo que realizarían otros programadores. En la actualidad ha sido utilizado en todo tipo de contextos y demuestra ser uno de los lenguajes más flexibles de la informática. Esta es una buena razón de peso para recordar lo imprescindible que resulta y la gran necesidad que existe en prestarle suficiente atención en el día a día de los especialistas. ¿Pero cómo se formó?

Descarga nuestra guía gratuita: Lo que debes saber si quieres estudiar informática

Los orígenes del lenguaje C

A finales de los años 60 en la empresa AT&T se comenzó a trabajar en un nuevo lenguaje de programación, exactamente en los Laboratorios Bell. Los primeros pasos se dieron en el año 1969, pero el concepto del lenguaje C se fue extendiendo y el momento de mayor plenitud, cuando de verdad se asentaron las bases, se produjo en 1972. Fue entonces cuando se decidió que de forma definitiva este lenguaje de programación tendría el nombre por el cual lo conocemos, en referencia a que se inspiraba en el lenguaje B y tenía sentido que se siguiera con el uso del alfabeto.

La historia del origen de C tiene muchas irregularidades y agujeros que distintos expertos han intentado rellenar con sus propios recuerdos, pero que todavía dejan en el aire algunos misterios. La historia más popular es que el lenguaje nació como respuesta al interés que tenían varios programadores de jugar en su empresa a un juego muy popular llamado Space Travel (que había sido creado por uno de estos dos programadores). Se encontraron con que el mainframe de su empresa no era capaz de proporcionarles el rendimiento que necesitaban, dado que estaba demasiado saturado. Al jugar no disfrutaban de un nivel de control adecuado y el juego les resultaba imposible de disfrutar. Esto les llevó a plantearse soluciones. La que se les ocurrió fue adaptar Space Travel a un sistema PDP-7 que estaba abandonado en la empresa y que no se usaba. De esa forma tenían la posibilidad de jugar sin que molestaran a nadie y suponemos que sin que sus superiores se enterasen. Por desgracia para ellos, se encontraron con que el PDP-7 no tenía sistema operativo.

Por ello tuvieron que tomar una decisión. La más sencilla parecía que sería utilizar el sistema operativo de un PDP-11 que había también en la empresa. Pero al ponerse a hacerlo vieron que era un trabajo imposible que les llevaría mucho tiempo. Era hora de tomar otra decisión. Pensaron en qué tipo de sistema operativo necesitaban y en cómo podrían crearlo. La primera idea fue usar el lenguaje de programación B, pero no tenía lo necesario. Así que llegaron a la conclusión de que tenían que dar forma a otro lenguaje. Y así es como nació C, como forma de conseguir jugar a Space Travel. Y los creadores en cuestión que lo hicieron realidad fueron Dennis Ritchie y Ken Thompson (creador también del juego en cuestión).

 

¿Qué le representa?

Hay varios aspectos diferenciadores que han acompañado al lenguaje C a través de los años y que lo han hecho imprescindible. Lo más característico y lo que representa la genialidad de su naturaleza es que es un lenguaje muy sencillo y simple, pero con el cual se abarcan funcionalidades realmente avanzadas y notorias. Se pueden manejar archivos y realizar funciones de tipo matemático de una manera que sorprende desde el primer momento. Además, aporta una gran flexibilidad para que los programadores no se tengan que basar en un estilo de programación determinado. Hay varios estilos que se pueden adoptar dependiendo de los gustos y costumbres de cada uno de los programadores.

Otros de sus rasgos principales incluyen el usar punteros para trabajar con la memoria de más bajo nivel, impedir las operaciones que no tengan sentido y usar el entorno de preprocesado C en determinadas acciones para agilizar y simplificar procesos. Las palabras clave que se usan se toman de base con un conjunto minimizado y se ponen de manifiesto funciones de polimorfismo y encapsulado de manera sencilla. Además, también es común usar uniones para llevar a cabo todo lo referente a las interrupciones del procesador.