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