You are on page 1of 5

LENGUAJES DE PROGRAMACIN

Un Lenguaje
de
Programacin es
un
conjunto
de
reglas,
notaciones, smbolos y/o
caracteres
que
permiten
a
un
programador poder expresar
el procesamiento
de
datos y
sus estructuras en la computadora. Cada lenguaje posee sus propias
sintaxis. Tambin se puede decir que un programa es un conjunto de
rdenes o instrucciones que resuelven un problema especfico basado
en
un
Lenguaje
de
Programacin.
CARACTERISTICAS
o Legibilidad: consiste en si el lenguaje tiene una sintaxis sencilla,
fciles de leer y fciles de compilar
o Ortogonalidad: permite combinar en una sola instruccin
diversas caractersticas del lenguaje, de esta manera se
consiguen programas ms cortos y ms compactos.
o Naturalidad para la aplicacin: consiste en el lenguaje
proporcione herramientas adecuadas para el fin para el que
est pensado.
o Soporte a la abstraccin: Solucionar tipos de problemas y no
problemas concretos. Debe permitir que el programador pueda
crear funciones y procedimientos.
o Entorno de programacin: Los lenguajes han de ir acompaados
de un entorno donde programar.
o Portabilidad de los programas: Es un lenguaje que permite crear
programas que funcionen en cualquier maquina pertenezca a la
plataforma que quiera, distinto fabricante, etc.

PARADIGMAS EN LENGUAJES DE PROGRAMACION


Existen diversos lenguajes y paradigmas de programacin para
facilitar la tarea de programacin en diferentes mbitos. Por ejemplo,
la programacin orientada a objetos es un paradigma dirigido al
mejoramiento
en
la calidad del software por
medio
de
la observacin de aspectos tales como la correccin, robustez,
extensibilidad, compatibilidad y sobre todo la reusabilidad del
software.
La programacin lgica, por su parte, es un paradigma orientado a la
expresin de los problemas en trminos lgicos para su posterior
solucin por mtodos de inferencia y tcnicas lgicas.
En la prctica, cada paradigma de programacin es implementado a
travs de diversos lenguajes. Solo como un ejemplo, la programacin
orientada a objetos encuentra recipientes en lenguajes JAVA, C++,
Eiffel, Objetive c, etc.

TENDENCIAS ACTUALES
La evolucin de los lenguajes de programacin contina, tanto en
la industria como en investigacin. Algunas de las tendencias
actuales incluyen:
o Aumentar el soporte para la programacin funcional en
lenguajes importantes utilizados comercialmente, incluida la
programacin funcional pura para hacer el cdigo ms fcil de
razonar y de paralelizar (tanto en macro como en microniveles).
o Construir lenguajes para apoyar la programacin concurrente y
distribuida.
o Mecanismos para aadir al lenguaje verificacin en cuanto
a seguridad y confiabilidad: chequeo sintctico extendido,
control de flujo de informacin, seguridad de hilos.
o Mecanismos alternativos de modularidad: mixins, delegados,
aspectos.
o Desarrollo de software orientado a componentes.
o Mayor nfasis en cuanto a distribucin y movilidad.
o Integracin con bases de datos, incluyendo XML y bases de
datos relacionales.
o Programacin Orientada a Aspectos (AOP).
o Lenguajes que soporten programar sobre los procesadores de la
GPU en paralelo, como OpenCL.
CLASIFICACIN DE LOS LENGUAJES DE PROGRAMACIN

CLASIFICACIN SEGN NIVEL DE ABSTRACCIN


o Los lenguajes de bajo nivel: Son lenguajes de programacin que
se acercan al funcionamiento de una computadora. El lenguaje
de ms bajo nivel es, por excelencia, 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.
o Los 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.

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

CLASIFICACIN SEGN PARADIGMA


