Vous êtes sur la page 1sur 21

LENGUAJES DE PROGRAMACION

1. DEFINICION.

Un lenguaje de programación es un lenguaje artificial que puede ser usado


para controlar el comportamiento de una máquina, especialmente una
computadora. Estos se componen de un conjunto de reglas sintácticas y
semánticas que permiten expresar instrucciones que luego serán interpretadas.
ALEGSA ONLINE.COM

Es un lenguaje diseñado para describir el conjunto de acciones


consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de
programación es un modo práctico para que los seres humanos puedan dar
instrucciones a un equipo.
Por otro lado, el término "lenguaje natural" define un medio de comunicación
compartido por un grupo de personas (por ejemplo: inglés o francés).
Los lenguajes que los equipos usan para comunicarse entre ellos no tienen
nada que ver con los lenguajes de programación; se los conoce como
protocolos de comunicación. Se trata de dos conceptos totalmente diferentes.
Un lenguaje de programación es muy estricto: ES.KIOSKEA.NET

Un lenguaje de programación es un conjunto de símbolos y reglas sintácticas


y semánticas que definen su estructura y el significado de sus elementos y
expresiones, y es utilizado para controlar el comportamiento físico y lógico de
una máquina.

Aunque muchas veces se usan los términos 'lenguaje de programación' y


'lenguaje informático' como si fuesen sinónimos, no tiene por qué ser así, ya
que los lenguajes informáticos engloban a los lenguajes de programación y a
otros más, como, por ejemplo, el HTML (lenguaje para el marcado de páginas
web que no es propiamente un lenguaje de programación).

Un lenguaje de programación permite a uno o más programadores especificar


de manera precisa sobre qué datos debe operar una computadora, cómo estos
datos deben ser almacenados o 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. Una característica relevante de los lenguajes de
programación es precisamente que más de un programador puedan tener un
conjunto común de instrucciones que puedan ser comprendidas entre ellos
para realizar la construcción del programa de forma colaborativa.

Los procesadores usados en las computadoras son capaces de entender y


actuar según lo indican programas escritos en un lenguaje fijo llamado lenguaje
de máquina. Todo programa escrito en otro lenguaje puede ser ejecutado de
dos maneras:
• Mediante un programa que va adaptando las instrucciones conforme son
encontradas. A este proceso se lo llama interpretar y a los programas que lo
hacen se los conoce como intérpretes.
• Traduciendo este programa al programa equivalente escrito en lenguaje de
máquina. A ese proceso se lo llama compilar y al programa traductor se le
denomina compilador. WIKIPEDIA La enciclopedia libre,

En su uso, un lenguaje de programación puede acercarse a la forma humana


de expresarse y, por eso, este tipo de lenguajes es llamado de alto nivel. Esto
significa que utilizan palabras y formas en sus estructuras que se asemejan al
lenguaje natural (especialmente al inglés). En cambio, aquellos lenguajes que
se aproximan más a la forma en la cual la computadora se maneja, son
llamados lenguajes de bajo nivel. Esto significa que lo que el programador deba
escribir se acercará al lenguaje máquina, que es, en definitiva, lo que las
computadoras pueden interpretar. De todas maneras, un lenguaje de
programación difiere en muchos aspectos de un lenguaje humano. Un código
escrito en un lenguaje de programación específico siempre se interpreta de la
misma manera (no como los idiomas humanos ambiguos), los errores son
mucho más significativos (a tal punto de que un código puede volverse
ininterpretable por la computadora), etc.

El código fuente es el conjunto de instrucciones que conforman un programa (o


subprograma o módulo). El código fuente debe ser compilado para poder ser
interpretado y ejecutado por la computadora. La compilación traduce el código
fuente (que depende del lenguaje de programación) a un lenguaje máquina
(que depende del sistema de la máquina). Existen lenguajes del tipo script que
son directamente ejecutados por un intérprete y no necesitan compilación. Los
lenguajes de programación pueden clasificarse según el paradigma que usan
en: procedimentales, orientados a objetos, funcionales, lógicos, híbridos, etc.,
clasificación que depende de motivos que escapan al alcance de este artículo.
Son ejemplos de lenguajes de programación: php, prolog, asp, actionscript,
ada, python, pascal, c, basic, java, etc. . ALEGSA ONLINE.COM

2. HISTORIA DELOS LENGUAJES DE PROGRAMACION.

www.erick.cibercalli.com/showpost?postid=17 - 32k
Es comúnmente aceptado que la historia de la computación moderna comienza
con Charles Babbage, en 1822, sin embargo las primeras computadoras
mecánicas y eléctricas no contaban con un lenguaje de programación tal como
lo conocemos ahora, la mayoría de ellas era construida para llevar a cabo una
tarea especifica; por lo tanto la forma de programarla era particular a cada
computadora. Fue en el año de 1945 cuando el matemático Jhon Von
Neumann[1] fascinado por las posibilidades de ENIAC[2], elaboró un estudio
que demostró que una computadora podía tener una estructura física muy
simple y fija, y aun así ser capaz de ejecutar cualquier tipo de programa
mediante un control correcto, sin la necesidad de modificar la computadora
para esto.

http://www.iesromerovargas.net/DAI/PLE/docs/TEMA1Apendice.pdf

