Lenguajes de Programacion

43
CENTRO ESCOLAR INSA Bachillerato Técnico Vocacional En Infraestructura Tecnológica Y Servicios Informáticos LENGUAJES DE PROGRAMACIÓN Grado: TIC-III-A Alumnos : Cárcamo Ramírez, Carlos Manuel; N° 4 Góchez Landaverde, Nelson Humberto; N° 10 Palencia Gil, Karla Marina; N° 18 Modulo: “Soporte a sistemas de información Empresariales (ERP)” Docente: Reinaldo Humaña

description

Programación en lenguajes informáticos

Transcript of Lenguajes de Programacion

Page 1: Lenguajes de Programacion

CENTRO ESCOLAR INSA

Bachillerato Técnico Vocacional En Infraestructura Tecnológica Y Servicios Informáticos

LENGUAJES DE PROGRAMACIÓN

Grado: TIC-III-A

Alumnos : Cárcamo Ramírez, Carlos Manuel; N° 4Góchez Landaverde, Nelson Humberto; N° 10Palencia Gil, Karla Marina; N° 18

Modulo: “Soporte a sistemas de información Empresariales (ERP)”

Docente: Reinaldo Humaña

Fecha De Entrega: Jueves 18 de Septiembre del 2014

Page 2: Lenguajes de Programacion

Lenguajes de Programación

INDICE Contenido Página

1. Introducción………………….…………………………….…………………………………..…….….2/3

2. Justificación …………………………………………………….………...…………………………………4

3. Objetivos y Metas…..……………………………………….…………………………………………….5

4. Lenguajes de Programación……………………………………………………………………..6/27

5. Conclusión…………………………………………………………………………………………………..28

6. Bibliografía…………………………………………………………………………………………………..29

7. Anexos…………………………………………………………………………………………………………30

Página 1

Page 3: Lenguajes de Programacion

Lenguajes de Programación

INTRODUCCIÓNLos lenguajes de computadora se utilizan para resolver problemas, y ha habido miles de años de trabajo en matemáticas para este fin. Los lenguajes de programación están especificados por reglas para formar instrucciones correctas, organizándolas en módulos, someterlas hacia un compilador, el cual traduce el código en un lenguaje comprensible para una máquina en particular, y finalmente ejecutar el programa, es decir, someter la entrada hacia la computadora, la cual transforma en una salida de acuerdo con las instrucciones en el programa.

Cuando usamos una computadora, estamos intentado resolver un problema. Puede ser un problema de negocios, que involucra ganancias y pérdidas; un problema científico que emplea modelos de comportamiento físico; una investigación estadística que evalúa la posibilidad de que ocurra algún evento; etc.

En general, una computadora, sólo es capaz de realizar tres operaciones básicas:

Sumar, restar, multiplicar y dividir dos valores numéricos. Comparar dos valores numéricos o alfabéticos (comprobar sin son

iguales, determinar si el primero es mayor que el segundo, si son diferentes, etc.).

Almacenar o recuperar información.

Con estas sencillas operaciones utilizadas y combinadas de manera adecuada, mediante lo que se denomina Programa de computadora, se pueden llegar a realizar tareas increíblemente complejas que aporten la solución a un determinado problema, ya sea administrativo, científico, o de cualquier otro tipo.

Página 2

Page 4: Lenguajes de Programacion

Lenguajes de Programación

Dentro del campo de la computación, un problema consiste en la necesidad de transformar un grupo de datos iniciales (entrada) en un grupo diferente de datos finales (resultados).

De este modo, una computadora podrá resolver un problema si alguien desarrolla un programa que contenga las instrucciones adecuadas que permitan transformar los datos, esta actividad la realizan los Programadores (seres humanos) y se le denomina programación.

La programación ha ido evolucionando constantemente, desde los primeros programas escritos directamente en código maquina (0 y 1) hasta llegar hoy a los lenguajes visuales (intuitivos). Esta evolución se ha producido gracias a la utilización de diversos sistemas y herramientas. El más efectivo es la realización de algoritmos previos, que representan el programa mediante símbolos. Los algoritmos y los programas, son parecidos a una receta de cocina.

Los lenguajes de programación son el medio que permite a los Programadores expresar las instrucciones que la computadora va a realizar mediante la transformación de los algoritmos en una serie de sentencias que siguiendo la sintaxis propia del lenguaje, indica las operaciones que va a realizar.

El estudio de los lenguajes de programación, es llamado a veces lingüística de la programación, por analogía con la lingüística de los lenguajes naturales. La analogía se basa en el hecho en que ambos; lenguajes naturales y lenguajes de programación, poseen sintaxis (forma) y semántica (significado). La analogía no puede tomarse en todo el contexto, Los lenguajes de programación no pueden ser comparados con los lenguajes naturales en términos de su rango de expresividad y subjetividad. Por otro lado, un lenguaje natural no es más ni menos que un grupo de personas que hablan y escriben, así que la lingüística natural está restringida al análisis de los lenguajes existentes; mientras que los lenguajes de programación son concienzudamente diseñados y se pueden implementar en computadoras.

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.

Página 3

Page 5: Lenguajes de Programacion

Lenguajes de Programación

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.

OBJETIVOS Y METASObjetivo de la Investigación

Investigar, identificar y describir cuales son los principales lenguajes de programación, cuáles son sus usos, y describir su importancia dentro de la informática. Analizar cuáles son las principales diferencias en cuanto a sintaxis entre cada uno de ellos. Presentar ejemplos sencillos de programación orientada a objetos. Alcanzar las expectativas del profesor encargado. Conocer los tipos de lenguajes de programación y la clasificación que comúnmente se les da.

Metas de la Investigación

Investigar y describir cuales son los principales lenguajes de programación.

Describir y representar la evolución de los lenguajes de programación a través del tiempo.

Explicar y analizar en qué consiste la programación, detallando sus funciones e importancia en la informática.

Aplicar una crítica objetiva y precisa al papel que desempeña el programador.

Página 4

Page 6: Lenguajes de Programacion

Lenguajes de Programación

Presentar los lenguajes de programación como una solución a los problemas que cotidianos.

Analizar la estructura básica de algunos lenguajes de programación así como la diferencia en cada uno de ellos.

Describir el funcionamiento, instalación y manejo de JAVA.

Mencionar los tipos y clasificación de los lenguajes de programación.

Alcanzar los objetivos planteados anteriormente y los del maestro.

Promover el uso de este documento en el sector estudiantil para facilitar la compresión de la Teoría sobre Lenguajes de Programación.

JUSTIFICACIONLos lenguajes de programación son las herramientas básicas para la creación de programas, constituyéndose en elementos indispensables para que el Programador concrete sus algoritmos en instrucciones que puedan ser interpretados por un computador. En los últimos años han aparecido en el mercado una gran variedad de lenguajes de programación, tanto para micro y minicomputadores, como para grandes sistemas, constituyéndose en herramientas ampliamente utilizadas en entornos muy diversos de máquinas y sistemas operativos.

