Asignatura Programación I

Anuncio
Programador Universitario
Facultad de Ciencias Exactas y Tecnología – U.N.T.
Asignatura Programación I
Apuntes de clase
Lenguajes de programación
Lenguaje de máquina, lenguajes ensambladores y lenguajes de alto nivel
Los programadores escriben sus programas en distintos lenguajes de programación, algunos
comprensibles en forma directa por la computadora y otros que requieren pasos intermedios de
traducción. Este aspecto permite establecer la siguiente clasificación de los lenguajes:
Lenguajes de máquina
Lenguajes ensambladores
Lenguajes de alto nivel
El lenguaje natural de las computadoras es el lenguaje de máquina y es el más básico. Los lenguajes
de máquina consisten en cadenas o filas de 0 y 1 que le indican a la computadora que ejecute sus
operaciones básicas. Los lenguajes de máquina son definidos por el diseño del hardware. Estos son
dependientes de la máquina, es decir, un lenguaje de máquina particular sólo puede ser usado en un
tipo de computadora y son difíciles de interpretar por las personas. En otras palabras, el lenguaje de
máquina para una Macintosh no es el mismo que para una PC, puesto que ellas tienen arquitecturas
diferentes.
Posteriormente se crearon los lenguajes ensambladores. Programar con cadenas de números era
una tarea lenta y desagradable. Los programadores empezaron a usar abreviaturas similares al
inglés para representar las operaciones elementales de la computadora, por ejemplo: LOAD, ADD,
STORE. Los programadores escribían sus programas fuentes con tales comandos, pero los mismos
no eran interpretados por la computadora. Los investigadores desarrollaron programas de traducción
llamados ensambladores para lograr la conversión o traducción. Los lenguajes ensambladores aún
son complejos y secretos, pero leer un programa escrito en código ensamblador es más rápido que
leer un programa escrito en lenguaje de máquina.
Estos lenguajes ensambladores ayudaron al programador, pero no le resolvieron todos sus
problemas. Todavía eran necesario escribir muchas instrucciones para llevar a cabo tareas sencillas.
La creciente popularidad de las computadoras se vio acompañada del desarrollo de lenguajes de alto
|nivel, en los cuales se podían escribir simples enunciados para llevar a cabo tareas importantes.
Los programas de traducción que convierten los programas de lenguaje de alto nivel a lenguaje
máquina se llaman compiladores. Los lenguajes de alto nivel le permiten a los programadores escribir
instrucciones en inglés con notaciones matemáticas.
Estos lenguajes son llamados de alto nivel porque su sintaxis es más cercana al lenguaje humano.
Usan palabras familiares y para expresar las operaciones de la computadora, estos lenguajes usan
operadores, como los símbolos mas y menos, que son familiares a toda persona instruida. Como
resultado, es más fácil leer, escribir, comprender programas escrito en código de alto nivel , a pesar
que las instrucciones deban ser traducidas al lenguaje máquina antes que la computadora pueda
interpretarlas y llevarlas a cabo.
El lenguaje C
En la década de los 90, C era el lenguaje programación por excelencia. Los programadores escribían
programas en C, tanto para las PC como para los mainframes. C estaba normalizado de modo que
un mismo programa podía ejecutarse en todo tipo de computadora y con cualquier sistema operativo
existente.
Hoy a disminuído el uso del C. Los desarrollos importantes se están haciendo en lenguajes tales
como C++ o Java que fue desarrollado para Internet. A pesar ello, he considerado que es imperativo
aprender a dominar C antes de aprender otros lenguajes. Se asume que el C es el lenguaje base
de muchos de los lenguajes empleados hoy en día. C++ y Java están basados en C, el cual es màs
fácil de aprender por las herramientos y procedimientos adicionales que incluye.
María Eugenia Marquetti de Vallvé
Página 1 de 2
Agosto de 2005
Programador Universitario
Facultad de Ciencias Exactas y Tecnología – U.N.T.
Esto constituye la razón pedagógica para que C sea el lenguaje elegido para iniciar el proceso de
formación de principiantes.
Dado el crecimiento desmedido de Internet, hoy en día aparecen a diario nuevos lenguajes que
satisfacen los requerimientos planteados por el procesamiento de material de Internet. Las empresas
buscan programadores para estos lenguaje nuevos, pero también exigen que el programador tenga
fluidez y dominio del lenguaje C, porque ello le asegura que podrá dominar con rapidez estos
lenguajes afines.
Como dice un autor (Greg Perry) “C es fundamental...”
Un poco de historia
El lenguaje se creó a inicios de la década de los 70. Los autores del lenguaje son Brian Kernighan y
Dennis Ritchie. El lenguaje C fue derivado del lenguaje B en los Laboratorios Bell. Posteriormente, se
escribió el sistema operativo UNIX, totalmente en código C. UNIX fue el primer sistema operativo
escrito totalmente en un lenguaje de alto nivel. Los anteriores estaban escritos en lenguaje
ensamblador, de bajo nivel.
C : lenguaje de propósito general, “ lenguaje de programación de sistemas”.
C : no está especializado en ninguna área en particula
El lenguaje C fue evolucionando de manera tal que está disponible en casi todas las computadoras.
C es independiente del hardware. Los programas escritos en código C son fácilmente transportables
hacia otras computadoras.
En la década de los 80, la creciente popularidad del C trajo muchas variantes del mismo lenguaje,
todas eran similares pero no eran compatibles entre ellas. Esto era un inconveniente serio para los
programadores que desarrollaban sistemas que pudieran funcionar en distintas plataformas. Era
necesario crear una versión estandarizada o normalizada del lenguaje. A mediados de los 80, un
comité técnicos, el Comité ANSI (American National Estándar Institute) Instituto Nacional Americano
de Estándares, estandariza la versión del lenguaje y surge así el estándar ANSI C.
Los procesos de edición y compilación
Para darle instrucciones en código C a una computadora necesitamos de un editor y un compilador.
Un editor es casi como un procesador de palabras, permite ingresar el código original del programa
que se llama código fuente. También permite que se lo pueda almacenar en memoria y en disco,
corregirlo mediante opciones tales como mover, copiar, insertar texto, borrar.
Luego habrá que usar un compilador, que será el encargado de traducir las instrucciones escritas en
lenguaje C a código que pueda ser interpretado por al computadora. Estos dos elementos : editor y
compilador están presentes en todos los Entornos Integrados de Desarrollo (IDE). El programador
debe conocer previamente como compilar sus programas en ese entorno específico de
programación, lo cual es más simple que aprender a programar en código C.
Dada la situación actual del lenguaje, puede ser difícil encontrar un compilador C. En general, el
compilador C está incluido en los compiladores de C++, ya que éste último está basado en C y se
diferencia porque usa una técnica llamada programación orientada a objetos (OOP). Por lo tanto , un
compilador como el Visual C++ o el Borland C++ reconocerá el código fuente escrito en C , bastará
configurarlo de manera adecuada.
Todos los programas escritos en código C se almacenan en archivos cuya extensión es C. Si usa un
compilador de C++, la extensión será CPP. Solo después de escribir ,
compilar y corregir su
programa en C podrá ejecutarlos y disponer de los resultados esperados.
Antes de ser ejecutado el programa debe pasar por una última etapa que se denomina vinculación
(linking). El objetivo de esta etapa es determinar las direcciones de memoria asignadas a las
variables y el código, también establecer los nexos o vínculos necesarios para que el programa
pueda interactuar con los módulos , que podrán ser otros programas.
María Eugenia Marquetti de Vallvé
Página 2 de 2
Agosto de 2005
Descargar