You are on page 1of 11

LENGUAJES DE PROGRAMACIN.

Qu es un lenguaje de programacin?

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 expresar algoritmos con precisin, o como modo de comunicacin
humana.
Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que
definen su estructura y el significado de sus elementos y expresiones. Al proceso por el
cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene
el cdigo fuente de un programa informtico se le llama programacin.
Tambin la palabra programacin se define como el proceso de creacin de
un programa de computadora, mediante la aplicacin de procedimientos lgicos, a travs
de los siguientes pasos:
El desarrollo lgico del programa para resolver un problema en particular.
Escritura de la lgica del programa empleando un lenguaje de programacin
especfico (codificacin del programa).
Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de
mquina.
Prueba y depuracin del programa.
Desarrollo de la documentacin.
Existe un error comn que trata por sinnimos los trminos lenguaje de
programacin y lenguaje informtico. Los lenguajes informticos engloban a los
lenguajes de programacin y a otros ms, como por ejemplo HTML (lenguaje para el
marcado de pginas web que no es propiamente un lenguaje de programacin, sino
un conjunto de instrucciones que permiten disear el contenido de los documentos).
Permite especificar de manera precisa sobre qu datos debe operar una
computadora, cmo deben ser almacenados o transmitidos y qu acciones debe tomar
bajo una variada gama de circunstancias. Todo esto, a travs de un lenguaje que intenta
estar relativamente prximo al lenguaje humano o natural. Una caracterstica relevante
de los lenguajes de programacin es precisamente que ms de un programador pueda
usar un conjunto comn de instrucciones que sean comprendidas entre ellos para realizar
la construccin de un programa de forma colaborativa.




1. Qu es el lenguaje natural?
Es el medio que utilizamos de manera cotidiana para establecer
nuestra comunicacin con las dems personas. Este tipo de lenguaje es el que nos
permite el designar las cosas actuales y razonar a cerca de ellas.

En informtica desde siempre se ha buscado que los ordenadores fuesen
capaces de comprender el lenguaje humano, de modo que pudiesen obedecer
rdenes directas del hombre.

El timbre de cada persona, casi
nico, el tono, los ademanes y gestos
etc., todos ellos forman parte del lenguaje
natural humano, y son mucho ms
difcilmente entendibles para un
ordenador. Los avances tecnolgicos, sin
embargo ya permiten que se hayan hecho
ciertos experimentos con xito de
captacin de gestos, y reconocimiento de
voz.

Estos avances individuales han
permitido que haya surgido con fuerza una
rama de la informtica,
llamada procesamiento del lenguaje
natural, que busca precisamente permitir
que los ordenadores sean capaces de
captar la informacin transmitida por una persona y trasladarla luego a otra.

Sin embargo el procesamiento de lenguaje natural plantea
muchos problemas: los mltiples significados de cada palabra, los acentos de cada
zona, la jerga de cada lugar, expresiones tpicas, lenguaje ambiguo, irona. Etc.

2. TIPOS DE LENGUAJES DE PROGRAMACIN.
Los programadores escriben instrucciones en diversos lenguajes de programacin.
La computadora puede entender directamente algunos de ellos, pero otros requieren
pasos de traduccin intermedios. Hoy en da se utiliza cientos de lenguajes de
computadora.
Atendiendo a diferentes criterios podemos clasificar o tipificar los lenguajes
segn:

a. De acuerdo con su uso:



1. Lenguajes desarrollados para el clculo numrico. Tales como FORTRAN,
Mathematica y Matlab.
2. Lenguajes para sistemas. Como C, C++ y ensamblador.
3. Lenguajes para aplicaciones de Inteligencia Artificial. Tales como Prolog, y
Lisp.
b. De acuerdo con el tipo de instrucciones de que constan.
En esta clasificacin se tiene al lenguaje mquina, al lenguaje
ensamblador y al lenguaje de alto nivel.

1. Lenguaje mquina (Binario)