Teniendo en cuenta lo expuesto, esta investigación pretende proveer al estudiante el conocimiento y la destreza para la escritura y manipulación de programas de acuerdo a las especificaciones realizadas por el profesor. El estudio de los lenguajes de programación requiere a su vez comprender perfectamente los tipos de lenguajes de programación que existen y la clasificación comúnmente aceptada que a éstos se les da.

Esta investigación se justifica en la necesidad que todo programador tiene de diferenciar y clasificar correctamente los tipos de lenguajes de programación, conociendo sus aplicaciones y los beneficios o

Página 5

Page 7: Lenguajes de Programacion

Lenguajes de Programación

desventajas que ofrece cada uno de ellos. Por otra parte se justifica en la necesidad nuestra como bachilleres, pues debemos tener conocimiento de programación por lo menos en un lenguaje, pues esto potencializa las destrezas que cada alumno tiene, logra aplicar, desarrollar y mejorar habilidad mental.

LENGUAJES DE PROGRAMACIÓN

Historia De Los Lenguajes De Programación

Los primeros lenguajes de programación surgieron de la idea de Charles Babagge, la cual se le ocurrió a este hombre a mediados del siglo XIX. Era un profesor matemático de la universidad de Cambridge e inventor inglés, que al principio del siglo XIX predijo muchas de las teorías en que se basan los actuales ordenadores. Consistía en lo que él denominaba la maquina analítica, pero que por motivos técnicos no pudo construirse hasta mediados del siglo XX. Con él colaboro Ada Lovedby, la cual es considerada como la primera programadora de la historia, pues realizo programas para aquélla supuesta máquina de Babagge, en tarjetas perforadas.

Como la maquina no llego nunca a construirse, los programas de Ada, lógicamente, tampoco llegaron a ejecutarse, pero si suponen un punto de partida de la programación, sobre todo si observamos que en cuanto se empezó a programar, los programadores utilizaron las técnicas

Página 6

Page 8: Lenguajes de Programacion

Lenguajes de Programación

diseñadas por Charles Babagge, y Ada, que consistían entre otras, en la programación mediante tarjetas perforadas. A pesar de ello, Ada ha permanecido como la primera programadora de la historia. Se dice por tanto que estos dos genios de antaño, se adelantaron un siglo a su época, lo cual describe la inteligencia de la que se hallaban dotados.

Babagge intento crear la máquina que se pudiera programar con tarjetas perforadas para efectuar cualquier cálculo con una precisión de 20 dígitos. Pero la tecnología de la época no bastaba para hacer realidad sus ideas. Si bien las ideas de Babagge no llegaron a materializarse de forma definitiva, su contribución es decisiva, ya que los ordenadores actuales responden a un esquema análogo al de la máquina analítica. En su diseño, la máquina constaba de cinco unidades básicas:

1) Unidad de entrada, para introducir datos e instrucciones; 2) Memoria, donde se almacenaban datos y resultados intermedios; 3) Unidad de control, para regular la secuencia de ejecución de las operaciones; 4) Unidad Aritmético-Lógica, que efectúa las operaciones; 5) Unidad de salida, encargada de comunicar al exterior los resultados.

Charles Babbage, conocido como el "padre de la informática" no pudo completar en aquella época la construcción del computador que había soñado, dado que faltaba algo fundamental: la electrónica. El camino señalado de Babbage, no fue nunca abandonado y siguiéndolo, se construyeron las primeras computadoras.

¿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.

Se ha visto hasta ahora que los lenguajes de programación son un simbolismo, que nos permite expresar en operaciones elementales (instrucciones) la solución a nuestro problema. El ordenador ejecuta las instrucciones que le hemos suministrado previamente en forma de programa. Pero este programa escrito en un lenguaje determinado

Página 7

Page 9: Lenguajes de Programacion

Lenguajes de Programación

necesita ser traducido a lenguaje máquina que es el comprensible directamente por el ordenador.

Existen abundantes lenguajes que se han especificado y de los que se han escrito traductores; las normas (sintaxis) y palabras que emplean cada uno de ellos las definieron los organismos internacionales, otros los constructores y otros los clientes.

Los manuales son las características del lenguaje y los traductores se suelen adquirir conjuntamente, en los ordenadores grandes al proveedor del equipo y para los microordenadores en las tiendas de informática. Es decir, los lenguajes de programación son aplicaciones específicas que han sido pensadas y diseñadas para crear otras aplicaciones o programas. Los lenguajes de programación se basan en un sistema de instrucciones previamente establecidas que indican al ordenador lo que debe realizar.

Los lenguajes de programación son “lenguas” o “idiomas” ya establecidos, comprensibles tanto por el programador, como por la máquina, que permiten desarrollar los programas. Existen muchos y muy variados, y evolucionan constantemente, tanto en potencia como en facilidad de uso. La mayoría está escrito en Inglés, aunque cada vez son más visuales e intuitivos. Ejemplos: Pascal, Turbo C++, CA-Clipper, Visual Basic, Visual C++, Java, Cobol, C, Fortran, HTML, Prolog, CSMP, SIMAN, Lisp, Lingo, SQL, Delphi, dBase, etc.

Los lenguajes son un código de instrucciones que permiten hacer programas. La Programación de las primeras computadoras (para cambiar un proceso por otro) se efectúa reacomodando cables y conexiones (los programas eran cableados), esto fue evolucionando hasta eliminar lo mecánico y volviendo lógica la programación.

¿Cuáles son sus características? Un lenguaje de programación, digno de su nombre, debe reunir ciertos requisitos.

El lenguaje de programación debe ser universal. Es decir, cualquier problema debe tener una solución que puede ser programada en el lenguaje y dicha solución ser implementada en cualquier computador. Este requisito es uno de los más fuertes y pocos lenguajes lo poseen.

Se dice que cualquier lenguaje en el cual pueden definirse funciones recursivas se considera universal. De otro lado, un lenguaje sin recursión ni iteración no puede ser universal. Existen ciertos lenguajes de aplicación que no son universales, pero sí podrían ser razonablemente descritos así mismos, como lenguajes de programación.

El lenguaje de programación debe ser implementable en una

Página 8

Page 10: Lenguajes de Programacion

Lenguajes de Programación

computadora, es decir; debe ser posible ejecutar un programa en términos del lenguaje en cualquier máquina. La notación matemática generalmente no es implementable porque en su notación es posible formular problemas que no pueden ser resueltos por cualquier computador. Los lenguajes naturales tampoco son implementables por razones totalmente diferentes: ellos son tan imprecisos y tienden a ser muy ambiguos.

SINTAXIS Y SEMÁNTICA Cada lenguaje tiene sintaxis y semántica:

