REPÚBLICA BOLIVARIANA DE VENEZUELA
UNIVERSIDAD FERMÍN TORO FACULTAD DE INGENIERÍACABUDARE
ESTADO LARA
LENGUAJE C
Computación Para Ingenieros
Integrantes:
Jose Manuel Montilla C.I. 25.506.534
INTRODUCCIÓN
Luego de la aparición de B y BCPL, en los Laboratorios Bell, Ken Thompson
modeló muchas características sacadas de su lenguaje B, según las
equivalentes en BCPL, con B creó las primeras versiones del sistema operativo
UNIX, durante los 70s, en una computadora DEC PDP-7.
En 1972, Dennis Ritchie, estaba finalizando su proyecto, en los famosos
Laboratorios Bell. "El lenguaje C", una evolución del B, implementado
originalmente en una DEC PDP-11. Al contrario de sus antecesores, C era un
lenguaje con tipos, es decir, que cada elemento de información ocupaba un
'palabra' en memoria y la tarea de tratar cada elemento de datos como número
entero, real, o arreglos, no recaía en el programador.
C era conocido como el lenguaje con el cual se desarrolló el sistema operativo
UNIX, y actualmente la mayoría de los sistemas operativos se codifican en C.
Lo bueno de este lenguaje es que no depende de la arquitectura de hardware.
Es posible escribir código en C, y llevarlos a otras máquinas. Eso lo convirtió en
unos de los lenguajes más portátiles del mercado. A fines de los 70s,
evolucionó lo que conocemos como... 'C de Kernigham y Ritchie', y el libro The
C Programming Languaje que publicó Prentice Hall en 1978 se hizo
impresionantemente famoso.
Destacando 3 puntos:
• ¿Qué es el lenguaje de programación? Un lenguaje de programación es
un lenguaje diseñado para describir el conjunto de acciones consecutivas que
un equipo debe ejecutar.
• Tipos de lenguajes de programación. Lenguaje de alto nivel (Son
aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje
máquina), lenguaje de medio nivel (Dentro de estos lenguajes podría situarse C
ya que puede acceder a los registros del sistema, trabajar con direcciones de
memoria, todas ellas características de lenguajes de bajo nivel y a la vez
realizar operaciones de alto nivel) y lenguaje de bajo nivel (Son lenguajes
totalmente dependientes de la máquina, es decir que el programa que se
realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras
máquinas).
• Historia del lenguaje C. El lenguaje de programación C fue creado por
Dennis Ritchie, fue creado para poder escribir dicho sistema operativo en un
lenguaje de alto nivel, independiente del hardware donde se ejecutara.
EVOLUCION HISTORICA DEL LENGUAJE “C”
A mediados de los años 60s, Martin Richards diseñó el lenguaje BCPL con la
finalidad de usarlo para escribir software de sistemas operativos y
compiladores.
En 1969, Ken Thompson escribió el Lenguaje B, en Bell Laboratories, con el
objetivo de recodificar UNIX (escrito hasta ese momento en lenguaje
ensamblador) usando un lenguaje de alto nivel más portable y flexible.
Durante los siguientes años, Dennis Ritchie modificó el lenguaje B, llegando a
crear el lenguaje C y reescribiendo el sistema UNIX en dicho lenguaje; añadió
características nuevas, como son el diseño de tipos y las estructuras de datos.
En 1978, Dennis Ritchie y Brian Kernighan publicaron la primera edición del
libro El lenguaje de programación C. Este libro fue durante años la
especificación informal del lenguaje. El lenguaje descrito en la primera edición
de este libro, fue conocido como "el C de Kernighan y Ritchie" o simplemente
"K&R C". En este libro se introdujeron nuevas características al lenguaje: los
tipo de datos struct, long int y unsigned int; los operadores =+ y =- fueron
sustituidos por += y -=.
A mediados de los años 80, Bjarne Stroustrup (también de los laboratorios
Bell), crea el lenguaje C++, un lenguaje basado en C, con numerosas
características adicionales, siendo la principal que está orientado a objetos. Si
bien se han creado muchos lenguajes basados en C, C++ es el que ha
permanecido más asociado a C.
En los años siguientes a la publicación del C de Kernighan y Ritchie, se
añadieron al lenguaje muchas características no oficiales, que estaban
presentes en algunos compiladores y no en otros. Fue por ello que en 1989
ANSI (American National Standards Institute) publicó el primer estándar oficial
de C, que es conocido como ANSI C.
En este estándar se tomaron muchas de las funcionalidades no oficiales y se
agregaron funcionalidades nuevas como los prototipos de función, y un
preprocesador mejorado. También se cambió la sintaxis de la declaración de
parámetros de funciones, para que incluyeran el tipo junto con el nombre.
Al año siguiente, en 1990 se publicó la estandarización ISO del lenguaje. Este
estándar es básicamente el estándar ANSI, con unas pocas modificaciones de
formato. A este estándar se lo conoce, entonces, como C89, o C90, y se trata
del mismo lenguaje.
Basándose en el estándar ANSI que estaba en preparación, en 1988 Kernighan
y Ritchie publicaron la segunda edición de su libro, que es aún hoy utilizada
como una de las referencias principales del lenguaje.
Durante los siguientes años, el lenguaje C permaneció sin demasiados
cambios. Sin embargo, como había sucedido antes, los distintos compiladores
fueron incorporando características adicionales, que otros compiladores no
tenían, siendo C++ la principal influencia.
Fue por ello que a finales de los noventa se decidió revisar el estándar de C, lo
que llevó a la publicación del estándar C99. Este estándar incluye varias
nuevas características como son: las funciones inline; la posibilidad de declarar
variables en cualquier parte del código; los comentarios de una sola línea
utilizando //; los tipos de datos long long int, bool y complex, entre otras.
Aún hoy el proceso de evolución del lenguaje sigue avanzando, y desde 2007
se está trabajando en el armado de un nuevo estándar.
CARACTERISTICAS
1.-Tiene un conjunto completo de instrucciones de control.
2.-Permite la agrupación de instrucciones.
3.-Incluye el concepto de puntero (variable que contiene la dirección de otra
variable).
4.-Los argumentos de las funciones se transfieren por su valor.
5.- E/S no forma parte del lenguaje, sino que se proporciona a través de una
biblioteca de funciones.
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.
Gracias a este tipo de programas la tecnología ha podido alcanzar un gran
avance en todos los ámbitos tanto nacionales como internacionales, es por eso
que es necesario que este tipo de lenguaje se aprenda para poder realizar
utilerías capaces de trabajar y apoyar proyectos que ayudarán al manejo mas
sencillo de una empresa ó en particular pequeñas aplicaciones en el hogar.
El Lenguaje C es relativamente sencillo, pero su gran flexibilidad es terreno
abonado para la creación de vicios y prácticas no adecuadas de programación,
por lo cual debe cuidarse la enseñanza de su estilo de programación, técnica y
filosofía de trabajo.
Desventajas:
Al igual que otros lenguajes tiene sus inconvenientes como:
* 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.
La excesiva libertad en la escritura de los programas puede llevar a errores en
la programación que, por ser correctos sintácticamente no se detectan a simple
vista. Por otra parte las precedencias de los operadores convierten a veces las
expresiones en pequeños rompecabezas. A pesar de todo, C ha demostrado
ser un lenguaje extremadamente eficaz y expresivo.
Versiones del Lenguaje C
- El C de Kernighan y Ritchie
- ANSI C e ISO C
- C99
- C11
CONCLUSIONES
El lenguaje de programación nos sirve para describir las acciones seguidas que
un equipo debe de llevar a cabo. Es la forma en la que nosotros, los seres
humanos damos instrucciones a la máquina para realizar ciertas acciones.
Encontramos 3 tipos de lenguaje de programación; el lenguaje de alto nivel, es
aquel que es más cercano a nuestro lenguaje o lenguaje natural; el lenguaje de
medio nivel, es el que, como su nombre lo dice, se encuentra justo en medio
del lenguaje de alto nivel y el lenguaje de bajo nivel, aquí se encuentra el
lenguaje C; y por último, el lenguaje de bajo nivel, es el lenguaje que depende
en su totalidad de la máquina.
"En Lenguaje C, lo fácil es simple y lo difícil posible."

