Paper Lenguajes de Programación 2012

9
 LENGUAJES DE PROGRAMACION  Abst rac t - Programming languages are like human languages have syntactic and semantic rules to define the meaning of each of its processes, which the programmer whether to find the most understandable by the user and also we can find various types of languages either low, high or very high level, we also find the Compilers and Interpreters who do the heavy lifting of Binary language Translate to the language of the processor. This program will also adjusting from the earliest times to the Present, (As one of the most important branches and without saying it is the most fundamental so that everything can happen with a simple click of the User). K ey Wor d s    Programming language, Low Level, High Level, Compilers, Interpreters. R esum en- Los lenguajes de Programación son como los lenguajes humanos, tienen reglas sintácticas y semánticas, para definir el significado de cada uno de sus procesos, el cual el programador en si debe encontrar la forma más entendible por el usuario y además nos podemos encontrar con varios tipos de lenguajes ya sea de bajo, de alto o de muy alto nivel, también encontramos los Compiladores e Intérpretes quienes hacen el trabajo pesado de Traducir al Lenguaje Binario, al lenguaje del Procesador. Así también la programación se va adecuando de los tiempos más Remotos a la Actualidad, (Siendo una de las ramas más importantes y sin decir que es la más fundamental para que todo pueda suceder por un simple click del Usuario). Palabras Claves    Lenguaje de Programación, Bajo Nivel, Alto Nivel, Compiladores, Intérpretes. I. INTRODUCCIÓN LENGUAJES DE PROGRAMACIÓN as personas para comunicarse entre sí utilizan un lenguaje que puede ser oral o escrito. En general, para comunicar algo siempre se usa un lenguaje. La informática no queda excluida del uso de lenguajes, ya que estos son la manera de especific ar las acciones que se desea sean realizadas en la computadora. En otras palabras, son la interface entre el programador y la computadora. A través de ellos podemos desarrollar programas o ap licaciones, que se componen por un conjunto de instrucciones que luego se ejecutarán en la computadora haciendo uso de sus recursos (CPU, memoria, disco, etc.). Los lenguajes de programación están destinados a distintos ámbitos, dependiendo de sus características que simplifica n algunas tareas y complejizan otras. Pueden estar destinados a a plicacio nes científicas, aplicaciones de n egocios , inteligencia artificial, programación de sistemas, Scripting, y también disponemos de lenguajes de propósitos especiales. Los lenguajes de programación tienen una estructura compleja que se compone de varias partes: sintaxis, semántica, elementos del lenguaje, nivel de abstracción,  paradigma, estructu ras de control para ordenar l a ejecución de los programas, tipos de datos (números, letras, etc.), y funciones o procedimientos (unidades) que contienen un conjunto de instrucciones, entre otras. No hay un único tipo de lenguajes, sino que se clasifican según las características que  posean y según el pa radigma y co nceptos que soporten.  Por su nivel:  Máquina  Bajo nivel.  Alto nivel.  Muy Alto nivel  Por su jerarquiza ción:  Primera generación.  Segunda generación.  Tercera generación.  Cuarta generación.  Quinta generación. Verán una tabla compa rativa entre algu nos lenguajes, encontrando sus ventajas y de sventajas, todo para una mejo r manera de compre nsión. Al final de éste  paper  nos daremos cuenta de que nos  presentamos con una forma de comunicació n entre h ombre - máquina, teniendo ya conocimientos de su forma, y uso en el ámbito de la programación. II. LA CLASIFICACIÓN Y SUS CARACTERÍSTICAS A pesar de no tener mucho tiempo de duración, la historia de la computación electrónica produjo una interminable lista de variedad de lenguajes para programación muy reconocibles y en uso actual. En sus inicios estos lenguajes se parecían mucho al lenguaje de las computadoras como lo es el lenguaje maquina que consiste en ce ros y unos, pero c on el tiempo han ido cambiando hasta asimila rse más a un lenguaje humano y Autores: Carlos González, Alexis Romo, Jhonatan Barrie ntos y Fran cisco González. Pontificia Universidad Católica de Valparaíso, Chile. Escuela de Ingeniería Informátic a. Paper Lenguajes de Programación L 

Transcript of Paper Lenguajes de Programación 2012

Page 1: Paper Lenguajes de Programación 2012

5/17/2018 Paper Lenguajes de Programaci n 2012 - slidepdf.com

http://slidepdf.com/reader/full/paper-lenguajes-de-programacion-2012 1/9