Una computadora slo puede entender el lenguaje mquina. El
lenguaje de mquina ordena a la computadora realizar sus operaciones
fundamentales una por una. Dicho lenguaje es difcil de usar para la persona
porque trabajar con nmeros no es muy cmodo adems de que estos nmeros
estn en formato binario.
Cmo es que se representan las operaciones como nmeros? John Von
Neumann desarroll el modelo que lleva su nombre para esta representacin.
Ya se estudi que representar nmeros usando el sistema binario no es
complicado, pero se tena luego el problema de representar las acciones (o
instrucciones) que iba a realizar la computadora tambin en el sistema binario;
pues la memoria, al estar compuesta por bits, solamente permite almacenar
nmeros binarios.
La solucin que se tom fue la siguiente: a cada accin que sea capaz de
realizar la computadora, se le asocia un nmero, que corresponde a su cdigo de
operacin (opcode).
Un opcode (operation code) o cdigo de operacin, es la porcin de
una instruccin de lenguaje de mquina que especifica la operacin a ser realizada.
Su especificacin y formato sern determinados por la arquitectura del conjunto de
instrucciones (ISA) del componente de hardware de computador - normalmente


un CPU, pero posiblemente una unidad ms especializada. Una instruccin
completa de lenguaje de mquina contiene un opcode y, opcionalmente, la
especificacin de uno o ms operandos.
Por ejemplo, una calculadora programable simple podra asignar los
siguientes opcodes:

1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE

Supngase entonces que se quiere realizar la operacin 5 * 3 + 2,
en la calculadora descrita arriba. En la memoria de la calculadora se podra
representar el programa de la siguiente forma:
Posicin Opcode Significado Comentario
0 5 5 Primer nmero de la frmula.
1 3 *
3 es el opcode que representa la
multiplicacin.
2 3 3 Segundo nmero de la frmula.
3 1 + 1 es el opcode para la suma.
4 2 2 ltimo nmero de la frmula.

Y en cdigo binario:

5 3 3 1 2

101 011 011 001 010

Podemos ver que, con esta representacin, es simple expresar las
operaciones de las que es capaz de realizar el hardware en la memoria. La
descripcin y uso de los opcodes es lo que se llama lenguaje de mquina. El
lenguaje mquina es el lenguaje ms primitivo y depende directamente del
hardware.

2. Lenguajes de bajo nivel (ensamblador)

Para facilitar y agilizar su labor a los programadores, se buscaron nuevos
lenguajes. Cuando abstraemos los opcodes y los sustituimos por una palabra
que sea una clave de su significado, se tiene el concepto de Lenguaje


Ensamblador.
As, el lenguaje ensamblador representa las acciones del
ordenador mediante pequeas abreviaturas de palabras en ingls. Podemos
entonces definir al Lenguaje Ensamblador de la siguiente forma:
Lenguaje Ensamblador consiste en asociar a los opcodes palabras clave
que faciliten su uso por parte del programador.
No obstante, el lenguaje ensamblador requiere de muchas instrucciones
para realizar simples operaciones.

3. Lenguajes de alto nivel

Para acelerar an ms el proceso de programacin se
desarrollaron los lenguajes de alto nivel, en los que se puede escribir un slo
enunciado para realizar tareas sustanciales. Los lenguajes de alto nivel
permiten a los programadores escribir instrucciones que asemejan al
ingls cotidiano y contiene notaciones matemticas de uso comn.
El concepto de lenguaje de alto nivel naci con el lenguaje FORTRAN
(FORmula TRANslation) que, como su nombre indica, surgi como un
intento de traducir frmulas matemticas al lenguaje ensamblador y por
consiguiente al lenguaje de mquina.
A partir de FORTRAN, se han desarrollado innumerables lenguajes
que siguen el mismo concepto: buscar la mayor abstraccin posible y
facilitar la vida al programador, aumentando la productividad. Entre estos
lenguajes de alto nivel se encuentra el lenguaje C++.
Ejemplos de lenguajes de programacin:
Lenguaje
Mquina

