Académique Documents
Professionnel Documents
Culture Documents
1 Informtica E.M.T.I
Ignacio Larrosa Rezk
ndice
Introduccin: ............................................................................................................................... 3
Historia de C: .............................................................................................................................. 4
Qu es el lenguaje C? ........................................................................................................... 4
Creacin:.................................................................................................................................. 4
Por qu decidieron trabajar en un nuevo lenguaje de programacin? ....................... 5
Evolucin .................................................................................................................................. 6
Actualmente ............................................................................................................................ 8
Caractersticas ........................................................................................................................ 8
Desventajas ............................................................................................................................. 9
Los fundamentos del entorno C/C++: ................................................................................ 10
Introduccin .......................................................................................................................... 10
Fases de ejecucin ............................................................................................................... 10
Compiladores y generadores de archivo: ............................................................................. 12
Compiladores de archivos ................................................................................................... 12
Definicin de archivo fuente: ............................................................................................ 12
Definicin de compilador:................................................................................................... 12
Conclusin: ................................................................................................................................ 13
Bibliografa: ............................................................................................................................... 14
Introduccin:
En este trabajo vamos a hablar de la historia de C, los fundamentos de
entorno, los compiladores y generadores de archivo.
Descubriremos la maravilla y la evolucin del lenguaje C que fue creado por el
programador Dennis Rithchie, veremos a travs de este trabajo como
mediante distintas modificaciones y mejoras nos llega hasta hoy como una
importante herramienta.
Veremos tambin los fundamentos del entorno con sus fases de ejecucin y
como surge la necesidad de compilar y generar archivos para facilitar el
enlace de los mismos para generar un programa
Historia de C:
Qu es el lenguaje C?
El lenguaje C es un lenguaje de programacin de nivel medio ya que combina
los elementos del lenguaje de alto nivel con la funcionalidad del ensamblador.
Creacin:
El lenguaje C es una base del lenguaje de programacin anterior, el lenguaje
B, el cual fue desarrollado por Ken Thompson, en los Laboratorios Bell en
1970.
En 1967 Martin Richard cre el lenguaje BCPL (con la finalidad de usarlo para
escribir software de sistemas operativos y compiladores) que fue la base para
la creacin del lenguaje B escrito por Ken Thompson en 1970 con la intencin
de recodificar el UNIX, que en su fase de arranque estaba codificado en
lenguaje ensamblador, ste tena el inconveniente de estar vinculado a
maquinas concretas por lo que se haca necesario un lenguaje que permitiera
al programador no depender de la capa del hardware.
El lenguaje C fue creado por Dennis Ritchie en los mismos laboratorios en
1972; C fue creado con una nica intencin: el diseo del sistema operativo
UNIX.
El lenguaje C inicialmente fue creado para la programacin de:
Sistemas Operativos
Intrpretes
Editores
Ensambladores
Compiladores
Administradores de base de datos
PDP-7
PDP-11
Otra de las versiones es que buscaban crear un sistema que automatizase el
archivo de las patentes de los laboratorios Bell y ya que la versin original de
UNIX se realiz en ensamblador. Se us C para rescribir este sistema
operativo.
Evolucin
En 1978 Dennis Ritchie y Brian Kernighan publicaron la primera edicin del
libro El lenguaje de programacin C. El lenguaje descrito en esta primera
edicin fue conocido como El C de Kernighan y Ritchie.
La novedad que proporcion el lenguaje C sobre el B fue el diseo de tipos y
estructuras de datos. Los tipos estructurados bsicos de C son: las estructuras,
las uniones y los arrays. Estos permiten la definicin y declaracin de tipos de
mayor complejidad.
Los tipos bsicos de datos en el lenguaje C eran CHAR (carcter), INT
(enteros), FLOAT (reales en simple precisin), y DOUBLE (reales en doble
precisin), ms adelante se agregaron otros tipos de datos como SHORT
incluye
nuevas
caractersticas
como:
las
funciones
inline,
las
Actualmente
El lenguaje C se ha utilizado mucho para la programacin de sistemas UNIX,
as como para el desarrollo de sistemas operativos como: Windows o
GNU/Linux y el desarrollo de aplicaciones de escritorio como GIMP tambin
podemos verlo en sistemas empotrados (control de procesos industriales,
ascensores, etc.) o como base de kits de desarrollo de microcontroladores
(abstrayendo al usuario de la programacin en ensamblador)
Actualmente debido a sus caractersticas, el lenguaje C puede ser utilizado
para todo tipo de programas.
Algunas de las versiones existentes son:
Quick C
C++
Turbo C
Turbo C++
Borland C
Borland C++
Microsoft C
Turbo C 2.0
Turbo C ++ 1.0
Borland C++ 2.0
Caractersticas
Algunas caractersticas del lenguaje C:
programador
el
nico
responsable
de
llevar
cabo
esas
comprobaciones.
Facilidad de aprendizaje
Desventajas
lo
improgramable,
igual
que
otros
lenguajes
tiene
sus
inconvenientes:
biblioteca
transportabilidad
de
rutinas,
con
la
consiguiente
prdida
de
Fases de ejecucin
Los programas C casi siempre pasan a travs de seis fases para su ejecucin
(figura 1.1). Estas fases son: editar, procesar, compilar, enlazar, cargar y
ejecutar. Nos estamos concentrando en este momento en el sistema tpico
UNIX, basado en C.
Figura 1.1
Definicin de compilador:
Es un programa que a partir de un archivo fuente, genera otro archivo que
puede ser interpretado, ledo o ejecutado por el sistema operativo. Las
instrucciones que contiene este nuevo archivo pueden ser ejecutadas en el
procesador de la mquina, este archivo que puede de ser ejecutado se
denomina programa.
Cuando tenemos varios archivos fuente que juntos han de formar el programa,
el compilador genera un archivo por cada uno de ellos.
Es necesario un programa auxiliar que enlace o junte estos archivos (que
individualmente no son ningn programa) en uno solo, que ser el programa
final.
A este programa que enlaza los archivos (llamados objeto o intermedios)
generados por el compilador se le denomina linker (o enlazador).
El compilador y el linker son programas que tienen en cuenta el tipo de
procesador y mquina que tenemos, as como el sistema operativo en el que
se va a ejecutar nuestro programa.
Nosotros nos desentendemos, de esta forma, del tipo de procesador que tiene
nuestro ordenador y del sistema operativo.
Son estos programas los que se encargarn de tener en cuenta que tipo de
procesador tenemos.
Simplemente debemos tener un compilador apropiado para l.
Por lo tanto, podemos escribir el cdigo fuente de un programa en el lenguaje
que nos interese y hacerlo correr en diferentes tipos de mquina con
procesadores diferentes o con diferentes sistemas operativos, lo nico que
deberemos hacer es compilar (y linkar o enlazar si es necesario) nuestra
Conclusin:
La creacin del lenguaje C ha sido un aporte valiossimo, que ha ido
evolucionando y continuara hacindolo como hasta ahora en respuesta a las
necesidades que van surgiendo con los avances de la informtica y la
programacin para facilitar el trabajo y el reducir el tiempo de elaboracin de
un programa.
Bibliografa:
-Enrique Espejo Gonzlez. (1 Febrero 2007). Domina C. Iniciacion. 23
octubre 2015, de Google books Sitio web:
https://books.google.com.uy/books?id=PpGYzPOK5CgC&pg=PA13&lpg
=PA13&dq=compilador+de+archivo&source=bl&ots=BDFlZGF12O&sig=
bKNMwPMm1OXC88lOFLwoV2mXdHM&hl=en&sa=X&ved=0CFwQ6AEwC
GoVChMIp72SuqTeyAIVSNkeCh22KQD6#v=onepage&q&f=false
- Anonimo. (Desconocido). Historia del lenguaje C. 23 octubre 2015,
de Docente.ucol Sitio web:
http://docente.ucol.mx/al999559/public_html/histo_c.htm
- Anonimo. ( 27 ago 2014 ). Programacin en C. 23 octubre 2015, de
Wikilibros Sitio web:
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Historia_de
_C
- JJ Velasco. (11 de octubre de 2011). Historia de la Tecnologa: el
lenguaje de programacin C. 23 octubre 2015, de Hipertextual Sitio
web: http://hipertextual.com/2011/10/historia-de-la-tecnologialenguaje-c
- Paul J. Deitel. (1995). Cmo programar en C/C++. 23 octubre 2015,
de Google books Sitio web:
https://books.google.com.uy/books?id=AkMTbaaCoq0C&pg=PA10&lpg
=PA10&dq=Todos+los+sistemas+C+consisten,+en+general,+de+tres+pa
rtes:+el+entorno,+el+lenguaje+y+la+biblioteca+est%C3%A1ndar+C.+En
+la+siguiente+figura+1.1+se+explica+el+entorno+t%C3%ADpico+de+de
sarrollo+de+C.&source=bl&ots=P8aahMlhdz&sig=uIKE2nVkkLKoskKtUp
Vy5OoRNcU&hl=es&sa=X&ved=0CB0Q6AEwAGoVChMI4JPL1d3eyAIVxu0
eCh0PQQwb#v=onepage&q&f=false