LENGUAJES DE PROGRAMACION

 Abstract - Programming languages are like human languageshave syntactic and semantic rules to define the meaning of eachof its processes, which the programmer whether to find themost understandable by the user and also we can find varioustypes of languages either low, high or very high level, we alsofind the Compilers and Interpreters who do the heavylifting of Binary language Translate to the language of theprocessor. This program will also adjusting from the earliesttimes to the Present, (As one of the most importantbranches and without saying it is the most fundamental so thateverything can happen with a simple click of the User).

 Key Words — Programming language, Low Level, High Level,Compilers, Interpreters.

 Resumen- Los lenguajes de Programación son como loslenguajes humanos, tienen reglas sintácticas y semánticas, paradefinir el significado de cada uno de sus procesos, el cual elprogramador en si debe encontrar la forma más entendible por elusuario y además nos podemos encontrar con varios tipos delenguajes ya sea de bajo, de alto o de muy alto nivel, tambiénencontramos los Compiladores e Intérpretes quienes hacen eltrabajo pesado de Traducir al Lenguaje Binario, al lenguaje delProcesador. Así también la programación se va adecuando de lostiempos más Remotos a la Actualidad, (Siendo una de las ramasmás importantes y sin decir que es la más fundamental para que

todo pueda suceder por un simple click del Usuario).

 Palabras Claves  —  Lenguaje de Programación, Bajo Nivel,Alto Nivel, Compiladores, Intérpretes.

I.  INTRODUCCIÓN LENGUAJES DE PROGRAMACIÓN

as personas para comunicarse entre sí utilizan unlenguaje que puede ser oral o escrito.En general, para comunicar algo siempre se usa un

lenguaje.La informática no queda excluida del uso de lenguajes, ya queestos son la manera de especificar las acciones que se deseasean realizadas en la computadora. En otras palabras, son lainterface entre el programador y la computadora. A través deellos podemos desarrollar programas o aplicaciones, que secomponen por un conjunto de instrucciones que luego seejecutarán en la computadora haciendo uso de sus recursos(CPU, memoria, disco, etc.).

Los lenguajes de programación están destinados adistintos ámbitos, dependiendo de sus características quesimplifican algunas tareas y complejizan otras. Pueden estar

destinados a aplicaciones científicas, aplicaciones de negociointeligencia artificial, programación de sistemas,

Scripting, y también disponemos de lenguajes de propósitosespeciales. Los lenguajes de programación tienen unaestructura compleja que se compone de varias partes: sintaxissemántica, elementos del lenguaje, nivel de abstracción,paradigma, estructuras de control para ordenar la ejecución delos programas, tipos de datos (números, letras, etc.), yfunciones o procedimientos (unidades) que contienen unconjunto de instrucciones, entre otras. No hay un único tipo d

lenguajes, sino que se clasifican según las características queposean y según el paradigma y conceptos que soporten.

Por su nivel:

  Máquina  Bajo nivel.  Alto nivel.  Muy Alto nivel

Por su jerarquización:

  Primera generación.  Segunda generación.  Tercera generación.  Cuarta generación.  Quinta generación.

Verán una tabla comparativa entre algunos lenguajes,encontrando sus ventajas y desventajas, todo para una mejormanera de comprensión.

Al final de éste  paper  nos daremos cuenta de que nopresentamos con una forma de comunicación entre hombre máquina, teniendo ya conocimientos de su forma, y uso en eámbito de la programación.

II.  LA CLASIFICACIÓN Y SUS CARACTERÍSTICAS 

A pesar de no tener mucho tiempo de duración, la historia dla computación electrónica produjo una interminable lista dvariedad de lenguajes para programación muy reconocibles en uso actual. En sus inicios estos lenguajes se parecíamucho al lenguaje de las computadoras como lo es el lenguajmaquina que consiste en ceros y unos, pero con el tiempo haido cambiando hasta asimilarse más a un lenguaje humano

Autores: Carlos González, Alexis Romo, Jhonatan Barrientos y Francisco González.Pontificia Universidad Católica de Valparaíso, Chile.

Escuela de Ingeniería Informática.

Paper Lenguajes de Programación

Page 2: Paper Lenguajes de Programación 2012

5/17/2018 Paper Lenguajes de Programaci n 2012 - slidepdf.com

http://slidepdf.com/reader/full/paper-lenguajes-de-programacion-2012 2/9

LENGUAJES DE PROGRAMACION

cotidiano más específicamente el inglés o bien a formasgráficas más expresivas y sintéticas. Mientras más se parezcaun lenguaje al de la computadora se le clasifica como unlenguaje de bajo nivel, lo opuesto es de alto nivel .Existencinco generaciones de lenguajes de programación, en dondecada uno mejora a sus predecesores en cuanto a las facilidadesque otorga al programador.

1.Lenguaje máquina.2. Lenguajes ensambladores.3. Lenguajesde alto nivel.4. Lenguajes de muy alto nivel.5. Lenguajesnaturales.Lenguaje Máquina

Es el lenguaje de más bajo nivel, a través de un sistemabinario que consiste en 0s y 1s muestra datos e instrucciones,y el elemento ejecutor es la circuitería misma de lacomputadora. Al principio de la comunicación electrónicacada máquina tenía su propio lenguaje, lo que complicaba alos programadores que tenían sistemas rudimentarios paracombinar números que representaran las instrucciones mássimples como SUMAR y COMPARAR. Los métodos deprogramación en este lenguaje ocupan mucho tiempo ademásde ser poco prácticos, por lo que en poco tiempo losprogramadores comenzaron a ocupar los lenguajesensambladores.

 Lenguajes Ensambladores

