You are on page 1of 3

Caractersticas [editar]

Propiedades [editar]

Un ncleo del lenguaje simple, con funcionalidades aadidas importantes, como funciones matemticas y de manejo de archivos, proporcionadas por bibliotecas. Es un lenguaje muy flexible que permite programar con mltiples estilos. Uno de los ms 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 mltiples archivos de cdigo 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 parmetros a una funcin se realiza por valor. El paso por referencia se consigue pasando explcitamente a las funciones las direcciones de memoria de dichos parmetros. Punteros a funciones y variables estticas, que permiten una forma rudimentaria de encapsulado y polimorfismo. Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una nica variable "empleado").

Carencias [editar]

Recoleccin 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 programacin orientada a objetos, aunque la implementacin original de C++ fue un preprocesador que traduca cdigo fuente de C++ a C. Encapsulacin. Funciones anidadas, aunque GCC tiene esta caracterstica como extensin. Polimorfismo en tiempo de cdigo en forma de sobrecarga, sobrecarga de operadores y slo dispone de un soporte rudimentario para la programacin genrica. Soporte nativo para programacin multihilo y redes de computadores.

Aunque la lista de las caractersticas tiles de las que carece C es larga, este factor ha sido importante para su aceptacin, porque escribir rpidamente nuevos compiladores para nuevas plataformas, mantiene lo que realmente hace el programa bajo el control directo del programador, y permite implementar la solucin ms natural para cada plataforma. sta es la causa de que a menudo C sea ms eficiente que otros lenguajes. Tpicamente, slo la programacin cuidadosa en lenguaje ensamblador produce un cdigo ms rpido, pues da control total sobre la mquina, aunque los avances en los compiladores de C y la complejidad creciente de los microprocesadores modernos han reducido gradualmente esta diferencia.

En algunos casos, una caracterstica inexistente puede aproximarse. Por ejemplo, la implementacin original de C++ consista en un preprocesador que traduca cdigo fuente C++ a C. La mayora de las funciones orientadas a objetos incluyen un puntero especial, que normalmente recibe el nombre "this", que se refiere al objeto al que pertenece la funcin. Mediante el paso de este puntero como un argumento de funcin, esta funcionalidad puede desempearse en C. Por ejemplo, en C++ se puede escribir:
stack.push(val);

Mientras que en C, se podra escribir:


push(stack, val);

Donde el argumento stack es un puntero a una struct equivalente al puntero this de C++, que es un puntero a un objeto.

Historia [editar]

Caractersticas del lenguaje C Hay numerosas caractersticas que diferencian al lenguaje C de otros, y lo hacen eficiente, potente, eficaz, rpido, indispensable para todos los programas. Algunas son: ? Una nueva sintaxis para declarar funciones. Una declaracin de funcin puede aadir una descripcin de los argumentos de la funcin. Esta informacin adicional sirve para que los compiladores detecten ms fcilmnete lo errores causados por argumentos que no coinciden. ? Asignacin de estructuras (registros) y enumeraciones. ? Preprocesador ms sofisticado. ? Una nueva definicin de la biblioteca que acompaa a C. Entre otras funciones se incluyen: acceso al sistema operativo (por ejemplo, lectura / escritura de archivos), entrada y salida con formato, asignacin dinmica de memoria, manejo de cadenas de caracteres. ? Una coleccin de cabeceras estndar que proporciona acceso uniforme a las declaraciones de funciones y tipos de datos.
http://www.bloginformatico.com/lenguaje-de-programacion-c.php

Una de las caractersticas ms apreciadas de C es su gran portabilidad, gracias a que deja en manos de libreras las funciones dependientes de la mquina, y todo ello sin restringir el acceso a dicha mquina!.No lleva a cabo comprobacin de errores en tiempo de ejecucin, por ejemplo no se comprueba que no se sobrepasen los lmites de los arrays, el programador es el nico responsable de llevar a cabo esas comprobaciones, el compilador confa en el programador, asume que es un experto y que sabe lo que hace.C es un lenguaje estructurado de nivel medio, ni de bajo nivel como ensamblador, ni de alto nivel como Basic y Pascal Esto permite una mayor flexibilidad y potencia, a cambio de menor abstraccin. Es un lenguaje potente y eficiente. Usando C, un programador puede casi alcanzar la eficiencia del cdigo ensamblador junto con la estructura del Algol o Pascal. C es un lenguaje rpido de aprender, que deriva en compiladores sencillos de disear, robustos, y que generan objetos pequeos y eficientes. Estas y otras caractersticas lo hacen adecuado para la programacin en: sistemas estructuras de datos y sistemas de bases de datos aplicaciones cientficas software grfico anlisis numrico compiladores

You might also like