Está en la página 1de 30

La teora de lenguajes de programacin

(comnmente conocida como PLT) es una


rama de la informtica que se encarga del
diseo, implementacin, anlisis,
caracterizacin y clasificacin de
lenguajes de programacin y sus
caractersticas. Es un campo
multidisciplinar, dependiendo tanto de (y
en algunos casos afectando) matemticas,
ingeniera del software, lingstica, e incluso
ciencias cognitivas.
Un ejemplo de cdigo fuente escrito en
el lenguaje de programacin Java, que
imprimir el mensaje "Hello World!" a la
salida estndar cuando
es compilado y ejecutado.
Un smbolo no oficial de
la teora de lenguajes de
programacin es la letra
griega lambda en
minsculas. Este uso
deriva del clculo
lambda, un modelo
computacional
ampliamente usado por
investigadores de
lenguajes de
programacin. Muchos
textos y artculos sobre
programacin y
lenguajes de
programacin utilizan
lambda de una u otra
manera.
El primer lenguaje de programacin (como
tal) que se propuso fue Plankalkl, que fue
diseado por Konrad Zuse en los aos 40,
pero no fue conocido pblicamente hasta
1972 (y no implementado hasta 2000, cinco
aos despus de la muerte de Zuse). El
primer lenguaje de programacin
ampliamente conocido y exitoso fue
Fortran, desarrollado entre 1954 y 1957 por
un equipo de investigadores en IBM
liberados por John Backus.
El xito de FORTRAN
condujo a la
creacin de un
comit de
cientficos para
desarrollar un
lenguaje de
programacin
"universal"; el
resultado de su
esfuerzo fue ALGOL
58.
Se denomina ALGOL (o Algol) a
un lenguaje de programacin. La
voz es un acrnimo de las
palabras inglesas AlgorithmicLangu
age (lenguaje algortmico).
Con el triunfo de estos esfuerzos iniciales,
los lenguajes de programacin se
convirtieron en un tema candente en la
investigacin en la dcada de 1960 y en
adelante. Algunos otros eventos claves
en la historia de la teora de lenguajes
de programacin desde entonces:
En la dcada de 1950, Noam Chomsky
desarroll la Jerarqua de Chomsky en el
campo de la lingstica; un descubrimiento
que impact directamente a la teora de
lenguajes de programacin y otras ramas de
la informtica.
En la dcada de 1960, el lenguaje
Simula fue desarrollado por Ole-Johan
Dahl y Kristen Nygaard; muchos
consideran que es el primero lenguaje
orientado a objetos; Simula tambin
introdujo el concepto de corrutinas.
Sussman y Steele desarrollan el lenguaje de programacin
Scheme, un dialecto de Lisp que incorpora mbitos lxicos, un
espacio de nombres unificado, y elementos del modelo Actor
incluyendo continuaciones de primera clase.
Philip Wadler introdujo el uso de monads
para estructurar programas escritos en
lenguajes de programacin funcional.
Hay varios campos de estudio que o bien caen
dentro de la teora de lenguajes de programacin, o
bien tienen una profunda influencia en ella; muchos
de estos se superponen considerablemente.
Teora de los compiladores es la base formal sobre la escritura
de compiladores (o ms generalmente traductores);
programas que traducen un programa escrito en un lenguaje
a otra forma. Las acciones de un compilador se dividen
tradicionalmente en anlisis sintctico (escanear y
parsear), anlisis semntico (determinando que es lo que
debera de hacer un programa), optimizacin (mejorando el
rendimiento indicado por cierta medida, tpicamente la
velocidad de ejecucin) y generacin de cdigo (generando
la salida de un programa equivalente en el lenguaje deseado;
a menudo el set de instrucciones de una CPU).
busca clasificar los lenguajes de
programacin en diferentes tipos
basados en sus caractersticas; amplias
categoras de diferentes lenguajes de
programacin se conocen
frecuentemente como paradigmas de
computacin.
es la generacin de programas de
mayor orden que, cuando se ejecutan,
producen programas (posiblemente en
un lenguaje diferente, o en un
subconjunto del lenguaje original) como
resultado.
Los lenguajes de programacin se
pueden clasificar atendiendo a varios
criterios:
Segn el nivel de abstraccin
Segn el paradigma de programacin
que poseen cada uno de ellos
Segn su nivel de abstraccin
Lenguajes de Mquina
Estn escritos en lenguajes directamente
legibles por la mquina (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
traduccin posterior lo que supone una
velocidad de ejecucin superior, solo que
con poca fiabilidad y dificultad de verificar y
poner a punto los programas.
Lenguajes de bajo nivel
Los lenguajes de bajo nivel son lenguajes de
programacin que se acercan al funcionamiento de
una computadora. El lenguaje de ms bajo nivel por
excelencia es el cdigo mquina. A ste le sigue el
lenguaje ensamblador, ya que al programar en
ensamblador se trabajan con los registros de memoria
de la computadora de forma directa. Ejemplo en
lenguaje ensamblador Intel x86:
La principal utilizacin de este tipo de lenguajes es para programar
los microprocesadores,
utilizando el lenguaje ensamblador correspondiente a dicho
procesador.
Lenguajes de
medio nivel
Hay lenguajes de
programacin que
son considerados
por algunos
expertos como
lenguajes de medio
nivel (como es el
caso del lenguaje
C) al tener ciertas
caractersticas que
los acercan a los
lenguajes de bajo
nivel pero teniendo,
al mismo tiempo,
ciertas cualidades
que lo hacen un
lenguaje ms
cercano al humano
y, por tanto, de alto
nivel. Ejemplo:
Lenguajes de alto nivel
Los lenguajes de alto nivel son normalmente fciles de aprender
porque estn formados por elementos de lenguajes naturales, como
el ingls. En BASIC, uno de los lenguajes de alto nivel ms 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 sensacin de que las
computadoras parecen comprender un lenguaje natural; en
realidad lo hacen de una forma rgida y sistemtica, sin que haya
cabida, por ejemplo, para ambigedades o dobles sentidos.
Ejemplo:
Ese es el lenguaje Pascal, muy utilizado por principiantes al aprender a programar.
Un paradigma de programacin
representa un enfoque particular o
filosofa para la construccin del
software. No es mejor uno que otro, sino
que cada uno tiene ventajas y
desventajas. Dependiendo de la
situacin un paradigma resulta ms
apropiado que otro.
El paradigma imperativo o por
procedimientos es considerado el ms
comn 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 lgico, un ejemplo es PROLOG.
El paradigma orientado a objetos. Un
lenguaje completamente orientado a objetos
es Smalltalk.
Un lenguaje de programacin es
un lenguaje formal diseado para
expresar procesos que pueden ser llevados
a cabo por mquinas como
las computadoras.
Pueden usarse para crear programas que
controlen el comportamiento fsico y lgico
de una mquina, para
expresaralgoritmos con precisin, o como
modo de comunicacin humana.
El C es un lenguaje moderno de
propsito general que combina las
caractersticas de un lenguaje de
alto nivel (programacin
estructurada, tipos y estructura de
datos, recursividad, etc.) con una
serie
de caractersticas ms propias de
lenguajes de ms bajo nivel. Esta
cualidad del C hace posible que
el programador use la
programacin estructurada para
resolver tareas de bajo nivel,
obteniendo un
cdigo ejecutable veloz y
eficiente. Debido a sus
caractersticas de ms bajo nivel,
mucha gente
considera al C como un lenguaje
de nivel medio.
El lenguaje fue creado en
1972 por Dennis Ritchie, que
junto con Ken Thompson
haba diseado
anteriormente el sistema
operativo UNIX, y su intencin
al desarrollar el lenguaje C
fue conseguir un lenguaje
idneo para la programacin
de sistemas que fuese
independiente de la mquina
para utilizarlo en la
implementacin del sistema
operativo UNIX. Desde
entonces, tanto el UNIX como
el C han tenido un enorme
desarrollo y proliferacin,
hasta convertirse en un
estndar industrial para el
desarrollo de software.
El C++, el sucesor del lenguaje C,
fue desarrollado por Bjarn Stroustup
en los laboratorios Bell a principio
de la dcada de los ochenta. En el
lenguaje C, C++ es una orden que
equivale a C: =C+1, por lo que se
entiende que con C++ el lenguaje
C se eleva hacia su siguiente nivel.
C++ introduce la programacin
orientada a objetos en C. Los
objetos proporcionan una forma
completamente nueva de ver los
programas, una nueva filosofa de
programacin.
Al igual que C, C++ es un lenguaje
muy poderoso y eficiente. Sin
embargo C++ es an ms difcil de
aprender que C. Dado que C es un
subconjunto de C++, aprender C++
significa aprender todo acerca de
C y despus aprender la filosofa de
la programacin orientada a
objetos y el uso que hace C++ de la
misma.
El lenguaje de
programacin Java fue
originalmente desarrollado
por James Gosling de Sun
Microsystems (la cual fue
adquirida por la
compaa Oracle) y publicado
en 1995 como un componente
fundamental de la plataforma
Java de Sun Microsystems.
Su sintaxis deriva en gran medida
de C y C++, pero tiene menos
utilidades de bajo nivel que
cualquiera de ellos. Las
aplicaciones de Java son
generalmente compiladas a byte
code (clase Java) que puede
ejecutarse en cualquier mquina
virtual Java (JVM) sin importar
la arquitectura de la
computadora subyacente.
PHP usa una mezcla entre interpretacin y compilacin para intentar
ofrecer a los programadores la mejor mezcla entre rendimiento y flexibilidad.
PHP compila para tu cdigo una serie de instrucciones (llamadas opcodes)
siempre que estas son accedidas. Estas instrucciones son entonces
ejecutadas una por una hasta que el script termina. Esto es diferente a la
manera convencional de compilacin de lenguajes como C++ donde el
cdigo es compilado a cdigo ejecutable que es despus ejecutado. Php
es recompilado cada vez que se solicita un script.
Una ventaja importante de interpretar el cdigo es que toda la memoria
usada por tu cdigo es manejada por PHP, y el lenguaje automticamente
vaca esta memoria cuando el script finaliza. Esto significa que tu no tienes
que preocuparte de las conexiones a la base de datos, porque PHP lo har
por ti. leer ms
Por qu deberas aprenderlo?
Es uno de los lenguajes de programacin ms populares, la gran fluidez y
rapidez de sus scripts y su prometedor futuro, desarrollar aplicaciones Webs
utilizando lenguajes como C o COBOL son cosas del pasado.
Oferta de trabajo
Demanda de trabajo: 362 ofertas.
AJAX no es un lenguaje exactamente su nombre
viene dado por el acrnimo de Asynchronous
JavaScript And XML y es posiblemente la mayor
novedad en cuanto a programacin web en estos
ltimos aos.
El corazn de Ajax es el objeto XMLH ttpRequest
que nos permite realizar una conexin al servidor y
al enviarle una peticin y recibir la respuesta que
procesaremos en nuestro cdigo JavaScript,
estamos hablando del verdadero motor de Ajax,
por ejemplo gracias a este objeto podemos desde
una pgina HTML leer datos de una web o enviar
datos de un formulario sin necesidad de recargar
la pgina.
Se trata de un lenguaje de
programacin del lado del
cliente, porque es el
navegador el que soporta la
carga de procesamiento.
Gracias a su compatibilidad
con la mayora de los
navegadores modernos, es el
lenguaje de programacin
del lado del cliente ms
utilizado.
Por qu deberas
aprenderlo?
La razn de mayor peso es
que es utilizado por millones
de pginas webs para validar
formularios, crear cookies,
detectar navegadores y
mejorar el diseo, su fcil
aprendizaje lo hace un
lenguaje muy demandado.
Oferta de trabajo
Demanda de trabajo: 422
ofertas