Ventajas y Desventajas
Ventajas:
- El lenguaje C ha sido pensado para ser altamente transportable.
- 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).
- Un sistema de tipos que impide operaciones sin sentido.
- Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente.
- Acceso a memoria de bajo nivel mediante el uso de punteros.
- Interrupciones al procesador con uniones.
- Un conjunto reducido de palabras clave.
- 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.
- 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.
- Funciones anidadas, aunque GCC tiene esta característica como extensió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.
- Soporte nativo para programación multihilo y redes de computadores.
- 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.
Caracteristicas- En todo caso, un programa escrito en un lenguaje de alto nivel debe ser traducido a un lenguaje que entienda la máquina antes de poder ser ejecutado. Esto se conoce como compilación (si traducen el programa completo a código máquina antes de ejecutar cualquiera de las instrucciones) o interpretación (si recorren el programa tomando instrucciones una a una en pequeños grupos que traducen y ejecutan).
- Un compilador o intérprete, también es un programa. Acepta como datos de entrada un aprograma en alto nivel (programa fuente) y genera como resultado un programa en lenguaje máquina (programa objeto).
- En un nivel intermedio se sitúa el lenguaje C, permitiendo beneficiarse de las ventajas de ambos tipos de lenguajes, y reduciendo sus inconvenientes.
Es un lenguaje de propósito general. Se ha utilizado para el desarrollo de muy diversas aplicaciones: sistemas operativos, hojas de cálculo, gestores de bases de datos...- Es un lenguaje portable, es decir, es independiente del hardware. Los programas escritos en C son fácilmente trasportables a otros sistemas.
Versiones
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.
No hay comentarios.:
Publicar un comentario