Los lenguajes ensambladores significaron un gran avance; enlugar de ceros y unos se utilizan códigos mnemónicos (paraayudar a la memoria) o abreviatura fáciles de recordar para lasinstrucciones: ADD (sumar), STO (almacenar), C (comparar),etcétera. Para usar un lenguaje ensamblador se requiere unlenguaje traductor que convierta los programas en

ensamblador a lenguaje máquina que es el único quecomprende la computadora. Este traductor se llama programaensamblador. Aún cuando los ensambladores representaron unpaso adelante, todavía tenían muchos inconvenientes, porejemplo, que son detallados en extremo y su programación estediosa, repetitiva y propensa al error.

 Lenguaje de alto nivel. Se separaran en tres generaciones

 3GL.

La investigación sobre los lenguajes de alto nivel se inicia en1945, con el ingeniero alemán Konrad Zuse, pero hasta elinicio de los 1960 que se generaliza su uso, transformando

radicalmente la actividad de la programación. Estos lenguajesse asemejan más a la lengua humana, particularmente elinglés, con menos detalles y con menos declaracionesdescriben tareas más complejas para la computadora. Comoresultado, los programadores logran trabajos de mayor alcancey con menos esfuerzo. Obviamente se requiere de un traductorde las declaraciones simbólicas de un lenguaje de alto nivel allenguaje máquina ejecutable por la computadora, estostraductores se llaman compiladores (el primero se desarrolloen 1952). Existen compiladores para cada lenguaje y cadamáquina, pero una ventaja de los lenguajes de alto nivel es quese pueden trasladar de una máquina a otra con pocas o nulas

modificaciones .Entre los lenguajes de esta generación sencuentran los de propósito general como BASIC, FORTRANy COBOL que han sido muy populares. Además se encuentraPascal, C y sus derivados.En los primeros lenguajes de alto nivel la limitación era que sorientaban a un área específica y sus instrucciones requeríade una sintaxis predefinida. Se clasifican como lenguajeprocedimentales.

Otra limitación de los lenguajes de alto nivel es que srequiere de ciertos conocimientos de programación parrealizar las secuencias de instrucciones lógicas.Para que el usuario común pudiese solucionar tal problema dprocesamiento de datos de una manera más fácil y rápida. Screaron Los lenguajes de muy alto nivel cuarta generació(4GL).Los lenguajes de la cuarta generación, 4GL’s, son llamado

lenguajes de muy alto nivel. Se trata esencialmente de lolenguajes de programación taquigráficos;Entre las características de estos lenguajes está el que no sode procedimientos. En los lenguajes de procedimientos se diccon detalle a la computadora la tarea a realizar. En lodeclarativos se define solamente lo que se va hacer. Enfatizael qué en lugar del cómo.

Este lenguaje puede ser usado con un mínimo dentrenamiento y ahorran al usuario la necesidad de conocer fondo el hardware y la programación. Entre los inconvenientede estos lenguajes se encuentra que no hacen uso eficiente dlos recursos computacionales.Sin embargo

A menudo no cumplen con estándares internacionales ISOANSI. Por este motivo, invertir tiempo y dinero, es un riesgo futuro, porque no se sabe a ciencia cierta, cuánto tiemppermanecerá la herramienta y su fabricante, en el mercado.

Lenguaje NaturalEn la quinta generación se encuentran los llamados Lenguajenaturales, por su acercamiento a la lengua escrita. El uso de ulenguaje natural con una base de conocimientos produce usistema basado en el conocimiento.O sea emplean la programación con restricciones parresolver problemas, en lugar de emplear algoritmos escritopor el programador.

1a• Codigo Binario

2a•  Ensamblador 

3a• Orientado a "x" Funciones

Page 3: Paper Lenguajes de Programación 2012

5/17/2018 Paper Lenguajes de Programaci n 2012 - slidepdf.com

http://slidepdf.com/reader/full/paper-lenguajes-de-programacion-2012 3/9

LENGUAJES DE PROGRAMACION

Una clase de estos sistemas son los Sistemas expertos, queson base de la Inteligencia Artificial. (IA). Japón ha sido

pionero en este tipo de lenguajes pero sus éxitos prácticos hansido pocos. Muchos conocedores opinan que los sistemasexpertos han sido fracaso lo que ha llevado el nombre de estageneración en desuso, pero es probable que encuentren nuevosrumbos de evolución.

III.  VENTAJAS Y DESVENTAJAS DE LENGUAJES DE

PROGRAMACIÓN.

 Lenguaje de Programación “C”: 

“C” es un lenguaje de programación creado en 1972 porDennis M. Ritchie en los Laboratorios Bell como evolucióndel anterior lenguaje B, a su vez basado en BCPL.

Al igual que “B”, es un lenguaje orientado a laimplementación de Sistemas Operativos, concretamente Unix.C es apreciado por la eficiencia del código que produce y es ellenguaje de programación más popular para crear software desistemas, aunque también se utiliza para crear aplicaciones.