para crear un lenguaje de programación, deberemos crear la herramienta que


lo traduce, y es justamente de ellas, de las que hablaremos a continuación,
para describir como han ido evolucionando en los últimos 50 años.

• 1946: konrad zuse, un ingeniero alemán mientras trabajaba en los alpes de


bavaria, desarrolló el lenguaje plankalkul, el cual, fue aplicado entre otras cosas
para jugar al ajedrez.

• 1949: aparece short code, que viene a ser el primer lenguaje que fue usado
en
un dispositivo de cómputo electrónico, aunque se debe decir que se trata de un
lenguaje traducido a mano.

• 1951: grace hopper , trabajando para remington rand, comenzó el trabajo de


diseño del primer compilador conocido ampliamente, el a-0, el cual, al ser
liberado por la compañía en 1957, lo hizo con el nombre de math-matic.

• 1952: alick e. glennie, durante su tiempo libre en la universidad de


manchester, concibe un sistema de programación llamado autocode, que viene
a ser un compilador muy rudimentario.

• 1957: aparece fortran (formula translator) sistema traductor de fórmulas


matemáticas. fue desarrollado por un equipo, al frente del cual se encontraba
john backus quien después vendría a contribuir en el desarrollo del compilador
para el lenguaje algol y de la notación usada para la especificación sintáctica
de los lenguajes, conocida como bnf (backus naur form).

a partir de los años sesenta, empiezan a surgir diferentes lenguajes de


programación, atendiendo a diversos enfoques, características y propósitos,
que más adelante describiremos. por lo pronto, puede decirse, que actualmente
existen alrededor de 2000 lenguajes de programación y continuamente, están
apareciendo otros más nuevos, que prometen hacer mejor uso de los recursos
computacionales y facilitar el trabajo de los programadores.
tratando de resumir un poco, presentaremos el siguiente cuadro evolutivo,
donde aparecen los lenguajes que por su uso y comercialización, han resultado
ser los más populares a lo largo de este medio siglo

www.erick.cibercalli.com/showpost?postid=17 - 32k
2.1. PRIMEROS LENGUAJES DE PROGRAMACION

2.1.1. SHORTCODE
En 1949,aparece el primer lenguaje que se usó en computadoras electrónicas:
“Shortcode”, requería que el programador convirtiera (compilara) su programa a
0's y 1's de manera manual.

2.1.2. A-0
Fue hasta el año de 1951, que Grace Hopper[3] trabajando para Remington
Rand, comienza a desarrollar el primer compilador, lo que trajo consigo una
programación más rápida.

2.1.3. FORTRAN
Es en el año de 1957 cuando aparece el primero de los grandes lenguajes de
programación de uso aún actualmente: FORTRAN, que proviene de FORmula
TRANslating system. Fue desarrollado por IBM para cómputo científico, el líder
del proyecto fue John Backus, que después contribuiría en ALGOL. El lenguaje
original solo incluía FOR, DO y GOTO. También definió los tipos de datos
básicos: TRUE, FALSE, integer, real, double presicion. El lenguaje original era
bueno manejando números, pero malo manejando entrada y salida, lo cual
propicio la aparición de otros lenguajes orientados a negocios.

2.1.4. LISP
En el año de 1958, el profesor John McCarthy[4] del M.I.T. comenzó a
desarrollar la teoría de un lenguaje de de procesamiento de listas. En 1959
aparece publicamente la primer implementación llamada LISP 1.5.

En 1960 McCarthy publica un histórico articulo[5] acerca de los fundamentos de


LISP que hizo por la programación lo mismo que hizo Euclídes por la
geometría, demostrar como con unos cuantos operadores y una notación para
funciones es posible construir un lenguaje de programación completo[6].

Es importante hacer notar que McCarthy no solo marco un hito en la historia los
lenguajes de programación sino que creo un modelo de programación que ha
demostrado ser superior, tanto que podemos decir que en la actualidad existen
dos grandes modelos de programación el de C y el de Lisp, y podemos notar
que los lenguajes del modelo C tratan de parecerse cada vez mas a Lisp.

2.1.5. ALGOL
En el año de 1958 un comite crea la especificación del lenguaje ALGOL, la
tenia la particularidad de no definir la manera de manejar entrada y salida,
dejando esta parte libre a cada implementación.

Es en 1960 cuando aparece el lenguaje ALGOL 6.0 el primer lenguaje


estructurado en bloques. Este lenguaje fue muy popular en el segundo lustro
de los 60's.

Su principal contribución es ser la raiz del arbol que ha producido lenguajes


tales como pascal, C, C++, y Java.
2.1.6. COBOL
En 1959, Conference on Data Systems and Languages (CODASYL) crea
COBOL, un lenguaje para negocios; que fuera facil de aprender para gente que
no tuviera formación en ciencias de la computación. Sus únicos tipos de datos
fueron cadenas y números. Lo que le dio la característica de poder agruparlos
en arreglos sencillos, de modo que los

datos podian ser organizados y seguidos de una mejor manera. Las sentencias
de COBOL se parecen mucho a las usadas por el idioma inglés, haciendo que
fuera fácil de aprender. Todo esto con la finalidad de que los negocios promedio
lo pudieran aprender y usar.

www.erick.cibercalli.com/showpost?postid=17 - 32k