o Paradigma imperativo: Describe la programacin como una
secuencia instrucciones o comandos que cambian el estado de
un programa. El cdigo mquina en general est basado en el
paradigma imperativo. Su contrario es el paradigma declarativo.
En este paradigma se incluye el paradigma procedimental
(procedural) entre otros.
o Paradigma declarativo: No se basa en el cmo se hace algo
(cmo se logra un objetivo paso a paso), sino que describe
(declara) cmo es algo. En otras palabras, se enfoca en
describir las propiedades de la solucin buscada, dejando
indeterminado el algoritmo (conjunto de instrucciones) usado
para encontrar esa solucin. Es ms complicado de
implementar que el paradigma imperativo, tiene desventajas en
la eficiencia, pero ventajas en la solucin de determinados
problemas.
o Paradigma estructurado: La programacin estructurada se basa
en una metodologa de desarrollo de programas llamada
refinamientos sucesivos: Se plantea una operacin como un
todo y se divide en segmentos ms 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.
o Paradigma orientado a objetos: La programacin orientada a
objetos, intenta simular el mundo real a travs del significado
de objetos que contiene caractersticas y funciones. Los
lenguajes orientados a objetos se clasifican como lenguajes de
quinta generacin.
o Paradigma
funcional:
Este
paradigma
concibe
a
la computacin como la evaluacin de funciones matemticas y
evita declarar y cambiar datos. En otras palabras, hace hincapi
en la aplicacin de las funciones y composicin entre ellas, ms
que en los cambios de estados y la ejecucin secuencial de
comandos (como lo hace el paradigma procedimental). Permite
resolver ciertos problemas de forma elegante y los lenguajes
puramente funcionales evitan los efectos secundarios comunes
en otro tipo de programaciones.
o Paradigma lgico: Se basa en la definicin de reglas lgicas
para luego, a travs de un motor de inferencias lgicas,
responder preguntas planteadas al sistema y as resolver los
problemas.

CLASIFICACIN SEGN LA FORMA DE EJECUCIN

o Lenguaje
compilados:
Los compiladores son
aquellos
cuya funcin es traducir un programa escrito en un
determinado lenguaje a un idioma que la computadora entienda
(lenguaje mquina con cdigo binario).
o Lenguaje interpretados: Se puede tambin 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 cdigo objeto que se produce
durante la corrida de compilacin para utilizarlo en una corrida
de produccin futura, el programador slo carga el programa
fuente en la computadora junto con los datos que se van a
procesar. A continuacin, unprograma intrprete, almacenado
en el sistema operativo del disco, o incluido de manera
permanente dentro de la mquina, convierte cada proposicin
del programa fuente en lenguaje de mquina conforme vaya
siendo necesario durante el proceso de los datos. No se graba
el cdigo objeto para utilizarlo posteriormente.

Algunos ejemplos de lenguajes ampliamente usados

Lenguaje

Principal rea de aplicacin Compilado/interp


retado

ADA

Tiempo real

Lenguaje
compilado

BASIC

Programacin para fines


educativos

Lenguaje
interpretado

Programacin de sistema

Lenguaje
compilado

C++

Programacin de sistema
orientado a objeto

Lenguaje
compilado

Cobol

Administracin

Lenguaje
compilado

Fortran

Clculo

Lenguaje

compilado
Java

Programacin orientada a
Internet

Lenguaje
intermediario

MATLAB

Clculos matemticos

Lenguaje
interpretado

Clculos
matemticos

Clculos matemticos

Lenguaje
interpretado

LISP

Inteligencia artificial

Lenguaje
intermediario

Pascal

Educacin

Lenguaje
compilado

PHP

Desarrollo de sitios web


dinmicos

Lenguaje
interpretado

Inteligencia
artificial

Inteligencia artificial

Lenguaje
interpretado

Perl

Procesamiento de cadenas de
caracteres

Lenguaje
interpretado

Fuentes bibliograficas
http://www.monografias.com/trabajos99/historia-y-definicionlenguajes-programacion/historia-y-definicion-lenguajesprogramacion.shtml
http://es.ccm.net/contents/304-lenguajes-de-programacion

You might also like