Está en la página 1de 6

Mdulo 1.

Introduccin a los lenguajes de programacin


Objetivo
Definir qu es un lenguaje de programacin e identificar cmo es su forma de clasificacin.

Introduccin a los lenguajes de programacin


La solucin de problemas de la vida cotidiana mediante el uso o apoyo de un computador, nos lleva a desarrollar software, proceso conocido tambin como desarrollo de aplicaciones, desarrollo de programas, entre otros. La construccin de estos programas se lleva a cabo mediante diferentes metodologas, los pasos comnmente utilizados en las diferentes metodologas son: Paso 1. Anlisis: consiste en comprender el problema que se desea solucionar, su contexto y sobre todo los lmites de posibles soluciones.

Paso 2. Diseo: consiste en describir de forma ordenada las posibles soluciones y/o instrucciones de que resuelven el problema.

Paso 3. Codificacin: es trasladar de forma sistemtica la secuencia de instrucciones en un lenguaje para computador.

Paso 4. Ejecucin y validacin: es la hora de la verdad; se ejecuta el programa y se valida que s corresponda con la solucin al problema planteado, es la verificacin a la solucin y condiciones establecidas en el anlisis. Para codificar de forma sistemtica un algoritmo se necesita un conjunto de instrucciones que el computador comprenda, este conjunto de instrucciones es conocido con el nombre de LENGUAJE PROGRAMACIN.

Historia

Charles Babbage, profesor de matemticas en la universidad de Cambridge en los aos de


1828 a 1839, es considerado como el padre de los computadores. Entre 1833 y 1842, Babbage intent construir una maquina que fuese programable, esta mquina llevaba como nombre la Mquina 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
Tcnicas de Programacin Carlos Alejandro Escobar M. Fecha ltima actualizacin: 23 de julio de 2011

de datos, as como posibilidades de control paso a paso, la secuencia de instrucciones usaba tarjetas perforadas.

Ada Augusta Byron (Lady Ada Lovelace),

Condesa de Lovelace y matemtica;

colabor con Babbage econmicamente y promovi activamente la mquina analtica de Babbage. Lady Ada Lovelace escribi programas para la maquina analtica . Estas primeras instrucciones hacen de Ada Lovelace la primera programadora de computadores en el mundo.

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 un computador. [1] Estas instrucciones permiten la construccin de programas con los cuales podemos realizar operaciones 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 un computador 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] Recuerda los pasos del desarrollo de software:

Clasificacin de los lenguajes de programacin.


Los lenguajes de programacin son clasificados de muchas formas, dentro de estas se encuentran: Clasificacin segn nivel de abstraccin. Lenguajes de bajo nivel:

Anlisis, Diseo, Codificacin, Ejecucin y Validacin

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 un ensamblador, se trabaja con los registros de memoria del computador 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:

Tcnicas de Programacin Carlos Alejandro Escobar M. Fecha ltima actualizacin: 23 de julio de 2011

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 los computadores parecen comprender un lenguaje natural, lo hacen en realidad de una forma rgida y sistemtica. [1] 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: Inic io 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]
3

Fin

Tcnicas de Programacin Carlos Alejandro Escobar M. Fecha ltima actualizacin: 23 de julio de 2011

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 , por sus 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 s 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). Tambien permite resolver ciertos problemas de forma elegante y los lenguajes puramente funcionales evitan los efectos secundarios comunes en otros tipos 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] 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 el computador 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.

Tcnicas de Programacin Carlos Alejandro Escobar M. Fecha ltima actualizacin: 23 de julio de 2011

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 mismo tendr que volver a ser interpretada cada vez que ste se ejecute , 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] Recuerda las diferentes clasificaciones de los lenguajes de programacin : Los lenguajes de bajo nivel Lenguajes de medio nivel Lenguajes de alto nivel Paradigma Imperativo Paradigma Declarativo Paradigma Estructurado Paradigma Orientado a Objetos Paradigma Funcional Paradigma lgico Lenguajes compilados Lenguajes interpretados

Tcnicas de Programacin Carlos Alejandro Escobar M. Fecha ltima actualizacin: 23 de julio de 2011

REFERENCIAS
[1] http://es.wikipedia.org/wiki/Lenguaje_de_programacion [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

Tcnicas de Programacin Carlos Alejandro Escobar M. Fecha ltima actualizacin: 23 de julio de 2011