3. DESARROLLO DE LOS LENGUAJES DE PROGRAMACIÓN

Basados en los primeros lenguajes de programación han surgido muchos otros


lenguajes que siempre tienen la intención de tomar lo mejor, desechar lo malo,
y agregar alguna “novedad”, respecto a los existentes. Solo se hace referencia
a los mas conocidos.

3.1. BASIC
Inventado en 1964 por John George Kemeny y Thomas Eugene Kurtz en el
Colegio Dartmounth. Es un lenguaje muy limitado que fue diseñado para
personas que no fueran del área de ciencias de la computación. El nombre de
BASIC, significa Beginners All-purpose Symbolic Instruction Code.

Los ocho principios de diseño de BASIC fueron:

3.1.1. Ser fácil de usar para los principiantes.


3.1.2. Ser un lenguaje de propósito general.
3.1.3. Permitir que los expertos añadieran características avanzadas,
mientras que el lenguaje permanecía simple para los
principiantes.
3.1.4. Ser interactivo.
3.1.5. Proveer mensajes de error claros y amigables.
3.1.6. Responder rápido a los programas pequeños.
3.1.7. No requerir un conocimiento del hardware de la computadora.
3.1.8. El lenguaje se baso en Fortran y Algol 6.0

3.2. PASCAL
Diseñado por Niklaus Wirth[7], como una herramienta de enseñanza de la
programación. Sus desarrolladores se concentraron en desarrollar buenas
herramientas que contribuyeran a la enseñanza, tal como un buen debugger, y
un buen editor Fue diseñado de una manera muy ordenada, reflejando la
experiencia de su diseñador, tomo las mejores características de los lenguajes
de su tiempo, COBOL, ALGOL, y FORTRAN, al mismo tiempo que busco evitar
sus deficiencias, y hacerlo lo mas claro posible. También implemento el tipo
apuntador y agrego el CASE, e hizo uso de variables dinámicas. Sin embargo
no implemento arreglos dinámicos ni agrupamiento de variables lo cual
contribuyo a su perdida de popularidad frente a nuevos lenguajes. Delphi es
una versión moderna y orientada a objetos de Pascal.

3.3. PROLOG
Diseñado en 1970 en la universidad de Aix-Marseille por los profesores Alain
Colmerauer y Phillipe Roussel, su nombre proviene del frances Programation
et Logique, es popular en los circulos de interes en Inteligencia Artificial. Su
sintaxis y semantica son considerados simples y claros, su paradigma de
programación es el declarativo y un programa en Prolog se compone de
cláusulas que constituyen reglas del tipo modus ponens, es decir, "Si es verdad
el antecendente, entonces es verdad el consecuente". No obstante, la forma de
escribir las cláusulas es al contrario de lo habitual. Primero se escribe el
consecuente y luego el antecedente.

3.4. “C”
Fue diseñado en 1971, por Dennis Ritchie[8] y Ken Thompson[9] mientras
trabajaban para los Laboratorios Bell, y se baso en los lenguajes de
programación B y BCPL.

Se basa en el paradigma imperativo y desde su creación estuvo pensado para


programación de sistemas operativos, se creo para usarse en UNIX, y crecio
de la mano del desarrollo de UNIX, lo que propicio la creación de
características avanzadas tales como variables dinámicas, multitarea, manejo
de interrupciones, forking y un poderoso manejo entrada/salida de bajo nivel.
Debido a esto C es comunmente usado para programación de nivel de sistema
en UNIX, Linux y Mac. Se trata de un lenguaje no fuertemente tipeado de
medio nivel pero con muchas características de bajo nivel. Dispone de las
estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de
construcciones del lenguaje que permiten un control a muy bajo nivel. Destaca
su gran riqueza de operadores y expresiones.

3.5. C++
A finales de los 70's y principio de los 80's un nuevo modelo de de
programación fue desarrollado, la programación orientada a objetos, la idea
básica es que los objetos son piezas de código auto contenidas y reusables.
Inicialmente se llamo C con clases, para posteriormente tomar su nombre
definitivo C++ cuando fue publicado en 1983.
Las principales características del C++ son abstracción, el soporte para
programación orientada a objetos y el soporte de plantillas o programación
genérica. Por lo cual , se puede decir que C++ es un lenguaje multi paradigma
que abarca tres paradigmas de la programación: La programación
estructurada, la programación genérica y la programación orientada a objetos.

3.6. PERL
Perl (Practical Extraction and Report Language), fue desarrollado por Larry
Wall[11], inicialmente motivado para cubrir las carencias de sed y awk y las
limitaciones del shell, su primer versión publica fue anunciada en el Newsgroup
comp.sources.misc el 18 de diciembre de 1987. Actualmente Perl es un
lenguaje de propósito general, usado para amplia gama de tareas que incluyen
administración de sistemas, desarrollo web, programación en red, desarrollo
GUI, si lo deseas, puedes programar orientado a objetos y mucho mas.

Es uno de los lenguajes mas flexibles y poderosos, junto con Lisp, permite
desarrollar prácticamente cualquier cosa con el, es poderoso, flexible y
expresivo. Perl es libre y es divertido, permite ser creativo y no te ata a las
restricciones impuestas por el diseñador del lenguaje, en Perl siempre hay mas
de una manera de hacer las cosas.