Se trata de un lenguaje débilmente representado de medionivel pero con muchas características de bajo nivel. Disponede las estructuras típicas de los lenguajes de alto nivel pero, asu vez, dispone de construcciones del lenguaje que permitenun control a muy bajo nivel. Los compiladores suelen ofrecerextensiones al lenguaje que posibilitan mezclar código enensamblador con código C o acceder directamentea memoria o dispositivos periféricos.

La primera estandarización del lenguaje “C” fue en ANSI, conel estándar X3.159-1989. El lenguaje que define este estándarfue conocido como ANSI C. Posteriormente, en 1990, fueCertificado como estándar ISO (ISO/IEC 9899:1990). Laadopción de este estándar es muy amplia por lo que, si los

programas creados lo siguen, el código es portátil entreplataformas y/o arquitecturas.

Ventajas “C”:

* Un núcleo del lenguaje simple, con funcionalidade

añadidas importantes, como funciones matemáticas y d

manejo de archivos, proporcionadas por biblioteca

* Es un lenguaje muy flexible que permite programar comúltiples estilos. Uno de los más empleados es el estructurad

"no llevado al extremo" (permitiendo ciertas licencias d

ruptura).

* Un sistema de tipos que impide operaciones sin sentido

* Usa un lenguaje de pre-procesado, el preprocesador de C

 para tareas como definir macros e incluir múltiples archivo

de código fuente

* Acceso a memoria de bajo nivel mediante el uso d

 punteros.* Interrupciones al procesador con uniones

* Un conjunto reducido de palabras clave* Tipos de datos agregados (struct) que permiten que dato

