¿Qué es y para qué sirve C? Uso en sistemas operativos Unix, compiladores… familia lenguajes C (CU00505F)

Resumen: Entrega nº5 del tutorial "Curso básico de programación en lenguaje C desde cero".
Codificación aprenderaprogramar.com: CU00505F

 

 

PROGRAMACIÓN ESTRUCTURADA FRENTE A POO

La programación más usada a nivel profesional hoy en día puede decirse que es la programación orientada a objetos, soportada por lenguajes muy populares como C++, Visual Basic o Java. La programación orientada a objetos (POO) se popularizó en la década de los 90“desplazando” a la programación estructurada tradicional, pero no para eliminarla o dejarla obsoleta, sino para construir sobre ella.

logo lenguaje programacion C

 

Su éxito ha radicado en facilitar y simplificar la construcción de programas y su mantenimiento. Esta concepción de la programación se ha impuesto a casi todos los niveles, lo cual no quiere decir que no se puedan usar lenguajes que no la contemplen, y lograr con ellos resultados útiles y eficaces.

Todo lo que hemos estudiado y vamos a estudiar será de utilidad para una persona que quiera profundizar en programación orientada a objetos, aunque obviamente tendrá que añadir nuevos conocimientos.

La característica principal de la programación orientada a objetos es el uso de clases y objetos. Un objeto es la combinación de código y datos. En este momento no vamos a interesarnos por estudiar ni entender en qué consiste la programación orientada a objetos. Nosotros vamos a centrarnos en lo que podríamos decir que son los fundamentos de la programación orientada a objetos, y ésta es la programación estructurada que hemos estudiado ya y vamos a seguir estudiando ahora.

Es frecuente oir hablar de diferentes modelos o paradigmas de programación (estructurada, funcional, lógica, orientada a objetos, etc.). Antes que detenernos a discutir en qué consiste un tipo de programación u otra vamos a preferir ir al lado práctico y empezar a hablar de Code::Blocks y C.

 

 

¿QUÉ ES Y PARA QUÉ SIRVE C?

C es un lenguaje de programación de larga historia si lo comparamos con otros surgidos más recientemente. C ha tenido distintos usos a lo largo de la historia, con aplicaciones en sistemas operativos, compiladores y desarrollo de software. No queremos entrar a profundizar en estos conceptos ya que exceden el objetivo que tenemos que es aprender fundamentos de programación. Simplemente diremos que un programa podemos verlo como “un servicio”. Podríamos hacer una analogía con una peluquería: el servicio de peluquería no puede ofrecerse “en el aire”, tiene que hacerse en un local que le proporcione las cosas más básicas necesarias (electricidad, agua, etc.). Este local o base sería para nosotros un sistema operativo (tipo MS-DOS, Windows, MacOS, Linux, Unix, etc.): una base que provee los servicios básicos para que los programas puedan funcionar. Por otro lado para que las ideas se transformen en un peinado del cliente el peluquero necesita algo que se encargue de la transformación: pongamos por caso “máquinas o herramientas” como tijeras o secadoras de pelo que traducen las ideas (programas) en hechos. Esto sería en nuestro caso el compilador: a partir de la idea expresada por el programador (programa) el compilador se encarga de generar el código binario o transformado y útil para ser ejecutado en el ordenador (el producto). Por último tendríamos el software o producto. En el caso de la peluquería podría haber distintos productos como “servicio de corte, lavado y secado”, “servicio de tinte”, “servicio de peinado”, etc. y todos estos servicios son posibles gracias a que existen los servicios básicos y herramientas de transformación. En nuestro caso podremos generar programas, tantos como queramos, gracias a que disponemos de un sistema operativo (que nos facilita nuestros servicios básicos) y un compilador (nuestra herramienta para transformar las ideas en hechos).

En el mundo de los computadores, tanto los sistemas operativos como compiladores y programas tienen que ser definidos por humanos de alguna manera. Usar un lenguaje como C es una de esas maneras, y C se ha usado tanto para definir cómo deben funcionar sistemas operativos como para definir cómo deben funcionar compiladores como para crear programas.

Hemos tratado de hablar muy simplificadamente sobre algunos términos (sistemas operativos, compiladores) que suelen nombrarse cuando se habla de C. No debes preocuparte ahora por todos estos conceptos, ya que se sale de nuestros objetivos.

El lenguaje C tiene otros lenguajes que se consideran sus antecesores (BCPL, B) y comenzó a utilizarse en los años 70. Su fecha de “nacimiento” como lenguaje de uso extendido suele decirse que es 1978 cuando Brian Kernighan y Dennis Ritchie publicaron el libro The C Programming Language, popularmente denominado “La Biblia de C”. En este libro se definía de forma clara y precisa este lenguaje de programación.