3.7. PYTHON
Es un lenguaje interpretado e interactivo, creado por Guido Van Rossum[12] en
1991. Es completamente tipeado dinamicamente, usa manejo automático de
memoria, por lo cual es similar a Lisp, Perl, Ruby, Scheme y Tcl. Algunos lo
consideran la "oposición leal" a Perl, lenguaje con el cual mantiene una
rivalidad amistosa. Los usuarios de Python consideran a éste mucho más
limpio y elegante para programar. Sin embargo esto es mas un punto de vista
de sus usuarios que una realidad.

3.8. RUBY
Es un lenguaje de programación interpretado, orientado a objetos, con una
sintaxis inspirada por Perl y Ada, que también tomo ideas de Lisp, Python,
Dylan y CLU. Fue creado por Yukihiro Matsumoto[13], quien comenzó su
desarrollo en 1993, y lo publico en 1995. El nombre Ruby fue elegido para
reflejar su herencia de Perl.

Entre sus características tenemos:

• Lenguaje de guiones interpretado


• Rápido y sencillo:
• Programación orientada a objetos:

3.9. JAVA
La plataforma Java consta de las siguientes partes:

• El lenguaje de programación, mismo.


• La máquina virtual de Java o JRE, que permite la portabilidad en
ejecución.
• El API Java, una biblioteca estándar para el lenguaje”

“Java es una plataforma de software desarrollada por Sun Microsystems, de tal


manera que los programas creados en ella puedan ejecutarse sin cambios en
diferentes tipos de arquitecturas y dispositivos computacionales.El lenguaje de
programación fue desarrollado por James Gosling[17], y sus equipo en Sun
Microsystems,entre 1990 y 1994, pensado originalmente como un reemplazo
de C++, orientado a dispositivos embebidos, y a la televisión interactiva,
posteriormente que para rescatarlo del fracaso y fue reorientado hacia su
aplicación en la Web.

Las cinco metas del lenguaje Java son:

o Orientado a objetos
o Multiplataforma
o Soporte integrado para redes de computadoras
o Diseñado para ejecutar codigo de fuentes remotas de modo
seguro
o Facil de usar

Desde sus inicios Java no fue bien recibido por su falta de aportaciones
originales, su lentitud, y su rigida estructura, sin embargo en base a intensas
campañas de marketing Sun ha logrado que en los ambientes empresariales
Java sea uno de los “estándares” sobre todo para aplicaciones del lado del
servidor.

3.10. JAVA SCRIPT


Es un lenguaje de script basado en objetos, que se apoya en el modelo de
prototipos. Es muy popular por su uso en sitios Web. Fue desarrollado por
Brendan Eich[20], en su trabajo para Netscape, quien lo publicó en diciembre
de 1995. Desafortunadamente los diferentes navegadores exponen diferentes
objetos y métodos por lo cual es necesario escribir versiones especificas de un
programa en Javascript para los diferentes tipos de navegadores. Entre las
principales tecnologías para interactuar con DOM que usan JavaScript esta
AJAX y DHTML.

3.11. PHP
Creado por Rasmus Lerdorf[21], en 1994, inicialmente eran una serie de scripts
en Perl y posteriormente estos scripts fueron reescritos en C, que el usaba para
algunas tareas Web. Inicialmente significaba “Personal Home Page Tools”, y
fue publicado por primera vez el 8 de junio de 1995, actualmente su nombre
oficial es: “PHP Hypertext Preprocessor”.
Las caracteristicas mas destacadas de PHP son su facilidad de aprendizaje y
que es software libre. Comparte características con otros lenguajes de
programación como C y perl y recientemente con Java.

3.12. C#
Es un lenguaje orientado a objetos desarrollado por Microsoft, tomando ideas
de C++ y Java, como parte de su estrategia comercial .Net.

Esta normalizado, por ECMA quien en el año 2001 publico la “ECMA-334 C#