relacionados (como un empleado, que tiene un id, un nombr

 y un salario) se combinen y se manipulen como un todo (e

una única variable "empleado" 

Desventajas de “C”:

* Recolección de basura nativa, sin embargo se encuentran a

tal efecto bibliotecas como la "libgc" desarrollada por Sun

 Microsystems, o el Recolector de basura de Boehm.

* Soporte para programación orientada a objetos, aunque la

TABLE IUNITS FOR MAGNETIC PROPERTIES 

Symbol QuantityConversion from Gaussian and

CGS EMU to SI a 

  magnetic flux 1 Mx 108 Wb = 108 V·s B magnetic flux density,

magnetic induction1 G 104 T = 104 Wb/m2

 H  magnetic field strength 1 Oe 103 /(4) A/mm magnetic moment  1 erg/G = 1 emu

103 A·m2 = 103 J/T M  magnetization 1 erg/(G·cm3) = 1 emu/cm3 

103 A/m4 M  magnetization 1 G 103 /(4) A/m  specific magnetization 1 erg/(G·g) = 1 emu/g 1 A·m2 /kg

 j magnetic dipolemoment

1 erg/G = 1 emu 4  1010 Wb·m

 J  magnetic polarization 1 erg/(G·cm3) = 1 emu/cm3  4  104 T

 ,   susceptibility 1 4   mass susceptibility 1 cm3 /g 4  103 m3 /kg  permeability 1 4  107 H/m

= 4  107 Wb/(A·m)r  relative permeability   r w, W  energy density 1 erg/cm3  101 J/m3

Fig.1. Este Gráfico Indica una Gran Diferencia entre el lenguaje java y (C,C++, Python), quedando a una Brecha más Corta con otros lenguajes deProgramación, siguiéndole PHP.

6%

Tabla de Evolución de los Lenguajes deProgramación

Page 4: Paper Lenguajes de Programación 2012

5/17/2018 Paper Lenguajes de Programaci n 2012 - slidepdf.com

http://slidepdf.com/reader/full/paper-lenguajes-de-programacion-2012 4/9

LENGUAJES DE PROGRAMACION

implementación original de C++ fue un preprocesador que

traducía código fuente de C++ a C.

* Encapsulación.

* Funciones anidadas, aunque GCC tiene esta característica

como extensión.

* Polimorfismo en tiempo de código en forma de sobrecarga,

sobrecarga de operadores y sólo dispone de un soporte

rudimentario para la programación genérica.

* Soporte nativo para programación multihilo y redes de

computadores.

 Lenguaje de Programación “Visual   Basic”: 

Visual Basic es uno de los tantos lenguajesde programación que podemos encontrar hoy en día.Dicho lenguaje nace del BASIC (Beginner´s All-purposeSymbolic Instruction Code) que fue creado en su versión

original en el Dartmouth College, con el propósito de servir aaquellas personas que estaban interesadas en iniciarse en algúnlenguaje de programación. Luego de sufrir variasmodificaciones, en el año 1978 se estableció el BASICestándar. La sencillez del lenguaje ganó el desprecio de losprogramadores avanzados por considerarlo "un lenguaje paraprincipiantes".

Primero fue GW-BASIC, luego se transformó enQuickBASIC y actualmente se lo conoce como Visual Basic yla versión más reciente es la 6 que se incluye en el paqueteVisual Studio 6 de Microsoft. Esta versión combina la

sencillez del BASIC con un poderoso lenguaje deprogramación Visual que juntos permiten desarrollarrobustos programas de 32 bits para Windows. Esta fusión desencillez y la estética permitió ampliar mucho más elmonopolio de Microsoft, ya que el lenguaje sólo es compatiblecon Windows, un sistema operativo de la misma empresa.

Visual Basic ya no es más "un lenguaje para principiantes"sino que es una perfecta alternativa para los programadores decualquier nivel que deseendesarrollar aplicaciones compatibles con Windows.

Ventajas de “Visual Basic”: * Es un lenguaje RAD.

* Posee una curva de aprendizaje muy rápida.

* Integra el diseño e implementación de formularios de

Windows.

* Permite usar con suma facilidad la plataforma de los

sistemas Windows.* El código en Visual Basic es fácilmente llevado a otros

lenguajes.

* Acostumbra a los desarrolladores a programar con

eficiencia.

Desventajas de “Visual Basic”: 

* No permite programación a bajo nivel ni incrustar seccione

de código en ASM.

* Sólo permite el uso de funciones de librerías dinámicas

(DLL) stdcall.

* Algunas funciones están indocumentadas (Sin embargo esto

ocurre en muchos lenguajes).

* Es un lenguaje basado en objetos y no orientado a objetos.

* No maneja muy bien los apuntadores de memoria.

* No soporta tratamiento de procesos como parte del

lenguaje.

* No incluye operadores de desplazamiento de bits como part

del lenguaje.

* No tiene instrucciones de pre procesamiento.

* El tratamiento de mensajes de Windows es básico e

indirecto.

 Lenguaje de Programación “Java”: 

En 1990, la empresa Sun Microsystems, tras el abandono deproyecto NeWS (Network/extensible Window System), decidcrear un pequeño grupo de programadores cuyo objetivo edesarrollar un nuevo lenguaje destinado al campo de lelectrónica de consumo, especialmente electrodomésticoEste proyecto se conocía como Green Project. A la cabeza degrupo se encontraba el programador James Goslin.

Java hubiese quedado reducido a un lenguaje para programalos chips de diversos electrodomésticos si no hubiese sido pouna fuerza emergente que empezó a dar sus primeros pasostambién a principios de los años 90: la World Wide We(WWW).

Ventajas de “Java”:

* No debes volver a escribir el código si quieres ejecutar el

 programa en otra máquina. Un solo código funciona para

todos los browsers o Buscadores compatibles con Java o

donde se tenga una Máquina Virtual de Java (Mac's, PC's,

Sun's, etc).

* Java es un lenguaje de programación orientado a objetos, y

tiene todos los beneficios que ofrece esta metodología de

 programación.

* Un browser o Buscador compatible con Java deberá

ejecutar cualquier programa hecho en Java, esto ahorra a los

usuarios tener que estar insertando "plug-ins" y

demás programas que a veces nos quitan tiempo y espacio en

disco.

* Java es un lenguaje y por lo tanto puede hacer todas las

cosas que puede hacer un Lenguaje: Cálculos matemáticos,

 procesadores de palabras, bases de datos, aplicaciones

gráficas, animaciones, sonido, hojas de cálculo, etc.

* Si lo que te interesan son las páginas de Web, ya no tienen

Page 5: Paper Lenguajes de Programación 2012

5/17/2018 Paper Lenguajes de Programaci n 2012 - slidepdf.com

http://slidepdf.com/reader/full/paper-lenguajes-de-programacion-2012 5/9

LENGUAJES DE PROGRAMACION

que ser estáticas, se le pueden poner toda clase de

elementos multimedia y permiten un alto nivel de

interactividad.

Desventajas de “Java”:

* La velocidad:

 Los programas hechos en Java no tienden a ser muy rápidos,

supuestamente se está trabajando en mejorar esto. Como los programas de Java son interpretados nunca alcanzan

la velocidad de un verdadero ejecutable.

* Java es un lenguaje de programación. Esta es otra gran

limitante, por más que digan que es orientado a objetos y que

es muy fácil de aprender sigue siendo un lenguaje y por lo

tanto aprenderlo no es cosa fácil. Especialmente para los no

 programadores.

* Java es nuevo. En pocas palabras todavía no se conocen

bien todas sus capacidades.

Pero en general Java posee muchas ventajas y se pueden

hacer cosas muy interesantes con esto. Hay que prestar especial atención a lo que está sucediendo en el mundo de

la computación, a pesar de que Java es relativamente nuevo,

 posee mucha fuerza y es tema de moda en cualquier medio

computacional. Muchas personas apuestan a futuro y piensan

en Java. La pregunta es: ¿Estarán en lo correcto?

(Para Ustedes Lectores).

IV.  COMPILADORES E INTÉRPRETES.

Compilador:Proceso de traducción que convierte un programa fuente

escrito en un lenguaje de alto nivela un programa objeto encódigo máquina y listo por tanto para ejecutarse en elordenador, con poca o ninguna preparación adicional.

Conceptos Relacionados

Intérprete:

Un intérprete es un programa que analiza y ejecutasimultáneamente un programa escrito en un Lenguaje fuente.

Existen diferentes tipos de Intérpretes:

* Puros:

Los intérpretes puros son los que analizan y ejecutansentencia a sentencia todo el programa fuente. Siguen elmodelo de interpretación iterativa y, por tanto, se utilizanprincipalmente para lenguajes sencillos.

* Avanzados:

Los intérpretes avanzados o normales incorporan un pasprevio de análisis de todo el programa fuente. Generandposteriormente un lenguaje intermedio que es ejecutado poellos mismos.

* Incrementales:

Existen ciertos lenguajes que, por sus características, no spueden compilar directamente. La razón es que puedemanejar objetos o funciones que no son conocidos en tiempde compilación, ya que se crean dinámicamente en tiempo eejecución. Entre estos lenguajes, pueden considerarseSmalltalk, Lisp o Prolog.

Fig.2: Esquema General de Un Interprete

V.  ÁREAS DE APLICACIÓN DE LOS LENGUAJES DE

PROGRAMACIÓN.

El hombre, con el avanzar de los años, ha podido desarrollarlos lenguajes de programación de manera que puedan sepuedan aplicar en distintas áreas. De tal forma que se lepueden dar muchas utilidades, tales como:

i) Lenguajes de Internet.

ii) Lenguajes de programación imperativa.