La sintaxis de un lenguaje de programación está relacionada con la forma de los programas, por ejemplo, como es que las expresiones, comandos, declaraciones, etc. son puestos juntos en un programa.

La semántica de un lenguaje de programación está relacionada con el significado de los programas; por ejemplo, cómo ellos se comportarán cuando se ejecutan en una computadora.

La sintaxis de un lenguaje influye en cómo los programas son escritos por el programador, leídos por otro programador y traducidos por el computador. La semántica de un lenguaje determina como los programas son compuestos por el programador, entendidos por otros programadores e interpretados por el computador. La sintaxis es importante; pero la semántica es más importante aún.

Al principio, los lenguajes se diseñaban únicamente para poder ejecutar los programas eficientemente. Los ordenadores, carísimos, eran el recurso crítico, y los programadores eran bastante baratos. Un lenguaje de alto nivel tenía que ser competitivo con la ejecución de un código en ensamblador. A mediados de los años 60, cuando se habían diseñado FORTRAN, COBOL, LISP y ALGOL, John Backus (creador de FORTRAN) se dio cuenta que la programación estaba cambiando. Las máquinas eran menos caras, el coste de la programación estaba aumentando, aparecía la necesidad de mover o migrar los programas de unas estaciones a otras, y surgía la necesidad de llevar un buen mantenimiento de los programas resultantes. El objetivo de un lenguaje de alto nivel se transformó no sólo en ejecutar los programas eficientemente, sino también en facilitar el desarrollo de programas para resolver problemas en determinadas áreas de aplicación.

La tecnología de los ordenadores maduró entre 1960 y 1970 y los lenguajes se centraron en resolver problemas específicos de un dominio. Los programas científicos generalmente se implementaban en FORTRAN, las aplicaciones para los negocios en COBOL, las aplicaciones militares en JOVIAL, las de inteligencia artificial en LISP y las militares internas en

Página 9

Page 11: Lenguajes de Programacion

Lenguajes de Programación

Ada. Al igual que sucede con los lenguajes naturales, los lenguajes de programación a veces dejan de usarse. ALGOL no se utiliza desde los años 60, se reemplazó por Pascal, el cual se reemplazó a su vez por C++ y Java. COBOL, que se utilizaba para las aplicaciones mercantiles, se sustituyó también por C++.

Los primeros lenguajes que todavía se usan tienen revisiones periódicas para reflejar influencias de otras áreas de computación. Lenguajes como Java, C++ y ML reflejan una gran experiencia obtenida en el diseño y uso de los cientos de lenguajes antiguos. Algunas de esas influencias son:

Recursos del ordenador: la evolución de los ordenadores desde los años 50, junto con los modernos sistemas operativos, han influenciado las características de los lenguajes de alto nivel.

Aplicaciones: el uso de los ordenadores se ha extendido rápidamente desde las aplicaciones militares, científicas y de negocios a los juegos, los ordenadores personales, internet y cualquier aplicación cotidiana.

Métodos de programación: el diseño de los lenguajes tiene que reflejar los buenos métodos para implementar programas grandes y complejos.

Estudios teóricos: Gracias a la investigación durante más de 50 años en el diseño e implementación de lenguajes, se conocen los puntos fuertes y débiles de las características de los mismos, por lo que influye en el diseño de los nuevos lenguajes.

Estandarización: cada vez más existe la necesidad de que los programas sean portables de unos sistemas a otros.

Es importante reflexionar sobre el campo de los lenguajes de programación. El estudio general de este campo nos ayuda a:

aprender nuevos lenguajes identificar características conocidas en estos nuevos lenguajes conocer sus posibilidades y sus límites diseñar nuevas características cuando los lenguajes que usamos

no las tienen valorar y apreciar una de las herramientas fundamentales de los

informáticos

¿QUÉ TIPOS DE LENGUAJE DE PROGRAMACIÓN HAY Y PARA QUE SIRVEN?En la actualidad hay más de 100 lenguajes de programación diferentes. No vamos a definir todos los lenguajes de programación que existen porque son muchos pero sí os hablaremos de los más importantes y para qué se utilizan.

Página 10

Page 12: Lenguajes de Programacion

Lenguajes de Programación

LENGUAJES DE MÁQUINA

El lenguaje máquina de una computadora consta de cadenas de números binarios (ceros y unos) y es el único que “entienden” directamente los procesadores. Todas las instrucciones preparadas en cualquier lenguaje de máquina tienen por lo menos dos partes. La primera es el comando u operación, que dice a la computadora cuál es la función que va a realizar. Todas las computadoras tienen un código de operación para cada una de sus funciones. La segunda parte de la instrucción es el operando, que indica a la computadora dónde hallar o almacenar los datos y otras instrucciones que se van a manipular; el número de operandos de una instrucción varía en las distintas computadoras. En una computadora de operando único, el equivalente binario de “SUMAR 0814” podría hacer que se sume el valor que se encuentra en la localidad de almacenamiento o dirección 0814 al valor que se encuentra en la unidad aritmética lógica. En una máquina de dos operandos, la representación binaria de “SUMAR 0814 8672” podría hacer que se sume el valor que está en la localidad 8672 al valor que está en la dirección 0814. El formato de operando único es popular en las microcomputadoras más pequeñas; la estructura de dos operandos se encuentra en casi todas las demás máquinas.

Según los estándares actuales, las primeras computadoras eran poco tolerantes. Los programadores tenían que traducir las instrucciones de manera directa a la forma de lenguaje de máquina que comprendían las computadoras. Por ejemplo, un programador que escribiera la instrucción “SUMAR 0814” para una de las primeras máquinas IBM hubiera escrito:000100000000000000000000000010111000

Además de recordar las docenas de códigos numéricos para los comandos del conjunto de instrucciones de la máquina, el programador tenía que conocer las posiciones donde se almacenan los datos y las instrucciones. La codificación inicial muchas veces requería meses, por lo que era costosa y era frecuente que originara errores. Revisar las instrucciones para localizar errores era casi tan tedioso como escribirlas por primera vez. Además, si era necesario modificar un programa posteriormente, la tarea podía llevarse meses.

Se clasifican en dos tipos:

Los Lenguajes de Programación de Bajo Nivel: que son aquellos utilizados fundamentalmente para controlar el “hardware” del ordenador y dependen totalmente de la máquina y no se pueden utilizar en otras máquinas. Están orientados exclusivamente para la máquina Estos lenguajes son los que ordenan a la máquina operaciones fundamentales para que pueda funcionar. Utiliza básicamente ceros, unos y

Página 11

Page 13: Lenguajes de Programacion

Lenguajes de Programación

