Está en la página 1de 15

Lenguajes de Programación:

Concepto
Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el
comportamiento de una máquina, particularmente una computadora. Consiste en un
conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el
significado de sus elementos y expresiones.

Aunque muchas veces se usa 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).

Un lenguaje de programación permite a uno o más programadores 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 Lexico. 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 traductor se lo conoce como
compilador.

Origen
Con la llegada de las computadoras aparecen las secuencias de posiciones de llaves
eléctricas que debían conectarse para obtener una acción determinada, una llave
conectada era un 1 y una llave desconectada era un 0. Una sucesión de llaves en
cualquiera de sus dos posiciones definía una secuencia de ceros y unos (por ejemplo:
0100011010011101...) que venía a representar una instrucción o un conjunto de
instrucciones (programa) para el ordenador (o computador) en el que se estaba
trabajando. A esta primera forma de especificar programas para una computadora se la
denomina lenguaje máquina o código máquina.

La necesidad de recordar secuencias de programación para las acciones usuales llevó a


denominarlas con nombres fáciles de memorizar y asociar: ADD (sumar), SUB (restar),
MUL (multiplicar), CALL (ejectuar subrutina), etc. A esta secuencia de posiciones se le
denominó "instrucciones", y a este conjunto de instrucciones se le llamó lenguaje
ensamblador.

Posteriormente aparecieron diferentes lenguajes de programación, los cuales reciben su


denominación porque tienen una estructura sintáctica similar a los lenguajes escritos por
los humanos.

Clasificación de los lenguajes de programación


Los lenguajes de programación se determinan según el nivel de abstracción, Según
la forma de ejecución y Según el paradigma de programación que poseen cada uno
de ellos y esos pueden ser:

Según su nivel de abstracción:

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 es, por
excelencia, 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.

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.

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, el
lenguaje de alto nivel más conocido, los comandos como "IF CONTADOR = 10
THEN STOP" pueden utilizarse para pedir a la computadora que pare si
CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de
trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen
comprender un lenguaje natural, lo hacen en realidad de una forma rígida y
sistemática.

Según la forma de ejecución:

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

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

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. También hay situaciones donde un paradigma resulta más
apropiado que otro.

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

*Lenguajes imperativos:

Artículo principal: Programación imperativa

• BASIC
• C
• C++
• Java
• C#
• Perl

*Lenguajes Funcionales:

Artículo principal: Programación funcional

Puros:

• Haskell
• Miranda

Híbridos:

• Lisp
• Scheme
• Ocaml
• Standard ML
• ML
• Scala

*Lenguajes Logicos:

Artículo principal: Programación lógica

• Prolog
Lenguajes orientados a objetos:

Artículo principal: Programación orientada a objetos

• Action Script
• Ada
• C++
• C#
• VB.NET
• Visual FoxPro
• Clarion
• Delphi
• Harbour
• Eiffel
• Java
• JavaScript
• Lexico (en castellano)
• Objective-C
• Ocaml
• Oz
• Perl (soporta herencia múltiple)
• PHP (en su versión 5)
• PowerBuilder
• Python
• Ruby
• Smalltalk
• Magik (SmallWorld)
Algunos lenguajes de programación:
• ABAP • Boo • Eiffel • Icon • Logo • Objective-C • Rapid • Snobol • ZPL
• ABC • C • Erlang • Inform • Lua • Ocaml • REXX • SPARK
• ActionScript • C++ • Ensamblador • INTERCAL • MAGIC • Occam • RPN • Squeak
• Ada • C# • Extended • ISWIM • Mainsail • Oz • RPG • SR
• Afnix • Caml ML • J • Mesa • Pascal • Ruby • Standard
• ALGOL • Clipper • Euphoria • Java • Miranda • Parlog • Sail ML
• APL • CLIPS • Fénix • JavaScript • ML • Perl • Sather • TI-Basic
• ASP • CLU • Flow-Matic • Joy • Modula • PHP • Scheme • TCL
• ASP.NET • COBOL • Forth • KWC • Modula-2 • PL/1 • Scriptol • VBA
• AWK • CORAL • FORTRAN • Ladder • Modula-3 • Plankalkül • Seed7 • Visual
• B • D • FP • Letra • Natural • PostScript • Self Basic
• BASIC • Delphi • Gambas • Lexico • NetREXX • PowerBuilder • Sh • Visual C++
• BCPL • DIV • GML • Lingo • Oberon • Prolog • Simula • Visual
• GRAFCET DialogScrip
t
• Befunge • Dylan • Lisp • Object • Python • Smalltalk • Visual
• Haskell REXX Foxpro
• XBase++