100001010101010

100100101010100

100011100101110



Lenguaje de Nivel Bajo (Ensamblador)

LOAD R1, (B)
LOAD R2, (C)
ADD R1, R2
STORE (A), R1
Lenguajes de Alto Nivel

A = B + C;

Otra clasificacin de lenguajes de programacin vendra a ser la siguiente:
1. LENGUAJES COMPILADOS
Naturalmente, un programa que se escribe en un lenguaje de alto nivel tambin
tiene que traducirse a un cdigo que pueda utilizar la mquina. Los programas
traductores que pueden realizar esta operacin se llaman compiladores. stos, como los
programas ensambladores avanzados, pueden generar muchas lneas de cdigo de
mquina por cada proposicin del programa fuente. Se requiere una corrida de
compilacin antes de procesar los datos de un problema.
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).
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 cdigo.
2. LENGUAJES 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, un
programa 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.
La siguiente vez que se utilice una instruccin, se le debe interpretar otra vez y
traducir a lenguaje mquina. Por ejemplo, durante el procesamiento repetitivo de los
pasos de un ciclo, cada instruccin del ciclo tendr que volver a ser interpretado cada vez
que se ejecute el ciclo, lo cual hace que el programa sea ms lento en tiempo de ejecucin
(porque se va revisando el cdigo en tiempo de ejecucin) pero ms rpido en tiempo de


diseo (porque no se tiene que estar compilando a cada momento el cdigo completo). El
intrprete elimina la necesidad de realizar una corrida de compilacin despus de cada
modificacin del programa cuando se quiere agregar funciones o corregir errores; pero es
obvio que un programa objeto compilado con antelacin deber ejecutarse con mucha
mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de
produccin.
3. LENGUAJES DE PROGRAMACIN DECLARATIVOS
Se les conoce como lenguajes declarativos en ciencias computacionales a aquellos
lenguajes de programacin en los cuales se le indica a la computadora qu es lo que se
desea obtener o qu es lo que se est buscando, por ejemplo: Obtener los nombres de
todos los empleados que tengan ms de 32 aos. Eso se puede lograr con un lenguaje
declarativo como SQL.
La programacin declarativa es una forma de programacin que implica la
descripcin de un problema dado en lugar de proveer una solucin para dicho problema,
dejando la interpretacin de los pasos especficos para llegar a dicha solucin a un
intrprete no especificado. La programacin declarativa adopta, por lo tanto, un enfoque
diferente al de la programacin imperativa tradicional.
En otras palabras, la programacin declarativa provee el qu, pero deja el
cmo liberado a la implementacin particular del intrprete. Por lo tanto se puede ver
que la programacin declarativa tiene dos fases bien diferenciadas, la declaracin y la
interpretacin.
Es importante sealar que a pesar de hacer referencia a intrprete, no hay que
limitarse a lenguajes interpretados en el sentido habitual del trmino, sino que tambin
se puede estar trabajando con lenguajes compilados.
EJEMPLOS DE LENGUAJES DECLARATIVOS
Algunos lenguajes declarativos que se pueden mencionar son:
PROLOG
SQL
HTML
WSDL (Web Services Description Language)
XML Stylesheet Language for Transformation.














3. VENTAJAS Y DESVENTAJAS DE LOS LENGUAJES DE PROGRAMACIN
1. Ventajas y Desventajas de lenguajes de alto y bajo nivel:
a) Alto nivel.

Ventajas:
Genera un cdigo ms sencillo y comprensible.
Escribir un cdigo vlido para diversas mquinas y, posiblemente, sistemas
operativos.
Desventajas:
Reduccin de velocidad al ceder el trabajo de bajo nivel a la mquina.
Algunos requieren que la mquina cliente posea una determinada
plataforma.
b) Bajo nivel.