iii) Lenguajes de programación orientados a objetos.

iv) Lenguajes de programación lógica.

v) Lenguajes de programación funcionales. 

 LENGUAJES DE INTERNET:

Page 6: Paper Lenguajes de Programación 2012

5/17/2018 Paper Lenguajes de Programaci n 2012 - slidepdf.com

http://slidepdf.com/reader/full/paper-lenguajes-de-programacion-2012 6/9

LENGUAJES DE PROGRAMACION

Estos lenguajes son ocupados para la creación de páginas Webde Internet, y realizar su programación (motores de búsqueda,seguridad, establecimiento de comunicaciones, etc.).Actualmente existen diferentes de estos lenguajes que han idosurgiendo debido a las tendencias y necesidades de lasplataformas.

La arquitectura común de estos lenguajes es la siguiente:

Navegador Lenguaje Base de datos

(Cliente) (Servidor)

Dentro de esta área encontramos los siguientes:

- HTML

- JavaScript 

- PHP

- ASP

- Python- Ruby

- Perl

 LENGUAJES DE PROGRAMACION IMPERATIVA:

La programación imperativa describe la programación entérminos del estado del programa y sentencias que cambiandicho estado. Estos programas son un grupo de instruccionesque le indican al computador como realizar una tarea.

La implementación de hardware de la mayoría de loscomputadores es imperativa ya que los hardwares de estos

están diseñados para ejecutar código maquina, escrito enforma imperativa.

Algunos lenguajes imperativos son:

- ASP- BASIC 

- C 

- FORTRAN 

- Pascal

- Perl

- PHP

- Lua

- Java

LENGUAJES DE PROGRAMACION ORIENTADOS AOBJETOS:

Estos lenguajes ocupan objetos y sus interacciones, para poderdiseñar aplicaciones y programas informáticos. Surgieron enlos años 70 con el lenguaje Simula 67 el cual fue creado parahacer simulaciones. En la actualidad Smalltakl es el lenguaje

que representa la orientación a objetos ya que permite realizartareas de computación interactuando con objetos virtuales, yaque provoca que los objetos se comuniquen entre sí medianteel envió de mensajes, así mismo el objeto puede proveermuchas operaciones; este lenguaje a tenido gran influencia enlenguajes como Java o Ruby.

Aquí encontramos lenguajes como:

AdaC++C#- VB.NET 

- Clarion

- Delphi

- Eiffel

- Java

- Lexico

- Oz

- PHP- PowerBuilder 

- Python

- Ruby

- Smalltalk 

 LENGUAJES DE PROGRMACION LOGICA:

La programación lógica se basa en la relación de elementosmatemáticos; esta programación encuentra su “hábitat natural

en aplicaciones de inteligencia artificial o aplicacionesrelacionadas a este ámbito. Los lenguajes de programación

lógica actualmente se usan como tecnología software para ladescripción y resolución de problemas combinatorios difícilesespecíficamente en áreas de planificación y programación detareas (calendarización). Estos lenguajes cumplen tareascomo:

-Dominios booleanos, donde solo existen restricciones del tip

verdadero/falso.

-Dominios en variables enteras y racionales.

-Dominios lineales, donde sólo se describen y analizan

 funciones lineales.

-Dominios finitos, donde las restricciones son definidas enconjuntos finitos.

-Dominios mixtos, los cuales involucran dos o más de los

anteriores.

El primer lenguaje y más popular utilizado para tal efecto fueProlog. Pero actualmente hay lenguajes de programaciónlógica como:

- B-Prolog (Basado en Prolog, propietario)

Page 7: Paper Lenguajes de Programación 2012

5/17/2018 Paper Lenguajes de Programaci n 2012 - slidepdf.com

http://slidepdf.com/reader/full/paper-lenguajes-de-programacion-2012 7/9

LENGUAJES DE PROGRAMACION