• Yurix
1- Lenguaje de programación Java:
Java es un lenguaje de programación orientado a objetos desarrollado por Sun
Microsystems a principios de los años 1990. El lenguaje en sí mismo toma mucha
de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina
herramientas de bajo nivel como punteros.

Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la


compilación en código máquina nativo también es posible. En el tiempo de
ejecución, el bytecode es normalmente interpretado o compilado a código nativo
para la ejecución, aunque la ejecución directa por hardware del bytecode por un
procesador Java también es posible.

La implementación original y de referencia del compilador, la máquina virtual y


las librerías de clases de Java fueron desarrollados por Sun Microsystems en 1995.
Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolución
del lenguaje a través del Java Community Process, si bien otros han desarrollado
también implementaciones alternativas de estas tecnologías de Sun, algunas
incluso bajo licencias de software libre.

Entre noviembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte
de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las
especificaciones del Java Community Process, de tal forma que prácticamente todo
el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se
requiere para ejecutar los programas Java todavía no es software libre)

Java
Paradigma: Orientado a objetos

Apareció en: 1990s

Diseñado por: Sun Microsystems

Tipo de dato: Fuerte, Estático

Implementaciones: Numerosas

Influido por: Objective-C, C++, Smalltalk, Eiffel

Ha influido: C#, J#, JavaScript

Sistema operativo: Multiplataforma

Licencia de software: GPL / Java Community Process

La tecnología Java se creó como una herramienta de programación para ser usada
en un proyecto de set-top-box en una pequeña operación denominada the Green
Project en Sun Microsystems en el año 1991. El equipo (Green Team), compuesto
por trece personas y dirigido por James Gosling, trabajó durante 18 meses en
Sand Hill Road en Menlo Park en su desarrollo.

El lenguaje se denominó inicialmente Oak (por un roble que había fuera de la


oficina de Gosling), luego pasó a denominarse Green tras descubrir que Oak era ya
una marca comercial registrada para adaptadores de tarjetas gráficas y finalmente
se renombró a Java.

El término Java fue acuñado en una cafetería frecuentada por algunos de los
miembros del equipo. Pero no está claro si es un acrónimo o no, aunque algunas
fuentes señalan que podría tratarse de las iniciales de sus creadores: James
Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan por el siguiente
acrónimo, Just Another Vague Acronym ("sólo otro acrónimo ambiguo más"). La
hipótesis que más fuerza tiene es la que Java debe su nombre a un tipo de café
disponible en la cafetería cercana. Un pequeño signo que da fuerza a esta teoría es
que los 4 primeros bytes (el número mágico) de los archivos .class que genera el
compilador, son en hexadecimal, 0xCAFEBABE. Otros simplemente dicen que el
nombre fue sacado al parecer de una lista aleatoria de palabras.

Los objetivos de Gosling eran implementar una máquina virtual y un lenguaje con
una estructura y sintaxis similar a C++. Entre junio y julio de 1994, tras una sesión
maratónica de tres días entre John Gaga, James Gosling, Joy Naughton, Wayne
Rosing y Eric Schmidt, el equipo reorientó la plataforma hacia la Web. Sintieron
que la llegada del navegador web Mosaic, propiciaría que Internet se convirtiese
en un medio interactivo, como el que pensaban era la televisión por cable.
Naughton creó entonces un prototipo de navegador, WebRunner, que más tarde
sería conocido como HotJava.