Lenguaje c

  • 1.
    REPÚBLICA BOLIVARIANA DEVENEZUELA UNIVERSIDAD FERMÍN TORO FACULTAD DE INGENIERÍACABUDARE ESTADO LARA LENGUAJE C Computación Para Ingenieros Integrantes: Jose Manuel Montilla C.I. 25.506.534
  • 2.
    INTRODUCCIÓN Luego de laaparición de B y BCPL, en los Laboratorios Bell, Ken Thompson modeló muchas características sacadas de su lenguaje B, según las equivalentes en BCPL, con B creó las primeras versiones del sistema operativo UNIX, durante los 70s, en una computadora DEC PDP-7. En 1972, Dennis Ritchie, estaba finalizando su proyecto, en los famosos Laboratorios Bell. "El lenguaje C", una evolución del B, implementado originalmente en una DEC PDP-11. Al contrario de sus antecesores, C era un lenguaje con tipos, es decir, que cada elemento de información ocupaba un 'palabra' en memoria y la tarea de tratar cada elemento de datos como número entero, real, o arreglos, no recaía en el programador. C era conocido como el lenguaje con el cual se desarrolló el sistema operativo UNIX, y actualmente la mayoría de los sistemas operativos se codifican en C. Lo bueno de este lenguaje es que no depende de la arquitectura de hardware. Es posible escribir código en C, y llevarlos a otras máquinas. Eso lo convirtió en unos de los lenguajes más portátiles del mercado. A fines de los 70s, evolucionó lo que conocemos como... 'C de Kernigham y Ritchie', y el libro The C Programming Languaje que publicó Prentice Hall en 1978 se hizo impresionantemente famoso. Destacando 3 puntos: • ¿Qué es el lenguaje de programación? Un lenguaje de programación es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. • Tipos de lenguajes de programación. Lenguaje de alto nivel (Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina), lenguaje de medio nivel (Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel) y lenguaje de bajo nivel (Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras máquinas). • Historia del lenguaje C. El lenguaje de programación C fue creado por Dennis Ritchie, fue creado para poder escribir dicho sistema operativo en un lenguaje de alto nivel, independiente del hardware donde se ejecutara.
  • 3.
    EVOLUCION HISTORICA DELLENGUAJE “C” A mediados de los años 60s, Martin Richards diseñó el lenguaje BCPL con la finalidad de usarlo para escribir software de sistemas operativos y compiladores. En 1969, Ken Thompson escribió el Lenguaje B, en Bell Laboratories, con el objetivo de recodificar UNIX (escrito hasta ese momento en lenguaje ensamblador) usando un lenguaje de alto nivel más portable y flexible. Durante los siguientes años, Dennis Ritchie modificó el lenguaje B, llegando a crear el lenguaje C y reescribiendo el sistema UNIX en dicho lenguaje; añadió características nuevas, como son el diseño de tipos y las estructuras de datos. En 1978, Dennis Ritchie y Brian Kernighan publicaron la primera edición del libro El lenguaje de programación C. Este libro fue durante años la especificación informal del lenguaje. El lenguaje descrito en la primera edición de este libro, fue conocido como "el C de Kernighan y Ritchie" o simplemente "K&R C". En este libro se introdujeron nuevas características al lenguaje: los tipo de datos struct, long int y unsigned int; los operadores =+ y =- fueron sustituidos por += y -=. A mediados de los años 80, Bjarne Stroustrup (también de los laboratorios Bell), crea el lenguaje C++, un lenguaje basado en C, con numerosas características adicionales, siendo la principal que está orientado a objetos. Si bien se han creado muchos lenguajes basados en C, C++ es el que ha permanecido más asociado a C. En los años siguientes a la publicación del C de Kernighan y Ritchie, se añadieron al lenguaje muchas características no oficiales, que estaban presentes en algunos compiladores y no en otros. Fue por ello que en 1989 ANSI (American National Standards Institute) publicó el primer estándar oficial de C, que es conocido como ANSI C. En este estándar se tomaron muchas de las funcionalidades no oficiales y se agregaron funcionalidades nuevas como los prototipos de función, y un preprocesador mejorado. También se cambió la sintaxis de la declaración de parámetros de funciones, para que incluyeran el tipo junto con el nombre. Al año siguiente, en 1990 se publicó la estandarización ISO del lenguaje. Este estándar es básicamente el estándar ANSI, con unas pocas modificaciones de formato. A este estándar se lo conoce, entonces, como C89, o C90, y se trata del mismo lenguaje. Basándose en el estándar ANSI que estaba en preparación, en 1988 Kernighan y Ritchie publicaron la segunda edición de su libro, que es aún hoy utilizada como una de las referencias principales del lenguaje.
  • 4.
    Durante los siguientesaños, el lenguaje C permaneció sin demasiados cambios. Sin embargo, como había sucedido antes, los distintos compiladores fueron incorporando características adicionales, que otros compiladores no tenían, siendo C++ la principal influencia. Fue por ello que a finales de los noventa se decidió revisar el estándar de C, lo que llevó a la publicación del estándar C99. Este estándar incluye varias nuevas características como son: las funciones inline; la posibilidad de declarar variables en cualquier parte del código; los comentarios de una sola línea utilizando //; los tipos de datos long long int, bool y complex, entre otras. Aún hoy el proceso de evolución del lenguaje sigue avanzando, y desde 2007 se está trabajando en el armado de un nuevo estándar. CARACTERISTICAS 1.-Tiene un conjunto completo de instrucciones de control. 2.-Permite la agrupación de instrucciones. 3.-Incluye el concepto de puntero (variable que contiene la dirección de otra variable). 4.-Los argumentos de las funciones se transfieren por su valor. 5.- E/S no forma parte del lenguaje, sino que se proporciona a través de una biblioteca de funciones. 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.
  • 5.
    * Usa unlenguaje 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. Gracias a este tipo de programas la tecnología ha podido alcanzar un gran avance en todos los ámbitos tanto nacionales como internacionales, es por eso que es necesario que este tipo de lenguaje se aprenda para poder realizar utilerías capaces de trabajar y apoyar proyectos que ayudarán al manejo mas sencillo de una empresa ó en particular pequeñas aplicaciones en el hogar. El Lenguaje C es relativamente sencillo, pero su gran flexibilidad es terreno abonado para la creación de vicios y prácticas no adecuadas de programación, por lo cual debe cuidarse la enseñanza de su estilo de programación, técnica y filosofía de trabajo.
  • 6.
    Desventajas: Al igual queotros lenguajes tiene sus inconvenientes como: * 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. La excesiva libertad en la escritura de los programas puede llevar a errores en la programación que, por ser correctos sintácticamente no se detectan a simple vista. Por otra parte las precedencias de los operadores convierten a veces las expresiones en pequeños rompecabezas. A pesar de todo, C ha demostrado ser un lenguaje extremadamente eficaz y expresivo.
  • 7.
    Versiones del LenguajeC - El C de Kernighan y Ritchie - ANSI C e ISO C - C99 - C11 CONCLUSIONES El lenguaje de programación nos sirve para describir las acciones seguidas que un equipo debe de llevar a cabo. Es la forma en la que nosotros, los seres humanos damos instrucciones a la máquina para realizar ciertas acciones. Encontramos 3 tipos de lenguaje de programación; el lenguaje de alto nivel, es aquel que es más cercano a nuestro lenguaje o lenguaje natural; el lenguaje de medio nivel, es el que, como su nombre lo dice, se encuentra justo en medio del lenguaje de alto nivel y el lenguaje de bajo nivel, aquí se encuentra el lenguaje C; y por último, el lenguaje de bajo nivel, es el lenguaje que depende en su totalidad de la máquina. "En Lenguaje C, lo fácil es simple y lo difícil posible."