- CHIP V5 (Basado en Prolog, también existen bibliotecas en

C y C++, propietario)

- Ciao Prolog (Basado en Prolog, software libre: GPL/LGPL)

- ECLiPSe (Basado en Prolog, software libre)

- Mozart (Basado en Oz, software libre: X11)

- SICStus (Basado en Prolog, propietario)

- GNU Prolog (Basado en Prolog, software libre)

- SWI-Prolog Un entorno Prolog que contiene varias librerías

 para soluciones con restricciones (LGPL)

 LENGUAJES DE PROGRMACION FUNCIONAL:

La programación funcional se basa en la utilización defunciones aritméticas que no maneja datos mutables o de

estados. El objetivo de estos lenguajes es conseguir lenguajesexpresivos y matemáticamente elegantes, en los que no seanecesario bajar al nivel de la máquina para describir el procesollevado a cabo por el programa. Los lenguajes deprogramación funcional han sido enfatizados principalmenteen el ámbito académico y no tanto en el desarrollo delsoftware comercial. Lenguajes de programación importantestales como Scheme, Erlang, y Haskell, han sido utilizados enaplicaciones comerciales e industriales por muchasorganizaciones; pero lenguajes de uso específico usadoscomúnmente como SQL y Lex/Yacc, utilizan algunoselementos de programación funcional, especialmente alprocesar valores mutables.

Algunos de estos lenguajes son:- Haskell

- Miranda

- Lisp

- Scheme- Ocaml

- SAP

- Erlang

- Scala

- Perl

- SQL

Tabla de los principales lenguajes de programación según suutilidad o Área de Aplicación:

 LENGUAJES UTILIDAD

 Basic, Pascal Aprendizaje de programación

 Ada, C, C++ Programación de

sistemas

 Logo Lenguaje didáctico

COBOL, RPG, Natural,

SQL

Gestión de empresas

 Algol, FORTRAN, APL Calculo Numérico

CLIPPER, ACCES,

 DBASE, Delphi, SQL

 Bases de datos

 LENGUAJES UTILIDAD

Smalltalk, Actor, C++,

 Eiffel

Programación

orientada a objetos

(OOP)

Visual Basic, Visual C Programación

Windows

 HTML, JAVA, PERL Internet 

 Lingo Programas

multimedia

Prolog, Lisp Inteligencia artificia

VRLM Realidad virtual

 Mapper, Cogen, Linc Lenguajes de cuarta

generación 4GL

Page 8: Paper Lenguajes de Programación 2012

5/17/2018 Paper Lenguajes de Programaci n 2012 - slidepdf.com

http://slidepdf.com/reader/full/paper-lenguajes-de-programacion-2012 8/9

LENGUAJES DE PROGRAMACION

VI.  COMPARACIÓN CON OTROS TÓPICOS

ProgramasCaracterísticas

JAVA C++

Sencillez SÍ NORobustez SÍ NOSeguridad SÍ NOInterpretado SÍ NODinamicidad SÍ NOPortabilidad SÍ NONeutralidad SÍ NOThreds (temas) SÍ NoGarbageColection(recolecciónautomática de

basura)

SÍ No

Excepciones SÍ ALGUNASRepresentación ALTA ALTA

1.- LA SENCILLEZJava tiene una sencillez que no posee C++. Esto es debido aque una de las razones de la creación de Java es la de obtenerun lenguaje parecido a C++ pero reduciendo los errores máscomunes de la programación, algo que de logra con muchoéxito puesto que Java reduce un 50% los errores que secometen en C++ entre los que se destacan:

  Eliminación de la aritmética de punteros y de las

referencias.  NO se permiten ni la definición de tipos (typedef) ni