En 1994, se les hizo una demostración de HotJava y la plataforma Java a los


ejecutivos de Sun. Java 1.0a pudo descargarse por primera vez en 1994, pero hubo
que esperar al 23 de mayo de 1995, durante las conferencias de SunWorld, a que
vieran la luz pública Java y HotJava, el navegador Web. El acontecimiento fue
anunciado por John Gage, el Director Científico de Sun Microsystems. El acto
estuvo acompañado por una pequeña sorpresa adicional, el anuncio por parte de
Marc Andreessen, Vicepresidente Ejecutivo de Netscape, que Java sería soportado
en sus navegadores. El 9 de enero del año siguiente, 1996, Sun fundó el grupo
empresarial JavaSoft para que se encargase del desarrollo tecnológico. [1] Dos
semanas más tarde la primera versión de Java fue publicada.

La promesa inicial de Gosling era Write Once, Run Anywhere (Escríbelo una vez,
ejecútalo en cualquier lugar), proporcionando un lenguaje independiente de la
plataforma y un entorno de ejecución (la JVM) ligero y gratuito para las
plataformas más populares de forma que los binarios (bytecode) de las
aplicaciones Java pudiesen ejecutarse en cualquier plataforma. El entorno de
ejecución era relativamente seguro y los principales navegadores web pronto
incorporaron la posibilidad de ejecutar applets Java incrustadas en las páginas
web.Java ha experimentado numerosos cambios desde la versión primigenia, JDK
1.0, así como un enorme incremento en el número de clases y paquetes que
componen la librería estándar.
Desde J2SE 1.4, la evolución del lenguaje ha sido regulada por el JCP (Java
Community Process), que usa Java Specification Requests (JSRs) para proponer y
especificar cambios en la plataforma Java. El lenguaje en sí mismo está
especificado en la Java Language Specification (JLS), o Especificación del
Lenguaje Java. Los cambios en los JLS son gestionados en JSR 901

2- Lenguaje de programación Fénix:

Fenix, o el proyecto Fenix, es el nombre de un proyecto multiplataforma de


software libre para crear un compilador alternativo al lenguaje DIV parte
fundamental de la suite para el desarrollo de videojuegos Div Games Studio. Sin
embargo, con el paso del tiempo se han ido añadiendo nuevas características que
entre otras cosas, ha derivado en una versión hasta cierto punto incompatible con
el lenguaje DIV original y en un nuevo proyecto más ambicioso.
Fenix Proyecto 1.0
Desarrollador: Fenix Team

Última versión: 0.93pre (1-6-2007)

S.O.: Linux, MacOS X, Win32, BeOS, BSD

Género: Herramienta de desarrollo de


videojuegos

Licencia: GNU GPL 2.0

En español: -

Sitio Web: http://fenix.divsite.net

Características:
·Lenguaje interpretado, mezcla de C y Pascal: muy sencillo y potente.
·Multiplataforma extrema: El intérprete funciona en todas las versiones de 32
bits de Windows, GNU/Linux, Mac OS X, BeOS, BSD, GP32, Dreamcast, PSP,
GP2X y, en general, en casi cualquier plataforma que soporte SDL y GCC. Los
programas compilados pueden ser intercambiados entre cualquiera de esas
plataformas sin necesidad de recompilación.

·Procesos (programación multihilo).


• Motor de render 2D por software.
• Modos gráficos 8 y 16 bits, entre otras cosas permite rotación de sprites,
escalado, alpha blending, blendops, blit aditivo y sustractivo, etc.
• Soporte (incompleto) para Modo 7.
• Reproducción de sonidos en formato WAV, PCM y Ogg Vorbis.
• Reproducción de módulos de música en formato IT, MOD y XM.
• Soporte de librerías DLL en las plataformas que así lo permiten.

Historia:
En la década de los 90 Daniel Navarro Medrano creó una herramienta orientada a
la creación de videojuegos de 32 bits bajo MS-DOS. El nuevo lenguaje, de nombre
DIV Games Studio, combinaba características de C y Pascal con un entorno
completo que permitía la creación y edición de todos los aspectos de los proyectos:
programación, edición gráfica y sonora y un largo etc.