abreviaturas de letras. Estos lenguajes también se llaman de código máquina. Son los más complicados, pero solo los usan prácticamente los creadores de las máquinas. Con este tipo de lenguajes programan la asignación y liberación de memoria, el uso de punteros, el poder usar paso por valor y por referencia, la creación de tipos de datos, etc.

0110 1001 1010 1011ADD M, N, PADD suma DIV dividirSUB resta LDA cargar acumuladorMPY multiplicar STO..almacenarUna instrucción típica en ensamblador puede ser:ADD x, y, z

Esta instrucción significa que se debe sumar los números almacenados en las direcciones x, y, y almacenar el resultado en la dirección z. El programa ensamblador traducirá. Programa en código maquina programa en ensamblador Después que un programa ha sido escrito en lenguaje ensamblador se necesita un programa -llamado ensamblador- que lo traduzca a código máquina.

Los Lenguajes de Programación de Alto Nivel: Estos lenguajes son más parecidos al lenguaje natural humano y no dependen de la máquina y sirven fundamentalmente para crear programas informáticos que solucionan diferentes problemas. Son los más usados por los programadores y por todo del mundo que realiza programas informáticos.La diferencia fundamental se puede explicar con el siguiente ejemplo:

En un lenguaje de alto nivel sólo tengo que poner sqt(x), que sería una función predeterminada, calcular el cuadrado de x.

Si fuera de bajo nivel, yo mismo tendría que crear la función sabiendo cómo funciona el cuadrado de un número:cuadrado(x) = x * x

Como vemos para aprender a programar con un lenguaje de alto nivel debemos conocer el propio lenguaje que utiliza y todos sus comandos, en el ejemplo saber que se realiza el cuadrado de un número.

LENGUAJES COMPILADOSNaturalmente, 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

Página 12

Page 14: Lenguajes de Programacion

Lenguajes de Programación

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.

Tipos De Programa:

Una vez escrito un programa éste puede estar en código fuente, código objeto o código ejecutable.

Código Fuente: recibe este nombre el conjunto de instrucciones tal y como fueron escritos por el programador en el lenguaje de alto nivel (también se le conoce como programa fuente).

Código Objeto: son las instrucciones de un programa cuando ya han sido traducidas al lenguaje máquina (también se le conoce como programa objeto).

Código Ejecutable: es un código objeto que puede ser ejecutado por la computadora de inmediato (no todos los códigos objeto son ejecutables).

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 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

Página 13

Page 15: Lenguajes de Programacion

Lenguajes de Programación

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.

LENGUAJES DE PROGRAMACIÓN DECLARATIVOS

Se les conoce como lenguajes declarativos en ciencias computacionales a aquellos lenguajes de programación en los cuales se le indica a la computadora qué es lo que se desea obtener o qué es lo que se está buscando, por ejemplo: Obtener los nombres de todos los empleados que tengan más de 32 años. Eso se puede lograr con un lenguaje declarativo como SQL.

La programación declarativa es una forma de programación que implica la descripción de un problema dado en lugar de proveer una solución para dicho problema, dejando la interpretación de los pasos específicos para llegar a dicha solución a un intérprete no especificado. La programación declarativa adopta, por lo tanto, un enfoque diferente al de la programación imperativa tradicional.

En otras palabras, la programación declarativa provee el “qué”, pero deja el “cómo” liberado a la implementación particular del intérprete. Por lo tanto se puede ver que la programación declarativa tiene dos fases bien diferenciadas, la declaración y la interpretación.

Es importante señalar que a pesar de hacer referencia a intérprete, no hay que limitarse a “lenguajes interpretados” en el sentido habitual del término, sino que también se puede estar trabajando con “lenguajes compilados”.

Características De Los Lenguajes De Programación Declarativos

Los lenguajes declarativos están orientados a buscar la solución del problema, sin preocuparse por la forma de llegar a ello; es decir, el programador debe concentrarse en la lógica del algoritmo, más que en el control de la secuencia.

Los programas están formados por un conjunto de definiciones o ecuaciones, las cuales describen lo que debe ser calculado, no en sí la forma de hacerlo.

Las variables sólo pueden tener asignado un solo valor a lo largo de la ejecución del programa, lo cual implica que no puede existir

Página 14

Page 16: Lenguajes de Programacion

Lenguajes de Programación

asignación destructiva. Debido a esto, cobra especial importancia el uso del anidamiento y la recursividad.

Las listas representan la estructura fundamental de datos. El orden de la ejecución no resulta importante debido a que no

existen efectos colaterales; es decir, que al calcular un valor, resulta imposible afectar el cálculo de otros y con esto se puede afirmar que cualquier secuencia de ejecución deberá conducir al mismo resultado.

Las expresiones o definiciones pueden ser usadas como valores y por lo tanto se pueden tratar como argumentos de otras definiciones.

El control de la ejecución no es responsabilidad del programador.

Desventajas De La Programación Declarativa

La principal desventaja de la programación declarativa es que no puede resolver cualquier problema dado, sino que está restringida al subconjunto de problemas para los que el intérprete o compilador fue diseñado.

Otra desventaja de la programación declarativa está relacionada con la eficiencia. Dado que es necesaria una fase de interpretación extra, en la cual se deben evaluar todas las consecuencias de todas las declaraciones realizadas, el proceso es relativamente más lento que en la programación imperativa, en que los cambios de estado del sistema están dados por instrucciones particulares y no por un conjunto de condiciones arbitrariamente grande.

Ventajas De La Programación Declarativa

A pesar de lo anterior existen algunas ventajas en el uso de la programación declarativa. Entre las ventajas se destaca que la solución de un problema se puede realizar con un nivel de abstracción considerablemente alto, sin entrar en detalles de implementación irrelevantes, lo que hace a las soluciones más fácil de entender por las personas. La resolución de problemas complejos es resuelta por el intérprete a partir de la declaración de las condiciones dadas.

La programación declarativa es muy usada en la resolución de problemas relacionados con inteligencia artificial, bases de datos, configuración, y comunicación entre procesos; sin embargo, ningún leguaje declarativo se aproxima en popularidad a los lenguajes imperativos.

Ejemplos De Lenguajes Declarativos

Página 15

Page 17: Lenguajes de Programacion

Lenguajes de Programación

Algunos lenguajes declarativos que se pueden mencionar son:

PROLOG SQL HTML WSDL (Web Services Description Language) XML Stylesheet Language for Transformation

PROGRAMACIÓN LÓGICA

La idea fundamental de la programación lógica consiste en emplear la lógica como lenguaje de programación. La lógica no es imperativa porque no sirve para indicar cómo resolver un problema (órdenes). La lógica es declarativa porque sirve para especificar qué problema resolver (condiciones).

En la programación lógica, se especifican las condiciones que satisfacen las soluciones, se deducen las soluciones a partir de las condiciones y el énfasis de todo está en qué problema resolver. El problema se describe especificando qué caracteriza a sus posibles soluciones.

