¿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!.
Ventajas y desventajas de programar en C
Programar en assembler tiene muchas diferencias con respecto a programar en C. Mientras que en un lenguaje de programación programamos en bajo nivel (assembler) en C programamos en alto nivel. ¿Qué quiere decir esto? Que no programamos a nivel máquina o computadora sino que lo hacemos mediante una serie de comandos y que cada uno de ellos representa una serie de funciones de bajo nivel. Es decir, que si necesitamos hacer un programa corto y optimizar el tiempo porque estamos trabajando con una plaqueta electrónica con un microcontrolador PIC por ejemplo, codificar en assembler es una buena idea porque tenemos en cuenta cada milisegundo procesado. En cambio, en C, perderíamos mucho tiempo. Pero si necesitamos programar algo muy largo, lo mejor es codificar en C, porque en assembler se torna muy difícil y extenso. Para tener una idea, en C un comando puede tener incorporado entre 10 y 50 líneas de lenguaje máquina. Estas son las ventajas y desventajas de programar en C:
Ventajas de programar en C:
Desventajas de programar en C:
Ventajas de programar en C:
- Programamos en un alto nivel. Esto quiere decir que no programamos en lenguaje máquina.
- Los comandos son muy sencillos. Para aprender a programar en C, es muy fácil armar una estructura del software por primera vez por ejemplo.
- El lenguaje incorpora muchas librerías, las cuales son de manejo de archivos, funciones matemáticas, e incluso se pueden crear las mismas teniendo en cuenta nuestras necesidades. Por ejemplo, si programamos un microcontrolador, se puede crear una librería para manejar un display LCD.
- Incorpora interrupciones para poder armar una programación estructurada más sencilla.
- Es un lenguaje multiplataforma, porque con él se puede programar desde software para PC, hasta programas para microcontroladores en electrónica con diferentes compiladores.
- Uso de punteros. Estos tienen muchas funcionalidades, como trabajar con la memoria interna desde un bajo nivel, llamar a una función en particular o incluso a una determinada variable estática.
Desventajas de programar en C:
- Si necesitamos optimizar el tiempo, como se dijo anteriormente, no es una buena idea usar C, porque no estamos trabajando en lenguaje máquina.
- No es un lenguaje visual como por ejemplo si lo es Visual Basic. Para saber C, debes conocer cómo trabaja, no puedes deducirlo intuitivamente como si lo puedes hacer por ejemplo en Visual Basic.
- Es necesario saber usar correctamente los punteros porque de lo contrario el software programado puede resultar muy lento.
- Tener un manejo de la memoria en C puede resultar algo complicado si es que no se tiene mucha idea de programación.
No hay comentarios.:
Publicar un comentario