Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Boletín Informativo
Boletín Informativo
Lenguaje C
23 de Marzo del 2020
- Programación
- Unidad 2
- 1 Q 1
- Actividad Número 2
- Elsa Nabté
C es un lenguaje de programación (considerado como uno de lo más importantes en la
actualidad) con el cual se desarrollan tanto aplicaciones como sistemas operativos a la vez que
forma la base de otros lenguajes más actuales como Java, C++ o C#, por lo cual el lenguaje C
no es sencillo
Características básicas
• Programación de nivel medio (beneficiándose de las ventajas de la programación de alto y
bajo nivel).
• Objetivos generales. No es un lenguaje para una tarea específica, pudiendo programar tanto
un sistema operativo, una hoja de cálculo o un juego.
Como inconvenientes, siendo también características del lenguaje C, debemos decir que no es
un lenguaje sencillo de aprender, que requiere una continua práctica y un serio seguimiento si
queremos tener el control de los programas
Biblioteca de C
En estos momentos, podemos concluir que el lenguaje de programación C es el idóneo para
programar sistemas operativos debido a su cercanía en el lenguaje, al igual que cumple con
creces en la creación de programas de otra índole y ofrece a los programadores un control total
sobre la memoria pudiendo asignarla cómo, cuándo y dónde quieran. Otro punto a destacar es
la gran variedad de bibliotecas (como las estándar ASCI) que facilitan mucho al programador la
redacción de las acciones a realizar.
Pese a sus virtudes a la hora de programar a nivel de sistema y su versatilidad para afrontar la
creación de infinitas clases de aplicaciones, el lenguaje C no siempre es la mejor opción para el
programador, sobre todo para el desarrollo de aplicaciones, ya que puede tener errores de
compilación que otros lenguajes basados en C, como Java o C++ solventan sin problemas.
Tampoco debemos olvidar que no es un lenguaje de programación sencillo, por lo que necesita
de mucha disciplina en su estudio y puesta en práctica. Esta dificultad puede verse reducida por
la perfecta estructuración del código y por la rapidez y potencia con la que las aplicaciones son
generadas
Ventajas
* Un núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones
matemáticas y de manejo de archivos, proporcionadas por bibliotecas.
* Es un lenguaje muy flexible que permite programar con múltiples estilos. Uno de los más
empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura).
* Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e
incluir múltiples archivos de código fuente.
* Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia
se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos
parámetros.
* Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de
encapsulado y polimorfismo.
Desventajas
* Recolección de basura nativa, sin embargo se encuentran a tal efecto bibliotecas como la
"libgc" desarrollada por Sun Microsystems, o el Recolector de basura de Boehm.
* Soporte para programación orientada a objetos, aunque la implementación original de C++ fue
un preprocesador que traducía código fuente de C++ a C.
* Encapsulación.
* Polimorfismo en tiempo de código en forma de sobrecarga, sobrecarga de operadores y sólo
dispone de un soporte rudimentario para la programación genérica.
* Carece de instrucciones de entrada/salida, de instrucciones para manejo de cadenas de
caracteres, con lo que este trabajo queda para la librería de rutinas, con la consiguiente pérdida
de transportabilidad.
C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios
Bell como evolución del anterior lenguaje B, a su vez basado en BCPL.
Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos,
concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de
programación más popular para crear software de sistemas, aunque también se utiliza para
crear aplicaciones.
Se trata de un lenguaje fuertemente tipificado de medio nivel pero con muchas características
de bajo nivel. Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez,
dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los
compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en
ensamblador con código C o acceder directamente a memoria odispositivos periféricos.
La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-1989. El lenguaje
que define este estándar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue
ratificado como estándar ISO (ISO/IEC 9899:1990). La adopción de este estándar es muy
amplia por lo que, si los programas creados lo siguen, el código es portátil entre plataformas
y/o arquitecturas.
En la actualidad son muchos los fabricantes de compiladores C, aunque los más populares
entre los fabricantes de software son: Microsoft e Imprise.
Una evolución de C, el lenguaje C++ (C con clases) que contiene entre otras, todas las
características de ANSI C. Los compiladores más empleados son Visual C++ de Microsoft,
Builder C++ de Imprise (Antigua Borland), C++ bajo Unix y Linux.
En el verano del 2000, Microsoft patentó una nueva versión de C++, que es C#, una evolución
del C++ estándar, con propiedades de Java y diseñado para aplicaciones en línea.
Este es un lenguaje débilmente tipificado de medio nivel, pero a su vez, con muchas
características de bajo nivel . Asimismo, cuenta con las estructuras típicas de los lenguajes de
alto nivel pero, también dispone de construcciones del lenguaje que permiten un control a muy
bajo nivel . Sus compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar
código en ensamblador con código C o acceder directamente a memoria o dispositivos
periféricos .
Por su parte, C++ fue creado con la intención de extender al exitoso lenguaje de programación
C con mecanismos que permitan la manipulación de objetos . En ese orden de ideas, desde el
punto de vista de los lenguajes orientados a objetos, C++ es un lenguaje híbrido.
Posteriormente se fueron sumando facilidades de programación genérica, a los dos
Diferencias fundamentales de C
• C es un lenguaje estructurado, estándar, que permite trabajar de forma algo más cercana al
hardware que la mayoría de los demás. Es potente y versátil, se puede programar de todo,
desde aplicaciones sencillas de escritorio hasta sistemas operativos. Su desventaja es que es
complicado hacer proyectos grandes en él, porque entrega muy pocas cosas hechas, y además
ya no se emplea mucho.
• C ++ es una extensión a C, orientada a objetos, cuenta con casi todas las ventajas de C, pero
además posee ciertas características propias que facilitan mucho la programación. Es de los
lenguajes más utilizados actualmente, ya que gran parte del software comercial se realiza en él.
Se usa sobre todo cuando el rendimiento del programa es importante, porque es más rápido y
ligero que C#.
Referencias