La programación lógica, junto con la funcional, forma parte de lo que se conoce como programación declarativa. En los lenguajes tradicionales, la programación consiste en indicar cómo resolver un problema mediante sentencias; en la programación lógica, se trabaja de forma descriptiva, estableciendo relaciones entre entidades, indicando no cómo, sino qué hacer. Se establece entonces que la idea esencial de la programación lógica es: algoritmos = lógica + control. Es decir, un algoritmo se construye especificando conocimiento en un lenguaje formal (lógica de primer orden), y el problema se resuelve mediante un mecanismo de inferencia (control) que actúa sobre aquél.

Al hacer un recorrido por la programación lógica, aparece como uno de sus lenguajes más representativos, Prolog, que es un clásico de la inteligencia artificial y que se aplica de múltiples formas en el desarrollo de software comercial.

PROGRAMACIÓN FUNCIONAL

La programación funcional es un paradigma de programación declarativa basado en la utilización de funciones matemáticas. El objetivo de la programación funcional es conseguir lenguajes expresivos y matemáticamente elegantes, en los que no sea necesario bajar al nivel de la máquina para describir el proceso llevado a cabo por el programa. Los programas escritos en un lenguaje funcional están constituidos únicamente por definiciones de funciones, entendiendo éstas no como subprogramas clásicos de un lenguaje imperativo (pues la programación

Página 16

Page 18: Lenguajes de Programacion

Lenguajes de Programación

funcional es declarativa), sino como funciones puramente matemáticas, en las que se verifican ciertas propiedades como la transparencia referencial (el significado de una expresión depende únicamente del significado de sus subexpresiones), y por tanto, la carencia total de efectos laterales.

Otras características propias de estos lenguajes son la no existencia de asignaciones de variables y la falta de construcciones estructuradas como la secuencia o la iteración (lo que obliga en la práctica a que todas las repeticiones de instrucciones se lleven a cabo por medio de funciones recursivas).

Existen dos grandes categorías de lenguajes funcionales: los funcionales puros y los híbridos. La diferencia entre ambos estriba en que los lenguajes funcionales híbridos son menos dogmáticos que los puros, al permitir conceptos tomados de los lenguajes imperativos, como las secuencias de instrucciones o la asignación de variables. En contraste, los lenguajes funcionales puros tienen una mayor potencia expresiva, conservando a la vez su transparencia referencial, algo que no se cumple siempre con un lenguaje híbrido.

PROGRAMACIÓN ORIENTADA A BASES DE DATOS

Las bases de datos son programas que administran información y hacen más ordenada la información, aparte de hacer la fácil de buscar y por supuesto de encontrar.

Las características de las bases de datos pueden ser ventajosas o desventajosas: pueden ayudar a almacenar, organizar, recuperar, comunicar y manejar información en formas que serían imposibles sin las computadoras, pero también afecta de alguna manera ya que existen enormes cantidades de información en bases de datos de las que no se tiene control del acceso.

Las bases de datos tienen muchos usos: facilitan el almacenamiento de grandes cantidades de información; permiten la recuperación rápida y flexible de información, con ellas se puede organizar y reorganizar la información, así como imprimirla o distribuirla en formas diversas.

Es claro que los lenguajes orientados a bases de datos son declarativos y no imperativos, pues el problema es “qué” se quiere hacer o “qué” se necesita buscar y encontrar en la base de datos, y no se enfatiza el “cómo”.

Una base de datos también se puede definir como un banco de datos o conjunto de datos que pertenecen al mismo contexto, almacenados sistemáticamente para su posterior uso. En este sentido, una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta.

Página 17

Page 19: Lenguajes de Programacion

Lenguajes de Programación

En la actualidad, y gracias al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos tienen formato electrónico, que ofrece un amplio rango de soluciones al problema de almacenar datos. Los sistemas gestores de bases de datos (SGBD) permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada.

LENGUAJES DE PROGRAMACIÓN IMPERATIVOS

En ciencias de la computación se llama lenguajes imperativos a aquellos en los cuales se le ordena a la computadora cómo realizar una tarea siguiendo una serie de pasos o instrucciones, por ejemplo:

Paso 1, solicitar número. Paso 2, multiplicar número por dos. Paso 3, imprimir resultado de la operación. Paso 4, etc,

El proceso anterior se puede realizar con un lenguaje imperativo como por ejemplo BASIC, C, C++, Java, Clipper, Dbase, C#, PHP, Perl, etc. Dentro de la programación imperativa, se tiene un conjunto de instrucciones que le indican al computador cómo realizar una tarea.

Los lenguajes imperativos se basan en comandos u órdenes que se le dan a la computadora para que haga algo, con el fin de organizar o cambiar valores en ciertas partes de la memoria. La ejecución de estos comandos se realiza, en la mayor parte de ellos, secuencialmente, es decir, hasta que un comando no ha sido ejecutado no se lee el siguiente.

Según el dominio, o mejor dicho con el propósito que se utiliza el programa, se puede hablar de lenguajes de dominio específico y de dominio general.

Diferencia Entre Lenguajes Declarativos E Imperativos

En los lenguajes declarativos las sentencias que se utilizan lo que hacen es describir el problema que se quiere solucionar, pero no las instrucciones necesarias para solucionarlo. Esto último se realizará mediante mecanismos internos de inferencia de información a partir de la descripción realizada.

Los lenguajes imperativos describen paso a paso un conjunto de instrucciones que deben ejecutarse para variar el estado un programa y hallar la solución, es decir, un algoritmo en el que se describen los pasos necesarios para solucionar un problema.

LENGUAJES DE PROGRAMACIÓN ORIENTADOS A OBJETOS

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”,

Página 18

Page 20: Lenguajes de Programacion

Lenguajes de Programación

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 ellos para realizar tareas. Esto permite hacer los programas módulos más fáciles de escribir, mantener y reutilizar.

De esta forma, un objeto contiene toda la información, (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de la misma clase, al poder tener valores bien diferenciados en sus atributos). A su vez, dispone de mecanismos de interacción (los llamados métodos) que favorecen la comunicación entre objetos (de una misma clase o de distintas), y en consecuencia, el cambio de estado en los propios objetos. Esta característica lleva a tratarlos como unidades indivisibles, en las que no se separan (ni deben separarse) información (datos) y procesamiento (métodos).

Dada esta propiedad de conjunto de una clase de objetos, que al contar con una serie de atributos definitorios, requiere de unos métodos para poder tratarlos (lo que hace que ambos conceptos están íntimamente entrelazados), el programador debe pensar indistintamente en ambos términos, ya que no debe nunca separar o dar mayor importancia a los atributos a favor de los métodos, ni viceversa. Hacerlo puede llevar al programador a seguir el hábito erróneo de crear clases contenedoras de información por un lado y clases con métodos que manejen esa información por otro (llegando a una programación estructurada camuflada en un lenguaje de programación orientada a objetos).