Fenix, inicialmente bajo el nombre DIVC y de naturaleza GNU, apareció de la


mano de José Luis Cebrián como una herramienta capaz de compilar y ejecutar
esos juegos en Linux. El nombre fue cambiado en la versión 0.6 del compilador,
que además introducía otras mejoras, como la aparición de un fichero intermedio
entre el entorno de compilación y el entorno de ejecución. Ya no era necesario
distribuir el código fuente de un juego para poder jugar a los juegos. La ventaja
principal de esa práctica (similar en concepto a Java) era clara, compilar en una
plataforma y ejecutar en muchas.

En la versión 0.71 el proyecto quedó parado, lo que dio lugar a múltiples versiones
derivadas que corregían fallos o añadían nuevas características.

La versión oficial de Fenix fue retomada por Slàinte en el año 2002, viejo conocido
de la comunidad DIV por ser el webmaster de una de las páginas web más
importantes para la comunidad, quien continuó el proyecto bajo el nombre de
Fenix - Proyecto 1.0 al que pronto se reincorporaría su creador y cuyo primer
objetivo era limpiar el compilador de errores y estabilizarlo. Desde entonces el
compilador ha sufrido numerosos cambios y mejoras, dejando de un lado la
compatibilidad con el lenguaje DIV.

En el actualidad, tras un largo tiempo sin modificaciones, en el año 2006, Fenix ha


sido retomado por SplinterGU, el mismo que implemento el primer sistema de dlls.
Fenix se encuentra actualmente en la version 0.92, la cual ya posee mejoras
importantes en cuanto a performance, estabilidad, prestaciones, etc.

Debido a la base del proyecto, la biblioteca SDL, ha sido posible portar Fenix a un
gran número de plataformas, como el propio Linux, Windows, Mac OS X, BSD,
BeOS, PlayStation, GP32, GP2X, Dreamcast y otras, aunque las únicas
oficialmente soportadas hoy día son Linux, Windows, Mac OS X y BSD. Otras,
como GP32 y GP2X gozan de gran aceptación de sus respectivas comunidades y se
mantienen gracias a la dedicación de sus usuarios.

3- Lenguaje de programación Ada:


Ada es un lenguaje de programación estructurado y fuertemente tipado de forma
estática que fue diseñado por Jean Ichbiah de CII Honeywell Bull por encargo del
Departamento de Defensa de los Estados Unidos. Es un lenguaje multipropósito,
orientado a objetos y concurrente, pudiendo llegar desde la facilidad de Pascal
hasta la flexibilidad de C++.

Fue diseñado con la seguridad en mente y con una filosofía orientada a la


reducción de errores comunes y difíciles de descubrir. Para ello se basa en un
tipado muy fuerte y en chequeos en tiempo de ejecución (desactivables en beneficio
del rendimiento). La sincronización de tareas se realiza mediante la primitiva
rendezvous.

Ada se usa principalmente en entornos en los que se necesita una gran seguridad y
confiabilidad como la defensa, la aeronáutica (Boeing o Airbus), la gestión del
tráfico aéreo (como Indra en España) y la industria aeroespacial entre otros.

Historia:
El lenguaje fue diseñado bajo encargo del DoD. Durante los años 1970, este
departamento tenía proyectos en una infinidad de lenguajes y estaba gastando
mucho dinero en software. Para solucionarlo se buscó un lenguaje único que
cumpliese unas ciertas normas recogidas en el documento Steelman. Después de un
estudio de los lenguajes existentes en la época se decidió que ninguno las cumplía
totalmente, por lo que se hizo un concurso público al que se presentaron cuatro
equipos, cuyas propuestas se nombraron con un color: Rojo (Intermetrics), Verde
(CII Honeywell Bull), Azul (SofTEch) y Amarillo (SRI International). Finalmente
en mayo de 1979 se seleccionó la propuesta Verde diseñada por Jean Ichbiah de
CII Honeywell Bull, y se le dio el nombre de Ada. Esta propuesta era un sucesor de
un lenguaje anterior de este equipo llamado LIS y desarrollado durante los años
1970.
El nombre se eligió en conmemoración de lady Ada Augusta Byron (1816-1852)
Condesa de Lovelace, hija del poeta Lord George Byron, a quien se considera la
primera programadora de la Historia, por su colaboración y relación con Charles
Babbage, creador de la máquina analítica.