Language Specification”; en el año 2003 se convirtio en un estandar ISO
“(ISO/IEC

4. CONCEPTOS GENERALES.

Un ordenador consta de dos partes, una es la parte física, conocida como


"Hardware" y otra, la parte lógica denominada "Software".
El software se divide en dos grandes grupos, uno es el conocido como sistema
operativo o sistema de explotación y otra parte son los denominados lenguajes
de programación. Aparte existen infinidad de aplicaciones de "Software" pero
ya para casos concretos, como por ejemplo las aplicaciones contables, las
aplicaciones ofimáticas o los programas científicos.

En general un lenguaje es un método conveniente y sencillo de describir las


estructuras de información y las secuencias de acciones necesarias para
ejecutar una tarea concreta. Una clasificación muy importante de los lenguajes
es la de hacer dos grupos en base a su funcionamiento, esto es considerarlos
como intérpretes y compiladores, según se describe seguidamente.

• Un lenguaje se dice que es un intérprete, por ejemplo los BASIC, cuando


para ejecutar un programa el lenguaje ha de leer y traducir al lenguaje
de la máquina las instrucciones una por una. Como es lógico el proceso
se enlentece, por ejemplo si una operación está dentro de la estructura
conocida como ciclo y este se repite 100 veces, el lenguaje tiene que
traducirlo 100 veces al código de la máquina. No todo son desventajas,
pues la parte buena de este tipo de lenguajes es que los errores se
pueden corregir al momento y seguir fácilmente la ejecución del
programa, por lo cual son idóneos para aprender a programar, proceso
en el que da lo mismo la lentitud.

• Por contra un lenguaje se dice que es compilado, cuando el programa


entero se traduce mediante el compilador de dicho lenguaje al lenguaje
máquina correspondiente y el resultado se almacena de manera
permanente en un archivo. De esta forma el programa se ejecutará de
forma mucho más rápida que con un intérprete, sobre todo si hay
estructuras que se repiten, caso de los ciclos. La principal desventaja es
cuando se produce un error, que muchas veces se detecta en el
momento de la ejecución , y la corrección no se puede hacer de
inmediato, sino que hay que realizar todo el proceso de compilado desde
el principio. Un ejemplo típico de lenguaje de este tipo el C ++,
ampliamente usado en el desarrollo de programas. Rafael Barzanallana_
Universidad de Murcia.mht

5. CLASIFICACION DE LOS LENGUAJES DE PROGRAMACIÓN.

Los lenguajes de programación se pueden clasificar atendiendo a varios


criterios:

• Según el nivel de abstracción


• Según la forma de ejecución
• Según el paradigma de programación que poseen cada uno de ellos

5.1. SEGÚN SU NIVEL DE ABSTRACCIÓN:

5.1.1. . Lenguajes Maquina

Están escritos en lenguajes directamente inteligibles por la maquina


(computadora), ya que sus instrucciones son cadenas binarias (0 y 1). Da la
posibilidad de cargar (transferir un programa a la memoria) sin necesidad de
traducción posterior lo que supone una velocidad de ejecución superior, solo
que con poca fiabilidad y dificultad de verificar y poner a punto los programas.

5.1..2. Lenguajes de bajo nivel

Los lenguajes de bajo nivel son lenguajes de programación que se acercan al


funcionamiento de una computadora. El lenguaje de más bajo nivel por
excelencia es el código máquina. A éste le sigue el lenguaje ensamblador, ya
que al programar en ensamblador se trabajan con los registros de memoria de
la computadora de forma directa.

5.1..3. Lenguajes de medio nivel

Hay lenguajes de programación que son considerados por algunos expertos


como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas
características que los acercan a los lenguajes de bajo nivel pero teniendo, al
mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al
humano y, por tanto, de alto nivel.

5.1..4. Lenguajes de alto nivel

Artículo principal: Lenguaje de alto nivel


Los lenguajes de alto nivel son normalmente fáciles de aprender porque están
formados por elementos de lenguajes naturales, como el inglés. En BASIC, uno
de los lenguajes de alto nivel más conocidos, los comandos como "IF
CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora
que pare si el CONTADOR es igual a 10. Esta forma de trabajar puede dar la
sensación de que las computadoras parecen comprender un lenguaje natural;
en realidad lo hacen de una forma rígida y sistemática, sin que haya cabida,
por ejemplo, para ambigüedades o dobles sentidos.

Entre los lenguajes de alto nivel cabe destacar los siguientes:

• Rafael Barzanallana_ Universidad de Murcia.mht

• JAVA
• BASIC
• FORTRAN
• MODULAN
• Pascal
• ADA
• C
• C ++
• LOGO
• LISP
• PROLOG 5.2. SEGÚN LA FORMA DE EJECUCIÓN

5.2.1.. Lenguajes compilados

Naturalmente, un programa que se escribe en un lenguaje de alto nivel también


tiene que traducirse a un código que pueda utilizar la máquina. Los programas
traductores que pueden realizar esta operación se llaman compiladores. Éstos,
como los programas ensambladores avanzados, pueden generar muchas
líneas de código de máquina por cada proposición del programa fuente. Se
requiere una compilación antes de ejecutar las instrucciones 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, por ejemplo, los lenguajes del
popular Visual Studio de Microsoft), el programa desarrollado nunca se podrá
ejecutar mientras haya errores, sino hasta que tras haber compilado el
programa, ya no aparecen errores en el código.

5.2.2.. 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 compilación
para utilizarlo en una ejecució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 procesamiento de los datos. El código objeto no se graba
para utilizarlo posteriormente.

La siguiente vez que se utilice una instrucción, se la deberá interpretar otra vez
y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo
de los pasos de un ciclo o bucle, cada instrucción del bucle tendrá que volver a
ser interpretada en cada ejecución repetida del 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 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 ejecución del código.

http://www.iesromerovargas.net/DAI/PLE/docs/TEMA1Apendice.pdf

5.3.. CLASIFICACIÓN SEGÚN EL ENTORNO DE PROGRAMACIÓN


Finalmente, existen otros conceptos tomados en cuenta para agrupar los
lenguajes, que dan origen a diversas clasificaciones, entre los que destacan las
siguientes:

5.3..1. Lenguajes de cuarta generación 4GL: Estos lenguajes se distinguen


por formar parte de un entorno de desarrollo, que comprende el manejador de
una base de datos, y todo lo que de esto se deriva, como la administración de
un diccionario de datos, el control de accesos, el manejo de la consistencia de
la información y otras características enfocadas a facilitar los programas de
acceso y explotación de la información. Como ejemplos podemos citar a los 4
grandes: PROGRESS, SYSBASE,
INFORMIX, y ORACLE.