Esto difiere de los lenguajes imperativos tradicionales, en los que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. La programación estructurada anima al programador a pensar sobre todo en términos de procedimientos o funciones, y en segundo lugar en las estructuras de datos que esos procedimientos manejan. Los programadores de lenguajes imperativos escriben funciones y después les pasan los datos. Los programadores que emplean lenguajes orientados a objetos definen objetos con datos y métodos y después envían mensajes a los objetos diciendo que realicen esos métodos por sí mismos.

Un objeto se puede definir como un grupo de procedimientos que comparten un estado. Se define al conjunto de datos como “estado”, y “métodos” como el conjunto de procedimientos que pueden alterar ese estado. Un programa orientado a objetos es un método de

Página 19

Page 21: Lenguajes de Programacion

Lenguajes de Programación

implementación en el que los programas están organizados como colecciones de objetos, donde cada uno es una instancia de alguna clase, y donde todas las clases son miembros de una jerarquía de clases conectadas por relaciones de herencia. Este tipo de lenguajes son muy recientes en comparación a los primeros lenguajes de programación que aparecieron.

CONCEPTOS BÁSICOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS

La programación orientada a objetos es una nueva forma de programar que trata de encontrar la solución a problemas de una forma que ofrece muchas ventajas y facilidades que no se tenían anteriormente. Introduce nuevos conceptos, que superan y amplían conceptos antiguos ya conocidos. Entro ellos destacan los siguientes:

o OBJETO: entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (“métodos”). Corresponden a los objetos reales del mundo que nos rodea, o a objetos internos del sistema (del programa).

o CLASE: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas. Una clase es una colección de objetos similares o la implementación, declaración o definición de un tipo de objeto. Cada vez que se construye un objeto de una clase se crea una instancia de esa clase. Por ejemplo en Visual Basic, se tiene la clase Form, y se pueden crear instancias de esa clase al tener Form1, Form2, etc. Así se está creando una instancia de la clase Form.

o MÉTODO: algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un “mensaje”. Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en lar propiedades del objeto, o la generación de un “evento” con un nuevo mensaje para otro objeto del sistema.

o EVENTO: un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente.

Página 20

Page 22: Lenguajes de Programacion

Lenguajes de Programación

o MENSAJE: una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.

o PROPIEDAD O ATRIBUTO: contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto, y cuyo valor puede ser alterado por la ejecución de algún método.

o ESTADO INTERNO: es una propiedad invisible de los objetos, que puede ser únicamente accedida y alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el objeto (o clase de objetos).

En comparación con un lenguaje imperativo, una “variable no es más que un contenedor interno del atributo del objeto o de un estado interno, así como la “función” es un procedimiento interno del método del objeto.

CARACTERÍSTICAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS

Las características más importantes de la programación orientada a objetos son las siguientes:

ABSTRACCIÓN: Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción.

ENCAPSULAMIENTO: también llamado "ocultación de la información". Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que específica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos. Esta característica o propiedad permite

Página 21

Page 23: Lenguajes de Programacion

Lenguajes de Programación

por tanto ejecutar la información al resto de los objetos, impidiendo así accesos incorrectos o conflictos.

POLIMORFISMO: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Por ejemplo en Visual Basic, el polimorfismo se da al tener diferentes tipos de objetos (Form, Label, etc.)

HERENCIA: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que reimplementar su comportamiento. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto pertenece a más de una clase se dice que hay herencia múltiple; esta característica no está soportada por algunos lenguajes (como Java). Con esta propiedad, los objetos heredan comportamientos dentro de una jerarquía de clases.

PRINCIPALES DIFERENCIAS ENTRE LA PROGRAMACIÓN IMPERATIVA Y LA PROGRAMACIÓN ORIENTADA A OBJETOS

La programación orientada a objetos es más moderna, es una evolución de la programación imperativa plasmada en el diseño de una familia de lenguajes conceptos que existían previamente, con algunos nuevos.

La programación orientada a objetos se basa en lenguajes que soportan sintáctica y semánticamente la unión entre los tipos abstractos de datos y sus operaciones (a esta unión se la suele llamar clase).

La programación orientada a objetos incorpora en su entorno de ejecución mecanismos tales como el polimorfismo y el envío de mensajes entre objetos.

Algunos Lenguajes Orientados A Objetos

Entre los lenguajes orientados a objetos más importantes que se pueden mencionar, aparecen los siguientes:

Página 22

Page 24: Lenguajes de Programacion

Lenguajes de Programación

Ada C++ C# VB.NET Clarion Delphi Eiffel Jave Lexico (en castellano) Objective-C Ocaml Oz PHP PowerBuilder Pitón Ruby Smalltalk

CLASIFICACIÓN DE LOS LENGUAJES DE ACUERDO A SUS APLICACIONES PRINCIPALES:

Esta clasificación se refiere a las ventajas que tienen los lenguajes para resolver ciertos problemas específicos. Los principales lenguajes pueden clasificarse de la siguiente manera:

Lenguajes Clásicos o Tradicionales. Lenguajes Visuales (orientados a objetos). Lenguajes de Internet.

LENGUAJES CLÁSICOS:

Estos lenguajes están basados en un lenguaje cercano al ser humano en el que se escribe el código necesario para realizar las operaciones que se requieren (miles y miles de líneas generalmente), que posteriormente es traducido o compilado generando un programa ejecutable. Los más conocidos son: el PASCAL, el BASIC, el C, el COBOL, y el CLIPPER. Dependiendo del programa que se requiera realizar pueden ser mejores unos u otros.

LENGUAJES VISUALES:

Son lenguajes más avanzadas que los lenguajes clásicos y están basados en objetos. Cada entidad del programa (eventos, acciones, datos, etc.), es un objeto sobre el que se definen operaciones. Esto permite almacenar los objetos (con todo su código de programa), en una serie de librerías y utilizarlos cuando sea necesario, ahorrando al programador el trabajo de tener que volver a programarlos. Son lenguajes muy intuitivos y fáciles de utilizar, y sustituyen las tediosas líneas de código, por sencillas y directas representaciones gráficas.

Página 23

Page 25: Lenguajes de Programacion

Lenguajes de Programación

LENGUAJES DE INTERNET:

Son los lenguajes específicos para la creación de páginas Web de Internet, y realizar su programación (motores de búsqueda, seguridad, establecimiento de comunicaciones, etc.).

Son la última generación de lenguajes. Existen distintos tipos, dependiendo del grado de especialización, aunque algunos, como el HTML, son lenguajes basados en sencillas marcas o TAG.

La siguiente tabla muestra los principales lenguajes de programación y su utilidad.

Lenguajes. Utilidad.BASIC, PASCAL,

Ada, C y C++

Logo

COBOL, RPG, Natural, SQL

