Está en la página 1de 5

Modulo 1.

Introduccin a los lenguajes de programacin

La solucin de problemas mediante en uso de un computador nos lleva a desarrollar


programas o aplicaciones, la construccin de estos programas debe ser realizada mediante
una metodologa, los pasos para la construccin de programas son:

1. Disear el algoritmo, consiste en analizar el problema y describir los instrucciones de


forma ordenada que resuelven el problema.
2. Codificar de forma sistemtica la secuencia de instrucciones en un lenguaje.
3. Ejecutar y validar el programa en un computador (verificacin)

Para codificar de forma sistemtica un algoritmo se necesita de un lenguaje


programacin que la computadora comprenda.

1. Historia:
Charles Babbage, profesor de matemticas en la universidad de Cambridge en los aos de
1828 a 1839. Puede ser considerado como el padre de las computadores, entre 1833 y
1842 Babbage intento construir una maquina que fuese programable, esta maquina lleva por
nombre la maquina Analtica.
El diseo se basaba en una mquina 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, matemtica; colaboro
con Babbage econmicamente y promovi activamente la maquina analtica de Babbage.
Lady Ada Lovelace escribi
programas para la maquina analtica, estas primeras
instrucciones hacen de Ada Lovelace la primera programadora de computadoras en el
mundo.

2. Qu es un lenguaje de programacin?
Un lenguaje de programacin es una tcnica estndar de comunicacin que permite
expresar las instrucciones que han de ser ejecutadas en una computadora. [1]
Estas instrucciones permiten la construccin de programas con los cuales podemos
realizar operacin de entrada y salida, almacenamiento, clculos y lgica de comparacin.
Un lenguaje de programacin permite a un programador especificar de manera precisa: sobre
qu datos una computadora debe operar, cmo deben ser estos almacenados y transmitidos y
qu acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a travs de
un lenguaje que intenta estar relativamente prximo al lenguaje humano o natural, tal
como sucede con el lenguaje Lxico. [1]

3. Clasificacin de los lenguajes de programacin.


Los lenguajes de programacin son clasificados de muchas formas, dentro de estas se
encuentran:
3.1. Clasificacin segn nivel de abstraccin.
Los lenguajes de bajo nivel:
Son lenguajes de programacin que se acercan al funcionamiento de una computadora.
El lenguaje de ms bajo nivel es, por excelencia, el cdigo mquina. 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 programacin que son considerados por algunos expertos como
lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas caractersticas que
los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades
que lo hacen un lenguaje ms cercano al humano y, por tanto, de alto nivel. [1]
Lenguajes de alto nivel:
Los lenguajes de alto nivel son normalmente fciles de aprender porque estn formados por
elementos de lenguajes naturales, como el ingls.
En BASIC, el lenguaje de alto nivel ms 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 rgida y sistemtica. [1]

3.2. Clasificacin segn su paradigma


Paradigma Imperativo:
Describe la programacin como una secuencia instrucciones o comandos que cambian el
estado de un programa. El cdigo mquina 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. [2]
Paradigma Declarativo:
No se basa en el cmo se hace algo (cmo se logra un objetivo paso a paso), sino que describe
(declara) cmo es algo. En otras palabras, se enfoca en describir las propiedades de la
solucin buscada, dejando indeterminado el algoritmo (conjunto de instrucciones) usado
para encontrar esa solucin. Es ms complicado de implementar que el paradigma
imperativo, tiene desventajas en la eficiencia, pero ventajas en la solucin de determinados
problemas. [2]
Paradigma Estructurado:
La programacin estructurada se basa en una metodologa de desarrollo de programas
llamada refinamientos sucesivos: Se plantea una operacin como un todo y se divide en
segmentos ms 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 programacin estructurada, esta
integracin debe ser sencilla y no presentar problemas al integrar la misma, y de
presentar algn problema, ser rpidamente detectable para su correccin.
La representacin grafica de la programacin estructurada se realiza a travs de diagramas
de flujo o flow chart, el cual representa el programa con sus entradas, procesos y salidas.
La programacin estructurada propone segregar los procesos en estructuras lo ms
simple posibles, las cuales se conocen como secuencia, seleccin e interaccin. Ellas
estn disponibles en todos los lenguajes modernos de programacin imperativa en forma
de sentencias. Combinando esquemas sencillos se pueden llegar a construir sistemas amplios y
complejos pero de fcil entendimiento. [3]
Paradigma Orientado a Objetos:
La programacin orientada a objetos, intenta simular el mundo real a travs del
significado de objetos que contiene caractersticas y funciones. Los lenguajes orientados
a objetos se clasifican como lenguajes de quinta generacin. [4]
En la Programacin Orientada a Objetos (POO u OOP segn siglas en ingls) se definen
los programas en trminos de "clases de objetos", objetos que son entidades que
combinan estado (es decir, datos) comportamiento (esto es, procedimientos o mtodos)
e identidad (propiedad del objeto que lo diferencia del resto). La programacin orientada
a objetos expresa un programa como un conjunto de estos objetos, que colaboran entre