5.3.2. Lenguajes Visuales. Se les llama de esta manera a los lenguajes que
forman parte de una aplicación dotada de una Interfase gráfica, la cual por
medio de iconos y otras herramientas visuales y simbólicas, pretenden facilitar
las tareas rutinarias de los programadores, como son el diseño y desarrollo de
formularios e informes. Los ejemplos más comerciales de estos lenguajes son:
VISUAL BASIC, VISUAL CAFE,
VISUAL FOX, etc.

5.3.3. Metalenguajes: Son lenguajes como XML, SGML y HTML que sirven
para definir otros lenguajes, cuyo objetivo es llevar a cabo la estructuración de
textos mediante un conjunto de etiquetas, de manera tal, que puedan ser
entendidos por los humanos y también procesado por los ordenadores. Estos
lenguajes están teniendo un gran auge sobre la plataforma de Internet, en la
cual son usados para la creación de documentos, y el intercambio o
transferencia de información.

5.3.4. Lenguajes de propósito específico: Son aquellos lenguajes


desarrollados con la finalidad de resolver problemas de una naturaleza muy
determinada, tal como SPSS para problemas estadísticos, MATLAB para
cálculos científicos y de ingeniería,
CAD/CAM para el diseño de piezas y programación de máquinas de control
numérico, como tornos y fresadoras, GPSS para simulación de sistemas,
CORBA para el manejo de interfaces en ambientes cliente-servidor, etc.

5.3.5. Lenguajes Script: Son lenguajes como JAVASCRIPT, VBSCRIPT,


PERLSCRIPT, que se utilizan en ambientes clientes servidor, mediante la
incrustación de código en las páginas HTML, y así permitir la programación del
lado del cliente, buscando fundamentalmente, hacer más atractivos los
interfaces gráficos de las páginas.

http://www.iesromerovargas.net/DAI/PLE/docs/TEMA1Apendice.pdf

http://www.iesromerovargas.net/DAI/PLE/docs/TEMA1Apendice.pdf

5.4. CLASIFICACION SEGUNB EL ESTILO DE PROGRAMACION

De acuerdo con el estilo de programación, podemos clasificar los lenguajes en


las siguientes categorías:

5.4.1. IMPERATIVOS: Son aquellos lenguajes, que basan su funcionamiento


en un conjunto de instrucciones secuenciales, las cuales, al ejecutarse, van
alterando las regiones de memoria donde residen todos los valores de las
variables involucradas en el problema que se plantea resolver. Es decir, se
cambia progresivamente el estado del sistema, hasta alcanzar la solución del
problema. Como un ejemplo ilustrativo vamos a escribir un programa en un
lenguaje de este tipo para calcular el factorial de un número positivo x.
READ(x);
fac := 1 ;
for i = 1 to x do
{
fac := fac * i ;
}
WRITELN(fac);

5.4.2. Declarativos: En este paradigma, más que el ¿cómo? desarrollar paso a


paso un proceso, nos interesa el ¿qué? deseamos obtener a través del
programa. Quizás el lenguaje declarativo que nos sea más familiar, es SQL, el
cual es utilizado para interactuar con la información de bases de datos,
concentrándose (como se podrá observar en el siguiente ejemplo), sólo en los
resultados que van a ser obtenidos, dejándole al traductor la tarea de cómo
llegar a ellos y presentárnoslos
SELECT * FROM alumnos WHERE sexo = "M" ORDER BY edad

5.4.3. Orientados a Objetos: Este último paradigma, como se puede observar


en la figura 1, algunas veces se mezcla con alguno de los otros 2 modelos, sin
embargo mantiene características propias, que lo diferencian claramente. Los
programas de este tipo, se concentran en los objetos que van a manipular, y no
en la lógica requerida para manipularlos. Ejemplos de objetos pueden ser:
estudiantes, coches, casas etc, cada uno de los cuales tendrá ciertas funciones
(métodos) y ciertos valores que los identifican, teniendo además, la facultad de
comunicarse entre ellos a través del paso de mensajes. Cabe mencionar con
más detalle los elementos fundamentales que deben de poseer este tipo de
lenguajes:

• Abstracción: Determinación de las características de los objetos, que


sirven para identificarlos y hacerlos diferentes a los demás.
y almacena los elementos que definen la estructura y el comportamiento de
una abstracción, en un mismo lugar.
• Modularidad: Es la propiedad de agrupar las abstracciones que
guardan cierta relación lógica, y a la vez minimizar la interdependencia
entre las diversas agrupaciones.
• Jerarquía: Consiste en establecer un orden o una clasificación de las
abstracciones
• http://www.iesromerovargas.net/DAI/PLE/docs/TEMA1Apendice.pdf

5.4. SEGÚN EL PARADIGMA DE PROGRAMACIÓN


Artículo principal: Paradigma de programación

Un paradigma de programación representa un enfoque particular o filosofía


para la construcción del software. No es mejor uno que otro, sino que cada uno
tiene ventajas y desventajas. Dependiendo de la situación un paradigma resulta
más apropiado que otro.

Atendiendo al paradigma de programación, se pueden clasificar los lenguajes


en :

• El paradigma imperativo o por procedimientos es considerado el más