Algol, FORTRAN, APL

CLIPPER, ACCESS, dBASE, Delphi, SQL

Smalltalk, Actor, C++, Eiffel

Visual Basic, Visual C

HTML, JAVA, PERL

Lingo

Prolog, Lisp

VRLM

Mapper, Cogen, Linc

Aprendizaje de programación.

Programación de sistemas.

Lenguaje didáctico.

Gestión de empresas.

Calculo numérico.

Bases de datos.

Programación orientada a objetos (OOP).

Programación Windows.

Internet (páginas WEB).

Programas multimedia.

Inteligencia artificial.

Realidad virtual.

Lenguajes de cuarta generación 4GL.

Página 24

Page 26: Lenguajes de Programacion

Lenguajes de Programación

Por ultimo para la resolución de un problema, deben seguirse por lo menos los siguientes pasos:

Definición del Problema.

Análisis del Problema.

Diseño del algoritmo.

Programación (transformación del algoritmo en un programa).

Ejecución y validación del Programa (Pruebas).

Mantenimiento del Programa.Estas fases constituyen lo que se denomina: Ciclo del Vida del Software o Ciclo de Vida del Desarrollo de un Sistema, son realizadas por seres humanos, solo la ejecución de los programas es realizada por la computadora.

Definición del Problema.

El programador debe reconocer cuál es el problema, estableciendo con claridad cuáles son los datos disponibles y a qué resultados se desea llegar.

Análisis del Problema.

Es un estudio profundo del problema y de la situación que lo rodea. El programador deberá entenderlo por completo y proponer una solución para poder transformar los datos disponibles en resultados.

Diseño del algoritmo.

Se planea la estrategia que permitirá alcanzar la solución del problema.

Programación (transformación del algoritmo en un programa).

Consiste en traducir el algoritmo diseñado a un lenguaje de programación y aplicarlo en una computadora.

Ejecución y validación del Programa (Pruebas).

Verifican su funcionamiento para corregir posibles errores.

Mantenimiento del Programa.

El programador se encarga de modificar el programa según vayan apareciendo necesidades adicionales.

Página 25

Page 27: Lenguajes de Programacion

Lenguajes de Programación

TIPOS DE LENGUAJE.

En este apartado vamos a recordar brevemente la historia y a resumir las características de algunos lenguajes de alto nivel.

El primer lenguaje de alto nivel fue el FORTRAN (FORmula TRANslator), es decir traductor de fórmulas, que estaba orientado a cálculos técnicos. Después apareció el COBOL (Commom Business Orientated Language) orientado a la gestión. Más adelante aparecieron PL1, BASIC, APL, PASCAL, ADA, RPG, etc.

En treinta años se han definido más de 400 lenguajes, algunos de los cuales han tenido gran aceptación. Las características principales a considerar en un lenguaje son la facilidad de empleo, facilidad de aprendizaje, potencia, orientación, gestión de ficheros y periféricos, facilidad de corrección por parte de quien no lo ha diseñado, transportabilidad a otras máquinas y requerimientos de memoria.

I. FORTRAN

Es el más antiguo, ha tenido muchas mejoras con el paso de los años pero sigue siendo de diseño anticuado e incómodo a pesar de ser muy usado. La escritura del programa se hace en hojas de programación con un formato que no es libre, es fácil de entender pero no de manejar. En cálculos es muy eficaz, dispone de muchísimas funciones, varios tipos de variables, varios tipos de variables y tiene facilidad de manejo de subprogramas, en cambio es deficiente en manejo de textos. La gestión de ficheros sólo existe en la versión V y superiores y no es muy eficiente; lo mismo sucede respecto a periféricos con excepción de las impresoras.

El lenguaje a llegado a ser un estándar, lo que hace que no haya serios problemas para transportar un programa de una máquina a otra que tenga el mismo compilador. Un problema a considerar en este lenguaje es la relativa dificultad para el mantenimiento de programas al no ser un lenguaje estructurado en módulos que faciliten su mantenimiento. Está orientado a cálculos técnicos y científicos.

II. BASIC