En sus orígenes C fue un lenguaje vinculado a un sistema operativo que ha tenido gran importancia histórica: UNIX. C se usó tanto para definir el sistema operativo como para definir el compilador como para crear los programas que funcionaban en UNIX.

C se popularizó como lenguaje útil y potente, utilizable bajo cualquier sistema operativo o hardware. Su amplio uso llevó a que se crearan multitud de compiladores C cada uno con pequeñas diferencias a la hora de aceptar el lenguaje o generar resultados, lo que daba lugar a muchos quebraderos de cabeza a los programadores, que tenían que tener en cuenta esas diferencias según trabajaran con un compilador u otro. Para eliminar estos problemas se creó un comité internacional que terminó proponiendo a finales de los años 80 un estándar o lenguaje C unificado al que se denominó ANSI C. De este modo, si bien siguen surgiendo normas de estandarización que introducen pequeñas modificaciones o ampliaciones en el lenguaje cada cierto tiempo, C es un lenguaje con una definición muy estable y con millones de usuarios en todo el mundo. A pesar del tiempo transcurrido desde su creación, es un lenguaje que sigue siendo estudiado en centros de formación y universidades, y ampliamente utilizado a nivel profesional (además, se ha constituido en antecedente de otros lenguajes que se han hecho populares por lo que su aprendizaje es doblemente útil).

Puede decirse que C tiene ventajas e inconvenientes. Ningún lenguaje es perfecto o ideal. De lo que no cabe duda es de que C es un buen lenguaje, con potencia y eficiencia para crear buenos programas. Si no fuera así, habría pasado a la historia y dejado de usarse como ha ocurrido con otros lenguajes.

C es un lenguaje que no deja de tener cierta complejidad. Nosotros no vamos a profundizar en todos los aspectos o posibilidades de C, al contrario, nos vamos a aproximar al lenguaje de la forma que consideramos más cómoda y didáctica: “aprender jugando”. Te proponemos que al mismo tiempo que lees y estudias el curso, ejecutes los programas propuestos y crees tus pequeños programas para realizar pruebas. En algunos casos comprobarás que el programa no funciona o que tienes errores: trata de aprender de estas pruebas, así han comenzado la mayoría de los programadores. Así pues, sin prisa pero sin pausa: ¡a programar!.

 

 

EJERCICIO

Hay un conjunto de lenguajes que se dice que pertenecen a la familia de lenguajes C (C-family programming languages). Busca información en libros o en internet y responde a las siguientes preguntas:

a) ¿Qué lenguajes pertenecen a la familia de lenguajes C?

b) ¿Por qué se dice que estos lenguajes pertenecen a la familia de lenguajes C?

c) ¿Es posible que un lenguaje de programación que se cree en el futuro se incluya dentro de la familia de lenguajes C, o por el contrario, ya no es posible que se incorporen más lenguajes a la familia? ¿Por qué?

 

Para comprobar si tus respuestas son correctas puedes consultar en los foros aprenderaprogramar.com.

 

 

 

 

 

 

Para acceder a la información general sobre este curso y al listado completo de entregas pulsa en este link:  Ver curso completo.

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

Donar o colaborar

Este sitio se mantiene abierto gracias al apoyo de muchas personas. Si crees que merece la pena apoyar económicamente este sitio web puedes realizar una donación o colaborar. Contacta con nosotros.

¿Puedo yo aprender?

Seas o no del área informática, si quieres aprender a programar te ofrecemos una solución guiada y personalizada: realizar un curso tutorizado on-line. Con este tipo de curso, podrás aprender a programar de forma ágil y amena.

Acceder a detalles y precios de los cursos tutorizados on-line

Política sobre cookies

Utilizamos cookies propias y de terceros para ofrecerte una mejor experiencia y servicio, de acuerdo a tus hábitos de navegación.

Si continúas navegando, consideramos que aceptas su uso. Puedes obtener más información en nuestra Política de Cookies.

En Facebook!

Ahora puedes seguirnos en Facebook. Noticias, novedades y mucho más ¡Te esperamos!

RANKING APR2+

Ranking de lenguajes y entornos de programación aprenderaprogramar.com
 

JULIO - AGOSTO 2017

1. Java / J2EE
2. Entornos Oracle
3. Entornos SQL Server
4. JavaScript, jQuery
5. .NET, C#
6. HTML, CSS
7. Android, iOS
8. Php, MySql


Acceder a detalles sobre el ranking de programación aprenderaprogramar.com

FOROS APR2+

Pregunta, responde, consulta, lee, intercambia...

Participa!!! Entra en los foros aprenderaprogramar.com.

             Copyright 2006-2017 aprenderaprogramar.com                La web abierta a cualquier persona interesada en la programación