común y está representado, por ejemplo, por el C o por BASIC.
• El paradigma funcional está representado por la familia de lenguajes
LISP (en particular Scheme), ML o Haskell.
• El paradigma lógico, un ejemplo es PROLOG.
• El paradigma orientado a objetos. Un lenguaje completamente orientado
a objetos es Smalltalk. WIKIPEDIA La enciclopedia libre
6. ALGUNOS DE LOS LENGUAJES DE PROGRAMACION
AMPLIAMENTE USADOS.

Principal área de
Lenguaje Compilado/interpretado
aplicación

ADA Tiempo real Lenguaje compilado

Programación para fines


BASIC Lenguaje interpretado
educativos

C Programación de sistema Lenguaje compilado

Programación de sistema
C++ Lenguaje compilado
orientado a objeto

Cobol Administración Lenguaje compilado

Fortran Cálculo Lenguaje compilado

Programación orientada a
Java Lenguaje intermediario
Internet

MATLAB Cálculos matemáticos Lenguaje interpretado

Cálculos
Cálculos matemáticos Lenguaje interpretado
matemáticos

LISP Inteligencia artificial Lenguaje intermediario

Pascal Educación Lenguaje compilado

Desarrollo de sitios web


PHP Lenguaje interpretado
dinámicos

Inteligencia
Inteligencia artificial Lenguaje interpretado
artificial

Procesamiento de cadenas
Perl Lenguaje interpretado
de caracteres
: ES.KIOSKEA.NET

7. ALGUNOS LENGUAJES DE PROGRAMACION.


• ABAP • ML • MESA • SAPPLE
• ABC • EUPHOR • MIRANDA R
• ACTIONSCRI IA • ML • SATHER
PT • FÉNIX • MODULA • SCHEME
• ADA • FISH • MODULA-2 • SCRIPT
• AFNIX • FLOW- • MODULA-3 OL
• ALGOL MATIC • NATURAL • SEED7
• AMIGAE • FORTH • NETREXX • SELF
• APL • FORTRA • OBERON • SH
• ASP N • OBJECT • SIMULA
• ASP.NET • FP REXX • SMALLT
• AWK • GAMBAS • OBJECTIVE- ALK
• B • GML C • SNOBOL
• BASIC • GRAFCE • OBJECTPAL • SPARK
• BATCH T • OCAML • SQUEAK
• BCPL • HASKEL • OCCAM • SR
• BEFUNGE L • OZ • STANDA
• BOO • H4XX0R • PASCAL RD ML
• C • HTML • PARLOG • TI-BASIC
• C++ • ICON • PERL • TCL
• C# • INFORM • PHP • VBA
• CAML • INTERCA • PL/1 • VELNEO
• CLIPPER L • PLANKALKÜ • VISUAL
• CLIPS • ISWIM L BASIC
• CLU • J • POSTSCRIP • VISUAL
• COBOL • JAVA T BASIC
• CORAL • JAVASC • POWERBUIL .NET
• D RIPT DER • VISUAL
• DELPHI • JOY • PROLOG C++
• DIV • KWC • PYTHON • VISUAL
• DYLAN • LADDER • R DIALOG
• EIFFEL • LETRA • RAPID SCRIPT
• ERENSAMBL • LEXICO • REXX • VISUAL
ADOR • LINGO • RPN FOXPRO
• LANG • LISP • RPG • VISUAL
• LOGO • RUBY JAVA
• EXTENDED • LUA • SAIL • XBASE+
• MAGIC +
• MAINSAI • YURIX
L • ZPL
• MAC
ARMY

• WIKIPEDIA La enciclopedia libre


8. . PROGRAMACIÓN ESTRUCTURADA:

Se llama programación estructurada a la aplicación de los métodos básicos de


descomposición de problemas, para establecer una estructura jerárquica
fácilmente utilizable, a través de un proceso progresivo

Es un método de construcción y diseño de programar en el que participan


características como la modificación y la facilidad en uso

La programación estructurada se basa en 3 técnicas básicas

• Diseño descendente.- consiste en dividir el problema y hacer la


segmentación por paso en los diferentes niveléis el programa es
complejo se divide en subprocesos
• Recursos abstractos.- consiste en el proceso de realización de los
diferentes pasos hasta encontrar la solución de un problema
• Estructura básica de control.- consiste en que el programa cuenta con
un único punto de entrada y diferentes tipos de salida

La programación estructurada es una teoría de programación que consiste en


construir programas de fácil comprensión.

La programación estructurada es especialmente útil, cuando se necesitan


realizar correcciones o modificaciones después de haber concluido un
programa o aplicación. Al haberse utilizado la programación estructurada, es
mucho más sencillo entender la codificación del programa, que se habrá hecho
en diferentes secciones.

La programación estructurada se basa en una metodología de desarrollo de


programas llamada refinamientos sucesivos: Se plantea una operación como
un todo y se divide en segmentos más sencillos o de menor complejidad. Una
vez terminado todos los segmentos del programa, se procede a unificar las
aplicaciones realizadas por el pool de programadores. Si se ha utilizado
adecuadamente la programación estructurada, esta integración debe ser
sencilla y no presentar problemas al integrar la misma, y de presentar algún
problema, será rápidamente detectable para su corrección.