Significa Código de instrucciones Simbólicas de Propósito General para Principiantes (Beginner's All Surpose Simbolic Instructions Code) y es un lenguaje flexible y fácil de manejar, orientado a los estudiantes y a los que tienen su primer contacto con la informática. No tiene rigidez en su sintaxis, y el tratamiento de cadenas de caracteres es muy potente, en cálculo es suficientemente bueno, siendo en algunas versiones tan potente como el FORTRAN.

Página 26

Page 28: Lenguajes de Programacion

Lenguajes de Programación

En la gestión de ficheros es donde tiene el BASIC su principal defecto; la gestión de periféricos es aceptable y la transportabilidad buena. En efecto, de este lenguaje existen multitud de versiones, muchísimas máquinas (prácticamente todas) disponen de traductores de BASIC, y esto hace que no todas las versiones sean iguales, aunque concuerdan en la mayor parte de instrucciones, las diferencias mayores suelen estar en las instrucciones de gráficos / color, música, juegos, y acceso a ficheros.

Respecto al mantenimiento podemos decir que es fácil de construir programas claros, pero no dispone de suficientes facilidades para ello. Es un lenguaje muy usado en el área de microinformática. El BASIC presenta en la actualidad dos tendencias a la <<norma>>, una es el BASIC MSX y la otra el BASIC de los compatibles en IBM.

Ejemplo de un programa en BASIC.

Ok

PRINT “Hola”

Hola

Ok

III. COBOL

Este lenguaje está orientado a la gestión y tiene una sintaxis lógica y estructurada y un vocabulario semejante al inglés; es muy potente en el tratamiento de textos (el mejor probablemente). Y en la definición de datos.

Las instrucciones de cálculo están reducidas al mínimo, pero la gestión de ficheros es muy buena, la transportabilidad no es mala pero presenta problemas, puesto que muchos ordenadores personales no disponen todavía de compilador COBOL. El mantenimiento de programas es sencillo, puesto que la facilidad de empleo y la calidad de la sintaxis producen programas de buena legibilidad, aunque conviene que el programador ponga suficientes comentarios.

Ejemplo de un segmento de programa en COBOL obtiene el mayor de tres número.

IF A > B IF A>C

DISPLAY `A ES EL MAYOR'

GO TO PAR-1

ELSE

Página 27

Page 29: Lenguajes de Programacion

Lenguajes de Programación

DISPLAY `C ES EL MAYOR'

GO TO PAR-1

ELSE

IF B>C

DISPLAY `B ES EL MAYOR'

GO TO PAR-1

ELSE

DISPLAY `C ES EL MAYOR'

GO TO PAR-1

IV. PASCAL

Este es un lenguaje diseñado con la idea de la estructuración, es decir programando en PASCAL, se consiguen programas muy fáciles de mantener. La sintaxis es relativamente flexible, aunque presenta algunas restricciones en el empleo de los puntos y comas; programar eficazmente es realmente complejo.

En el tratamiento de cadenas de caracteres era muy limitado, aunque las modernas versiones lo asemejan al BASIC. El tratamiento matemático es bastante completo. La gestión de ficheros es muy variable según las versiones de PASCAL, hay de todos los tipos. La gestión de periféricos es deficiente y la transportabilidad muy buena. Ejemplo de un programa que suma dos números en PASCAL.

Program suma:

Uses crt;

Var a, b, c: integer;

Begin

a :=2; b :=3;

c := a + b;

writeln(`La suma es: `,c);

End.

V. FORTH

Página 28

Page 30: Lenguajes de Programacion

Lenguajes de Programación

Es un lenguaje difícil de manejar; está basado en el proceso de construir nuevas instrucciones, la metodología de programación es diferente a las demás. Trata las cadenas y los cálculos sin problemas, es deficiente en la gestión de ficheros y optimo en la gestión de periféricos. En cuanto a la transportabilidad es deficiente, debido a que se construyen muchas funciones personalizadas difíciles de traspasar. Los programas escritos con FORTH son difíciles de leer, y, por tanto de mantener.

VI. LOGO

Este es un lenguaje interactivo; se maneja empleando diferentes palabras que se combinan como se desean. Se dispone de una serie de palabras básicas (primitivas) y de facilidad para construir nuevas (procedimientos). Es ideal para el principiante, al que aproxima a la informática de una manera sencilla.

El tratamiento de cadenas y de números no es adecuado, la gestión de ficheros es normal y en la gestión de periféricos destaca la de la pantalla gráfica para la que dispone del artificio de <<la tortuga>>, un triángulo que se mueve con las ordenes que se le va dando, dejando un rastro que conforma un gráfico. La transportabilidad no es buena y el mantenimiento es normal. Es un lenguaje principalmente orientado a niños y a desarrollos de gráficos elementales.

VII. C

El lenguaje C se creó en 1972 en los laboratorios Bell. Es una herramienta muy potente que resulta especialmente útil si se emplea con el sistema operativo UNIX, una prueba de las prestaciones de este lenguaje es que se han escrito muchos sistemas operativos con él en lugar de hacerlo en ensamblador como venía siendo normal. La sintaxis de C es sencilla y está basada en la programación por módulos, dispone de una gran variedad de variables y potentes operadores.

El tiempo de ejecución del C es de decenas de veces menor que el BASIC y es un lenguaje de un nivel suficientemente bajo como para sustituir al ensamblador. A continuación un ejemplo de cómo imprimir un comentario en C.

# include <stdio.h>

int main()

{

printf(“Este es un ejemplo”);

return 0;

}

Página 29

Page 31: Lenguajes de Programacion

Lenguajes de Programación

CONCLUSIÓNLos lenguajes de programación no son simplemente un detalle más del amplio mundo de la informática, y por lo tanto deben ser vistos como el fundamento y la base del desarrollo y avance de la computación.

Estudiar los conceptos básicos, clasificación, diferencias, propiedades y funcionamiento de los lenguajes de programación es elemental para cualquier estudiante o profesional dedicado a la computación, pues de esa manera se logra tener una perspectiva global y mucho más amplia que tendrá mucho peso al estar bien documentados y al conocer qué son, cómo se clasifican y de qué manera trabajan los lenguajes de programación. Luego del desarrollo de esta investigación resulta fácil comprender los tipos y la clasificación que se les da a los lenguajes de programación en base a sus funcionalidades y características.

Página 30

Page 32: Lenguajes de Programacion

Lenguajes de Programación

Este estudio también permite desarrollar un sentido crítico de los lenguajes de programación, de forma que el programador no seleccione ni emita un juicio respecto a determinado lenguaje basado simplemente en su limitado conocimiento ni basado en la popularidad de la que goza cierto lenguaje, sino que el programador esté capacitado para dar razones contundentes y certeras del por qué un lenguaje es mejor que otro para determinada tarea, qué ventajas tiene uno respecto del otro, y que así también el programador sea capaz de seleccionar el lenguaje que más le convenga para la resolución de un problema determinado.

Esta investigación servirá para evaluar correctamente los lenguajes de programación, determinando las ventajas y desventajas que cada uno de ellos presenta.

BIBLIOGRAFÍA1. Cejas, C.B; Crespillo, O.G.; Jiménez F., M.J.; Ramírez G., C.; Sánchez G., C.; Sánchez N., C. Tipos de Lenguajes de Programación.Extraído el 17 de septiembre, de 2014 de http://juanfc.lcc.uma.es/EDU/EP/trabajos/T201.Clasificaciondelostiposdelenguajes.pdf#search=%22tipos%20de%20lenguajes%20imperativos%22

2. Wikipedia. La enciclopedia libre. Programación declarativa.

Página 31

Page 33: Lenguajes de Programacion

Lenguajes de Programación

17 de septiembre, de 2014 desde:http://es.wikipedia.org/wiki/Programaci%C3%B3n_declarativa

3. Concept&Development. Programación declarativa. 17 de septiembre, de 2014 desde:http://pviojo.net/posts/programacion-declarativa

4. Sanders, Donald H.; Informática Presente y Futuro. Tercera Edición. McGrawHill; Naucalpán de Juárez, México; 1990.

5. Wikipedia. La enciclopedia libre. Programación imperativa. Extraído el 17 de septiembre, de 2014 desde: http://es.wikipedia.org/wiki/Lenguajes_imperativos

6. Universidad Tecnológica Nacional. Facultad Regional Tucuman. Lenguajes de Programación. Extraído el 17 de septiembre, de 2014 desde: http://www.frt.utn.edu.ar/sistemas/paradigmas/lenguajes.htm

7. Matta G., D.A. Tutorial Introducción al Desarrollo de Aplicaciones con Visual Basic.

8. Wikipedia. La enciclopedia libre. Programación orientada a objetos. Extraído 17 de septiembre, de 2014 desde:http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos#La_Programaci.C3.B3n_Orientada_a_Objetos_.28POO.29_como_soluci.C3.B3n

9. Introducción a la Programación Lógica. Ingeniería Técnica en Informática de Sistemas. Departamento de Lenguajes y Ciencias de la Computación. Universidad de Málaga. Extraído 17 de septiembre, de 2014 desde:http://72.14.209.104/searchq=cache:doHkGvx7wQIJ:www.lcc.uma.es/~lopez/apuntes/declasis/apuntes/introduccion/intro_sis4pp.pdf+programacion+declarativa+logica&hl=es&gl=sv&ct=clnk&cd=6

ANEXOS

Página 32

Page 34: Lenguajes de Programacion

Lenguajes de Programación

Ranking lenguajes de programación más usados 2014

Página 33