Ventajas.
Los lenguajes ensambladores presentan la ventaja frente a los lenguajes
mquina de su mayor facilidad de codificacin y, en general, su velocidad
de clculo.
Desventajas.
Dependencia total de la mquina lo que impide la transportabilidad de los
programas. El lenguaje ensamblador del PC es distinto del lenguaje
ensamblador del Apple Macintosh.
La formacin de los programadores es ms compleja que la
correspondiente a los programadores de alto nivel, ya que no slo las
tcnicas de programacin, sino tambin el conocimiento del interior de la
mquina.
c) Lenguaje mquina.
Ventajas del Lenguaje Mquina
Posibilidad de cargar (transferir un programa a la memoria) sin necesidad de
traduccin posterior, lo que supone una velocidad de ejecucin superior a
cualquier otro lenguaje de programacin.
Desventajas del Lenguaje Mquina
Dificultad y lentitud en la codificacin
Poca fiabilidad
Gran dificultad para verificar t poner a punto los programas
Los programas solo son ejecutables en el mismo procesador (CPU)


En la actualidad, las desventajas superan a las ventajas, lo que hace
prcticamente no recomendables a los lenguajes mquinas.
4. Lenguaje de programacin que se adecua para lograr la
interpretacin del problema.
Podramos decir que antes de empezar a programar en un lenguaje
determinado hay que conocer una serie de conceptos bsicos comunes a todos
estos lenguajes.
Para empezar debemos definir que es un programa. Un programa puede
entenderse como la forma de expresar la solucin a un problema de manera que
sea comprensible para el ordenador. En otras palabras, un programa es un
conjunto ordenado de instrucciones que se dan a la computadora indicando el
conjunto de operaciones o tareas que se desea llevar a cabo.
Una instruccin es un conjunto ordenado de smbolos que representa una
orden o tratamiento para el ordenador.
A la hora de crear un programa, hay que tener en cuenta los siguientes
pasos:
1. Realizar un anlisis del problema definiendo los requisitos a los que se deben dar
solucin

2. Disear y verificar el algoritmo que se va a seguir para solucionar el problema

3. Se codifica el algoritmo diseado anteriormente en un lenguaje de programacin

4. Se traduce el cdigo fuente escrito a cdigo maquina empleando compiladores,
generndose de esta manera el programa ejecutable por el ordenador.

5. Se comprueba que el programa generado funciona correctamente. En caso de
encontrar algn error, se depura el cdigo (solucin a los problemas)

6. Se realiza la documentacin del programa realizado.
Dicho esto, el lenguaje ms adecuado sera un lenguaje de alto nivel: de
tercera generacin.
Es un tipo de lenguaje de programacin, en el que las instrucciones de los
diferentes programas se codifican utilizando los caracteres de las lenguas naturales;
quiere decir que utilizan caracteres naturales para escribir las instrucciones de los
programas.


5. De acuerdo con el ejercicio presentado srvase recomendar Qu
caractersticas sern necesarias para una mejor aplicacin del
lenguaje de programacin?
Para la realizacin de un proceso, el procesador deber recibir el algoritmo
adecuado, siendo ste capaz de interpretarlo. Entender las instrucciones que cada
paso expresa. Ejecutar las operaciones correspondientes.

Caractersticas necesarias:
El desarrollo de algoritmos eficientes es una habilidad que se trata de mejorar
siempre.
Se busca la mejora en el uso del lenguaje de programacin disponible.
Enriquecer el vocabulario con construcciones tiles sobre programacin.
Tener la capacidad para elegir el mejor lenguaje de programacin.
Facilitar el aprendizaje de cualquier otro lenguaje.
Facilitar el diseo de un lenguaje nuevo.
Facilitan la tarea de programacin, ya que disponen de formas adecuadas que
permiten ser ledas y escritas por personas.
Los lenguajes de programacin representan en forma simblica y en manera
de un texto los cdigos que podrn ser ledos por una persona.
Son independientes de las computadoras a utilizar.
Describe el conjunto de acciones consecutivas que un equipo debe ejecutar.
Permite mayor portabilidad.

You might also like