El lenguaje se convirtió en un estándar de ANSI en 1983 (ANSI/MIL-STD 1815) y


un estándar ISO en 1987 (ISO-8652:1987).

El DoD y los ministerios equivalentes de varios países de la OTAN exigían el uso de


este lenguaje en los proyectos que contrataban (el Ada mandate). La obligatoriedad
en el caso de Estados Unidos terminó en 1997, cuando el DoD comenzó a usar
productos COTS (commercial off the shelf).

Ada ha sido utilizado por la NASA en sistemas VAX.

Características:
• La sintaxis, inspirada en Pascal, es bastante legible incluso para personas
que no conozcan el lenguaje. Es un lenguaje que no escatima en la longitud
de las palabras clave, en la filosofía de que un programa se escribe una vez,
se modifica decenas de veces y se lee miles de veces (legibilidad es más
importante que rapidez de escritura).
• Identificadores y palabras claves son equivalentes sea cual sea el uso de
mayúsculas y minúsculas, es decir es un lenguaje case-insensitive.
• En este caso, todo el programa es un único procedimiento, que puede
contener subprogramas (procedimientos o funciones) (en este caso: la
función Ack).
• Cada sentencia se cierra con end qué_cerramos. Es un modo de evitar
errores y facilitar la lectura. No es necesario hacerlo en el caso de
subprogramas, aunque todos los manuales lo aconsejan y casi todos los
programadores de Ada lo hacen.
• El operador de asignación es :=, el de igualdad =. A los programadores de C
y similares les puede confundir este rasgo inspirado en Pascal.
• La sintaxis de atributos predefinidos es Objeto'Atributo (o
Tipo'Atributo) (nota: esto sólo aplica a atributos predefinidos por el
lenguaje, ya que no es el concepto de atributo típico de OOP).

Se distingue entre "procedimientos" (subrutinas que no devuelven ningún valor


pero pueden modificar sus parámetros) y "funciones" (subrutinas que devuelven
un valor y no modifican los parámetros). Muchos lenguajes de programación no
hacen esta distinción. Las funciones de Ada favorecen la seguridad al reducir los
posibles efectos colaterales, pues no pueden tener parámetros in out.
CONCLUSION:

En este trabajo he aprendido muchas cosas sobre los


lenguajes de programación que antes no sabia de cómo ellos
facilitan la utilización de los programas en las computadoras
y software, también de cómo algunos fueron creados para
video juegos, seguridad nacional, viajes espaciales, orientador
de objetos, etc. Me impresiona de cómo ya existen
controladores para todas las funciones, en fin la tecnología
avanza.

BIBLIOGRAFIA:

.WWW.WIKKIPEDIA.COM
.WWW.GOOGLE.COM
COLEGIO TECNICO PROFESIONAL DE POCOCÍ

Trabajo Extra Clase de Informática

Tema: Lenguajes de Programación

Profesora: Noemí Gallegos

Alumna: Madiam Mendoza Q.

Sección: 9-2B

Valor: 10%
INTRODUCCIÓN:

Este trabajo trata de un ejemplo de cómo


la tecnología avanza más rápidamente que nunca,
ya que de esta hablare, se trata de los lenguajes
de programación es un método que se utiliza para
darle ordenes al software dependiendo de el tipo
ya sea realice cada lenguaje. En mi trabajo
presentare el concepto, características en general
de los lenguajes, además también el concepto,
características, historia y uso de tres lenguajes
que yo he escogido para el trabajo que son: Java,
Ada y Fénix hablo de para que fueron creados y
su importancia.

También podría gustarte