lunes, 15 de agosto de 2016


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.
 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.
  •  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.

      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.

     

No hay comentarios.:

Publicar un comentario