MARIA GUADALUPE GARCIA TURRUBIATES
4°A INFORMATICA
INTRODUCCION A LOS LENGUAJES DE
PROGRAMACION
La solución de problemas mediante el uso de un computador nos lleva a
desarrollar programas o aplicaciones, la construcción de estos programas debe
ser realizada mediante una metodología, los pasos para la construcción de
programas son:
1. Diseñar el algoritmo, consiste en analizar el problema y describir los
instrucciones de forma ordenada que resuelven el problema.
2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.
3. Ejecutar y validar el programa en un computador (verificación)
Para codificar de forma sistemática un algoritmo se necesita de un lenguaje
programación que la computadora comprenda.
1. Historia:
Charles Babbage, profesor de matemáticas en la universidad de Cambridge en los
años de 1828 a 1839. Puede ser considerado como el padre de las computadores,
entre 1833 y 1842 Babbage intento construir una máquina que fuese programable,
esta máquina lleva por nombre la maquina Analítica.
El diseño se basaba en una máquina calculadora, controlada por una secuencia
de instrucciones, con una unidad de proceso, una memoria central, facilidades de
entrada y salida de datos, y posibilidades de control paso a paso, la secuencia de
instrucciones usaba tarjetas perforadas
Ada Augusta Byron (Lady Ada Lovelace), Condesa de Lovelace, matemática;
colaboro con Babbage económicamente y promovió activamente la maquina
analítica de Babbage.
Lady Ada Lovelace escribió programas para la maquina analítica, estas primeras
instrucciones hacen de Ada Lovelace la primera programadora de computadoras
en el mundo.
MARIA GUADALUPE GARCIA TURRUBIATES
4°A INFORMATICA
2. ¿Qué es un lenguaje de programación?
Un lenguaje de programación es una técnica estándar de comunicación que
permite expresar las instrucciones que han de ser ejecutadas en una
computadora.
Estas instrucciones permiten la construcción de programas con los cuales
podemos realizar operación de entrada y salida, almacenamiento, cálculos y lógica
de comparación.
Un lenguaje de programación permite a un programador especificar de manera
precisa: sobre qué datos una computadora debe operar, cómo deben ser estos
almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de
circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente
próximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico.
3. Clasificación de los lenguajes de
programación.
Los lenguajes de programación son clasificados de muchas formas, dentro de
estas se encuentran:
3.1. Clasificación según nivel de abstracción.
• Los lenguajes de bajo nivel:
Son lenguajes de programación que se acercan al funcionamiento de una
computadora. El lenguaje de más bajo nivel es, por excelencia, el código máquina.
A éste le sigue el lenguaje ensamblador, ya que al programar en ensamblador se
trabajan con los registros de memoria de la computadora de forma directa. [1]
• Lenguajes de medio nivel:
Hay lenguajes de programación que son considerados por algunos expertos como
lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas
características que los acercan a los lenguajes de bajo nivel pero teniendo, al
mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al
humano y, por tanto, de alto nivel.
• Lenguajes de alto nivel:
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están
formados por elementos de lenguajes naturales, como el inglés.
En BASIC, el lenguaje de alto nivel más conocido, los comandos como "IF
CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora
que pare si CONTADOR es igual a 10. Por desgracia para muchas personas esta
forma de trabajar es un poco frustrante, dado que a pesar de que las
computadoras parecen comprender un lenguaje natural, lo hacen en realidad de
una forma rígida y sistemática.
MARIA GUADALUPE GARCIA TURRUBIATES
4°A INFORMATICA
3.2. Clasificación según su paradigma
• Paradigma Imperativo:
Describe la programación como una secuencia instrucciones o comandos que
cambian el estado de un programa. El código máquina en general está basado en
el paradigma imperativo. Su contrario es el paradigma declarativo. En este
paradigma se incluye el paradigma procedimental (procedural) entre otros.
• Paradigma Declarativo:
No se basa en el cómo se hace algo (cómo se logra un objetivo paso a paso), sino
que describe (declara) cómo es algo. En otras palabras, se enfoca en describir las
propiedades de la solución buscada, dejando indeterminado el algoritmo (conjunto
de instrucciones) usado para encontrar esa solución. Es más complicado de
implementar que el paradigma imperativo, tiene desventajas en la eficiencia, pero
ventajas en la solución de determinados problemas.
• Paradigma Estructurado:
La programación estructurada se basa en una metodología de desarrollo de
programas llamada refinamientos sucesivos: Se plantea una operación como un
todo y se divide en segmentos más sencillos o de menor complejidad. Una vez
terminado todos los segmentos del programa, se procede a unificar las
aplicaciones realizadas por el pool de
Programadores. Si se ha utilizado adecuadamente la programación estructurada,
esta integración debe ser sencilla y no presentar problemas al integrar la misma, y
de presentar algún problema, será rápidamente detectable para su corrección.
La representación gráfica de la programación estructurada se realiza a través de
diagramas de flujo o flow chart, el cual representa el programa con sus entradas,
procesos y salidas.
La programación estructurada propone segregar los procesos en estructuras lo
más simple posibles, las cuales se conocen como secuencia, selección e
interacción. Ellas están disponibles en todos los lenguajes modernos de
programación imperativa en forma de sentencias. Combinando esquemas
sencillos se pueden llegar a construir sistemas amplios y complejos pero de fácil
entendimiento.
• Paradigma Orientado a Objetos:
La programación orientada a objetos, intenta simular el mundo real a través del
significado de objetos que contiene características y funciones. Los lenguajes
orientados a objetos se clasifican como lenguajes de quinta generación. [4]
En la Programación Orientada a Objetos (POO u OOP según siglas en inglés) se
definen los programas en términos de "clases de objetos", objetos que son
entidades que combinan estado (es decir, datos) comportamiento (esto es,
procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del
resto). La programación orientada a objetos expresa un programa como un
conjunto de estos objetos, que colaboran entre
MARIA GUADALUPE GARCIA TURRUBIATES
4°A INFORMATICA
Ellos para realizar tareas. Esto permite hacer los programas módulos más fáciles
de escribir, mantener y reutilizar.
• Paradigma Funcional:
Este paradigma concibe a la computación como la evaluación de funciones
matemáticas y evita declarar y cambiar datos. En otras palabras, hace hincapié en
la aplicación de las funciones y composición entre ellas, más que en los cambios
de estados y la ejecución secuencial de comandos (como lo hace el paradigma
procedimental). Permite resolver ciertos problemas de forma elegante y los
lenguajes puramente funcionales evitan los efectos secundarios comunes en otro
tipo de programaciones.
• Paradigma lógico:
Se basa en la definición de reglas lógicas para luego, a través de un motor de
inferencias lógicas, responder preguntas planteadas al sistema y así resolver los
problemas.
3.3. Según la forma de ejecución
• Lenguajes compilados:
Naturalmente, un programa que se escribe en un lenguaje de alto nivel también
tiene que traducirse a un código que pueda utilizar la máquina.
Los programas traductores que pueden realizar esta operación se llaman
compiladores. Éstos, como los programas ensambladores avanzados, pueden
generar muchas líneas de código de máquina por cada proposición del programa
fuente. Se requiere una corrida de compilación antes de procesar los datos de un
problema.
Los compiladores son aquellos cuya función es traducir un programa escrito en un
determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina
con código binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual
Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya
errores, sino hasta que luego de haber compilado el programa, ya no aparecen
errores en el código.
• Lenguajes interpretados:
Se puede también utilizar una alternativa diferente de los compiladores para
traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en
forma permanente el código objeto que se produce durante la corrida de
compilación para utilizarlo en una corrida de producción futura, el programador
sólo carga el programa fuente en la computadora junto con los datos que se van a
procesar. A continuación, un programa intérprete, almacenado en el sistema
operativo del disco, o incluido de manera permanente dentro de la máquina,
convierte cada proposición del programa fuente en
MARIA GUADALUPE GARCIA TURRUBIATES
4°A INFORMATICA
lenguaje de máquina conforme vaya siendo necesario durante el proceso de los
datos. No se graba el código objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y
traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de
los pasos de un ciclo, cada instrucción del ciclo tendrá que volver a ser
interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea
más lento en tiempo de ejecución (porque se va revisando el código en tiempo de
ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar
compilando a cada momento el código completo). El intérprete elimina la
necesidad de realizar una corrida de compilación después de cada modificación
del programa cuando se quiere agregar funciones o corregir errores; pero es obvio
que un programa objeto compilado con antelación deberá ejecutarse con mucha
mayor rapidez que uno que se debe interpretar a cada paso durante una corrida
de producción.