C (lenguaje de programación)


C ( / s i / , como en la letra c ) es una de propósito general , de procedimiento ordenador lenguaje de programación de soporte de programación estructurado , alcance variable de léxico , y la recursión , con un sistema de tipo estático . Por diseño, C proporciona construcciones que se asignan de manera eficiente a las instrucciones típicas de la máquina . Ha encontrado un uso duradero en aplicaciones previamente codificadas en lenguaje ensamblador . Dichas aplicaciones incluyen sistemas operativos y varios software de aplicación.para arquitecturas informáticas que van desde supercomputadoras hasta PLC y sistemas integrados .

Un sucesor del lenguaje de programación B , C fue desarrollado originalmente en Bell Labs por Dennis Ritchie entre 1972 y 1973 para construir utilidades que se ejecutan en Unix . Se aplicó para volver a implementar el kernel del sistema operativo Unix. [6] Durante la década de 1980, C ganó popularidad gradualmente. Se ha convertido en uno de los lenguajes de programación más utilizados , [7] [8] con compiladores C de varios proveedores disponibles para la mayoría de las arquitecturas y sistemas operativos existentes. C ha sido estandarizado por ANSI desde 1989 ( ANSI C ) y por elOrganización Internacional de Normalización (ISO).

C es un lenguaje procedimental imperativo . Fue diseñado para ser compilado para proporcionar acceso de bajo nivel a construcciones de memoria y lenguaje que se asignan de manera eficiente a las instrucciones de la máquina , todo con un soporte mínimo de tiempo de ejecución . A pesar de sus capacidades de bajo nivel, el lenguaje fue diseñado para fomentar la programación multiplataforma. Un programa C compatible con los estándares escrito teniendo en cuenta la portabilidad se puede compilar para una amplia variedad de plataformas informáticas y sistemas operativos con pocos cambios en su código fuente. [9]

Desde 2000, C se ha clasificado constantemente entre los dos principales lenguajes en el índice TIOBE , una medida de la popularidad de los lenguajes de programación. [10]

Como la mayoría de los lenguajes de procedimiento en la tradición ALGOL , C tiene facilidades para la programación estructurada y permite el alcance y la recursividad de variables léxicas . Su sistema de tipo estático evita operaciones no deseadas. En C, todo el código ejecutable está contenido en subrutinas (también llamadas "funciones", aunque no estrictamente en el sentido de programación funcional ). Los parámetros de función siempre se pasan por valor (excepto matrices ). El paso por referencia se simula en C pasando explícitamente valores de puntero . El texto fuente del programa C es de formato libre , usando el punto y comacomo terminador de declaraciones y llaves para agrupar bloques de declaraciones .

Si bien C no incluye ciertas características que se encuentran en otros lenguajes (como la orientación a objetos y la recolección de basura ), estas se pueden implementar o emular, a menudo mediante el uso de bibliotecas externas (por ejemplo, GLib Object System o el recolector de basura Boehm ).


Dennis Ritchie (derecha), el inventor del lenguaje de programación C, con Ken Thompson
La portada del libro The C Programming Language , primera edición, de Brian Kernighan y Dennis Ritchie
"¡Hola Mundo!" programa de Brian Kernighan (1978)
El lenguaje de programación C
El gráfico de índice TIOBE , que muestra una comparación de la popularidad de varios lenguajes de programación [40]