La representación grafica de la programación estructurada se realiza a través


de diagramas de flujo o flow chart, el cual representa el programa con sus
entradas, procesos y salidas.

La programación estructurada propone segregar los procesos en estructuras lo


más simple posibles, las cuales se conocen como secuencia, selección e
interacción. Ellas están disponibles en todos los lenguajes modernos de
programación imperativa en forma de sentencias. Combinando esquemas
sencillos se pueden llegar a construir sistemas amplios y complejos pero de
fácil entendimiento.

Ventajas:
- El programa se puede segmentar los varios partes

- Se puede detectar (si se hizo bien los segmentos) rápidamente los errores

- A partir de esquemas sencillos se puede construir un sistema amplio y


complejo pero amigable

Desventajas

- Si se hacen mal los esquemas no se podrán detectar los errores

- Tener un buen conocimiento de lo que se quiere hacer en el diagrama de flujo

Programación Procedimental

Con la programación procedimental podemos combinar las secuencias de


instrucciones repetibles en un solo lugar. Una llamada de procedimiento se
utiliza para invocar al procedimiento. Después de que la secuencia es
procesada, el flujo de control procede exactamente después de la posición
donde la llamada fue hecha

Al introducir parámetros así como procedimientos de procedimientos


(subprocedimientos) los programas ahora pueden ser escritos en forma más
estructurada y libres de errores. Por ejemplo, si un procedimiento ya es
correcto, cada vez que es usado produce resultados correctos.

Por consecuencia, en caso de errores, se puede reducir la búsqueda a aquellos


lugares que todavía no han sido revisados.

De este modo, un programa puede ser visto como una secuencia de llamadas
a procedimientos. El programa principal es responsable de pasar los datos a
las llamadas individuales, los datos son procesados por los procedimientos y,
una vez que el programa ha terminado, los datos resultantes son presentados.
Así, el flujo de datos puede ser ilustrado como una gráfica jerárquica, un árbol,
como se muestra en la para un programa sin subprocedimientos.

Para resumir: tenemos ahora un programa único que se divide en pequeñas


piezas llamadas procedimientos. Para posibilitar el uso de procedimientos
generales o grupos de procedimientos también en otros programas, aquéllos
deben estar disponibles en forma separada. Por esa razón, la programación
modular permite el agrupamiento de procedimientos dentro de módulos.

Ventajas

• Los errores son mas rápidos de encontrar

• Son menos frecuentes los errores

• Búsqueda mas exacta de errores


RINCON DEL VAGO.COM

8.1. GENERACIONES DE LOS LENGUAJES DE PROGRAMACION.

La evolución de los lenguajes de programación se puede dividir en 5 etapas o


generaciones.

• Primera generación: lenguaje maquina.


• Segunda generación: se crearon los primeros lenguajes ensambladores.
• Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C,
Pascal, Cobol…
• Cuarta generación. Son los lenguajes capaces de generar código por si
solos, son los llamados RAD, con lo cuales se pueden realizar
aplicaciones sin ser un experto en el lenguaje. Aquí también se
encuentran los lenguajes orientados a objetos, haciendo posible la
reutilización d partes del código para otros programas. Ej. Visual, Natural
Adabes.
• Quinta generación: aquí se encuentran los lenguajes orientados a la
inteligencia artificial. Estos lenguajes todavía están poco desarrollados.
Ej. LISP DESARROLLOWEB.COM

http://www.lacofa.es/index.php/tag/lenguajes-de-programacion

8.2. TENDENCIAS EN LOS LENGUAJES DE PROGRAMACIÓN AÑO 2008

Como cada año, en O’Reilly hacen un estudio del estado de la publicación de


libros técnicos, lo que sirve para identificar también tendencias en cuanto a la
popularidad y uso de determinadas tecnologías y lenguajes de programación.
Este gráfico muestra la evolución del mercado de libros sobre lenguajes de
programación que, por cierto, ha caído ligeramente en el último año:
(en la imagen, el área representa la cantidad de libros vendidos, y el color la
tendencia, siendo el verde creciente y el rojo decreciente)

Lo más destacado del estudio es el crecimiento moderado de lenguajes muy


difundidos como C#, Ruby y Python, y el rápido crecimiento de otros menos
conocidos como powershell, y actionscript. En el lado negativo, se constata el
declive de Visual Basic, .NET y Perl. Por último, hay un fuerte estancamiento
en la mayoría de los lenguajes más asentados como Java (que en realidad
sigue una clara tendencia a la baja), Javascript, C/C++, PHP o SQL.
El estudio analiza también libros referidos a otras tecnologías, no sólo
lenguajes. Aquí se puede destacar el fuerte crecimiento de todo lo relacionado
con Windows Vista (esperable), “colaboración” (con Microsoft SharePoint como
máximo exponente), Office (especialmente la versión 2007), y Cisco. En el otro
extremo, los descensos más acusados están en libros sobre creación de
páginas web, fotografía digital y programación Web.
Citando a:
 La Cofa (”Tendencias en lenguajes de programación“)
 O’Reilly Radar (”State of the Computer Book Market, Part 1: The Market“,
y resto de artículos de la serie)
http://www.lacofa.es/index.php/tag/lenguajes-de-programacion

Vous aimerez peut-être aussi