ellos para realizar tareas. Esto permite hacer los programas mdulos ms fciles de
escribir, mantener y reutilizar. [1]
Paradigma Funcional:
Este paradigma concibe a la computacin como la evaluacin de funciones matemticas
y evita declarar y cambiar datos. En otras palabras, hace hincapi en la aplicacin de las
funciones y composicin entre ellas, ms que en los cambios de estados y la ejecucin
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. [2]
Paradigma lgico:
Se basa en la definicin de reglas lgicas para luego, a travs de un motor de
inferencias lgicas, responder preguntas planteadas al sistema y as resolver los problemas. Ej.:
prolog. [2]

3.3. Segn la forma de ejecucin


Lenguajes compilados:
Naturalmente, un programa que se escribe en un lenguaje de alto nivel tambin tiene que
traducirse a un cdigo que pueda utilizar la mquina.
Los programas traductores que pueden realizar esta operacin se llaman compiladores. stos,
como los programas ensambladores avanzados, pueden generar muchas lneas de cdigo
de mquina por cada proposicin del programa fuente. Se requiere una corrida de
compilacin antes de procesar los datos de un problema.
Los compiladores son aquellos cuya funcin es traducir un programa escrito en un
determinado lenguaje a un idioma que la computadora entienda (lenguaje mquina con
cdigo 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 cdigo.
Lenguajes interpretados:
Se puede tambin 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 cdigo objeto que se produce durante la corrida de compilacin para
utilizarlo en una corrida de produccin futura, el programador slo carga el programa
fuente en la computadora junto con los datos que se van a procesar. A continuacin, un
programa intrprete, almacenado en el sistema operativo del disco, o incluido de manera
permanente dentro de la mquina, convierte cada proposicin del programa fuente en

lenguaje de mquina conforme vaya siendo necesario durante el proceso de los datos. No se
graba el cdigo objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instruccin, se le debe interpretar otra vez y traducir
a lenguaje mquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un
ciclo, cada instruccin del ciclo tendr que volver a ser interpretado cada vez que se
ejecute el ciclo, lo cual hace que el programa sea ms lento en tiempo de ejecucin
(porque se va revisando el cdigo en tiempo de ejecucin) pero ms rpido en tiempo
de diseo (porque no se tiene que estar compilando a cada momento el cdigo completo).
El intrprete elimina la necesidad de realizar una corrida de compilacin despus de cada
modificacin del programa cuando se quiere agregar funciones o corregir errores; pero es
obvio que un programa objeto compilado con antelacin deber ejecutarse con mucha
mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de
produccin. [1]

FUENTES:
[1] http://es.wikipedia.org/wiki/Lenguaje_de_programacin
[2] http://www.alegsaonline.com/art/13.php
[3] http://lenguajes-de-programacion.com/programacion-estructurada.shtml
[4] http://lenguajes-de-programacion.com/programacion-orientada-a-objetos.shtml

También podría gustarte