la de macros (#define).  Ya no es necesario liberar memoria (free o delete).

De todas formas, lo que hace Java en realidad es laeliminación de palabras reservadas, y la utilización de unintérprete bastante pequeño.

2.- LA ROBUSTEZJava realiza verificaciones en busca de problemas tanto entiempo de compilación como en tiempo de ejecución, lo quehace es que se destaquen errores lo antes posible,

normalmente en el ciclo de desarrollo. Algunas de estasverificaciones que hacen que Java sea un lenguaje robusto son  Verificación del código de byte.  Gestión de excepciones y errores.  Comprobación de punteros y límites de vectores.

Se aprecia una clara diferencia con C++ quien no realizaninguna de estas verificaciones.3.- LA SEGURIDADEn Java no se permite los accesos ilegales a la memoria, algoque si se permitía en C++. Esto es algo muy importante puest

Page 9: Paper Lenguajes de Programación 2012

5/17/2018 Paper Lenguajes de Programaci n 2012 - slidepdf.com

http://slidepdf.com/reader/full/paper-lenguajes-de-programacion-2012 9/9

LENGUAJES DE PROGRAMACION

que este tipo de problemas puede ocasionar la propagación devirus y otras clases de programas dañinos por la red.El código Java pasa por varios test antes de ejecutarse en unamáquina. El código se pasa a través de un verificador decódigo de byte que comprueba el formato de los fragmentosde código y aplica un probador de teoremas para detectarfragmentos de código ilegal, código que falsea punteros, violaderechos de acceso sobre objetos o intenta cambiar el tipo o

clases de un objeto.Algunos de los conocimientos que se puede obtener de loscódigos de byte si pasan la verificación sin generar ningún deerror son:

  El código no produce desbordamiento de operacionesen la pila.

  El tipo de parámetros de todos los códigos esconocido y correcto.

  No ha ocurrido ninguna conversión ilegal de datos,tal como convertir enteros en punteros.

Por todo esto, y por no permitir mediante Java la utilización demétodos de un programa sin los privilegios del núcleo (kernel)del sistema operativo, la obligación de autentificación porclave pública para la realización de modificaciones, seconsidera Java un lenguaje seguro. Todo esto no lo incorporaC++.4.- LENGUAJE INTERPRETADOJava es un lenguaje que puede ejecutar el código directamentees decir es un “lenguaje interpretado”. Esto es una

característica que no posee C++. No obstante, y aunque enteoría se consumen menos recursos siendo los lenguajesinterpretados, el actual compilador que existe es bastantelento, unas 20 veces menos rápido que C++. Estonormalmente no es vital para la aplicación ni demasiadoapreciable por el usuario, y además esta diferencia se estáreduciendo con los nuevos compiladores JIT (Just In Time).

5.- LA DINAMICIDADPara la obtención de un mayor provecho de la tecnologíaorientada a objetos, Java no intenta conectar todos losmódulos que comprenden una aplicación hasta el tiempo deejecución. Esta característica no es contemplada por C++, queenlaza todos los módulos cuando los compila.6.- PORTABILIDADUn programa Java puede ser ejecutado en varios entornos algoque es imposible para C++7.- NEUTRALIDADSe dice que Java tiene una arquitectura neutra puesto quecompila su código a un fichero objeto de formatoindependiente de la arquitectura de la máquina que de

ejecutará.Cualquier máquina que tenga el sistema de ejecución (JRE oJava Runtime Enviroment) puede ejecutar ese código objeto,sin importar en modo alguno la máquina en que ha sidogenerado.No es así para C++, donde el código generado podráejecutarse únicamente en la plataforma que se generó.8.- THREADS (TEMAS)Java permite múltiples hilos (multithreading) antes de suejecución y en tiempo de ejecución. La posibilidad deconstruir pequeños procesos o piezas independientes de un

gran proceso permite programar de una forma más sencilla yes una herramienta muy potente que no se ofrece en C++.

9.-RECOLECIÓN AUTOMATICA DE BASURA(GARBAGE COLECTION)Java modifica completamente la gestión de la memoria que sehace en C/C++. En tanto C++ se utilizan punteros, reservas dememoria (con las ordenes malloc, new, free, delete…) y otra

serie de elementos que dan lugar a graves errores en tiempo d

ejecución difícilmente depurables.Java tiene operadores nuevos para reservar memoria para losobjetos, pero no existe ninguna función explicita paraliberarla.La recolección de basura (objetos ya inservibles) es una parteintegral de Java durante la ejecución de sus programas. Unavez que se ha almacenado un objeto en el tiempo deejecución, el sistema hace un seguimiento del estado delobjeto, el sistema vacía ese espacio de memoria para un usofuturo.Esta gestión de memoria dinámica hace que la programaciónen Java sea más fácil.10.- REPRESENTACIÓNUno de los objetos perseguidos en el desarrollo de Java era laobtención de programas con interfaces cómodas e intuitivas.Esto también se permite en C++, aunque con unos métodosmás costosos, y en ningún caso con interfaces portables comolos que Java crea.

VII.  CONCLUSIÓN 

Los lenguajes de programación son el conjunto dinstrucciones que evocan en una tarea computacional a llargo de la historia se describen una infinidad de lenguajedistintos pasando desde el lenguaje maquina que ha permitidel desarrollo de lenguajes posteriores hasta lenguajes de altnivel lo que no ha llevado a un increíble avance en término

de programación siendo la base para el avance de otrodisciplinas o áreas.

VIII.  REFERENCIAS

[1]  http://www.monografias.com/trabajos15/computadoras/computadoras.shtml

[2]  http://www.itimag.com/programacion/ada/caracteristicas-lenguajes-programacion/ 

[3]  http://issuu.com/masterofwar/docs/lenguajesdeprogramacion[4]  http://www.qualitrain.com.mx/objeIndirecto/javavsvbasic.htm[5]  http://www.monografias.com/trabajos/lengprog/lengprog.shtml[6]  Fundamentos de la Programación Editorial Mcgraw-hill (año 2002 3ª

Generación, Español)[7]  B. Costales. Introducción al Lenguaje C. Editorial Gustavo Gili, S.A. -

1987. 291 páginas.[8]  B. Kernigham / D. Ritchie. El lenguaje de programación C. Ed. prenticeHall.

[9]  Lenguajes de Programación, Allen B. Tucker, Segunda EdiciónBiblioteca FIN (PUCV)