Você está na página 1de 7

Lenguaje de Programacin

1. HISTORIA

Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje especfico conocido
como cdigo mquina, el cual la mquina comprende fcilmente, pero que lo hace excesivamente
complicado para las personas. De hecho slo consiste en cadenas extensas de nmeros 0 y 1.

Para facilitar el trabajo, los primeros operadores de computadoras decidieron hacer un traductor para
reemplazar los 0 y 1 por palabras o abstraccin de palabras y letras provenientes del ingls; ste se conoce
como lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar).
El lenguaje ensamblador sigue la misma estructura del lenguaje mquina, pero las letras y palabras son
ms fciles de recordar y entender que los nmeros.

La necesidad de recordar secuencias de programacin para las acciones usuales llev a denominarlas con
nombres fciles de memorizar y
asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar 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 programacin, los cuales
reciben su denominacin porque tienen una estructura sintctica semejante a la de los lenguajes escritos
por los humanos, denominados tambin lenguajes de alto nivel.

El primer programador de computadora que se haya conocido fue una mujer: Ada Lovelace, hija
de Anabella Milbanke Byron y Lord Byron. Anabella inici en las matemticas a Ada quien, despus de
conocer a Charles Babbage, tradujo y ampli una descripcin de su mquina analtica. Incluso aunque
Babbage nunca complet la construccin de cualquiera de sus mquinas, el trabajo que Ada realiz con
stas le hizo ganarse el ttulo de primera programadora de computadoras del mundo. El nombre
del lenguaje de programacin Ada fue escogido como homenaje a esta programadora.

A finales de 1953, John Backus someti una propuesta a sus superiores en IBM para desarrollar una
alternativa ms prctica al lenguaje ensamblador para programar la computadora central IBM 704. El
histrico equipo Fortran de Backus consisti en los programadores Richard Goldberg, Sheldon F.
Best, Harlan Herrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, Lois Haibt y David Sayre.2

El primer manual para el lenguaje Fortran apareci en octubre de 1956, con el


primer compilador Fortran entregado en abril de 1957. Esto era un compilador optimizado, porque los
clientes eran reacios a usar un lenguaje de alto nivel a menos que su compilador pudiera generar cdigo
cuyo desempeo fuera comparable al de un cdigo hecho a mano en lenguaje ensamblador.

En 1960, se cre COBOL, uno de los lenguajes usados an en la actualidad, en informtica de gestin.
A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario
disponer de un mtodo ms eficiente para programarlas. Entonces, se crearon los lenguajes de alto nivel,
como lo fue BASIC en las versiones introducidas en los microordenadores de la dcada de 1980. Mientras
que una tarea tan sencilla como sumar dos nmeros puede necesitar varias instrucciones en lenguaje
ensamblador, en un lenguaje de alto nivel bastar una sola sentencia.

2. CONCEPTO
Un lenguaje de programacin es un lenguaje formal diseado para realizar procesos que pueden ser
llevados a cabo por mquinas como lascomputadoras.
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.1
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 estructurar 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.
3. TIPOS DE LENGUAJES DE PROGRAMACION
En la actualidad hay ms de 100 lenguajes de programacin diferentes. No vamos a definir todos los
lenguajes de programacin que existen porque son muchos pero s os hablaremos de los ms importantes y
para qu se utilizan.

Un ordenador no entiende un lenguaje como el que utilizan los humanos, sino que el lenguaje que entiende
se llama lenguaje binario o cdigo binario o cdigo mquina que consiste en ceros y unos
bsicamente, es decir, una mquina slo utiliza los nmeros 0 y 1 para codificar cualquier accin a tomar.
Si quieres conocer mejor este sistema de numeracin te recomendamos este enlace: Sistema Binario

Se clasifican en dos tipos:

Los Lenguajes de Programacin de Bajo Nivel: que son aquellos utilizados fundamentalmente para
controlar el hardware del ordenador y dependen totalmente de la mquina y no se pueden utilizar en otras
mquinas. Estn orientados exclusivamente para la mquina Estos lenguajes son los que ordenan a la
mquina operaciones fundamentales para que pueda funcionar. Utiliza bsicamente ceros, unos y
abreviaturas de letras. Estos lenguajes tambin se llaman de cdigo mquina. Son los ms complicados,
pero solo los usan prcticamente los creadores de las mquinas. Con este tipo de lenguajes programan la
asignacin y liberacin de memoria, el uso de punteros, el poder usar paso por valor y por referencia, la
creacin de tipos de datos, etc.

Los Lenguajes de Programacin de Alto Nivel: Estos lenguajes son ms parecidos al lenguaje natural
humano y no dependen de la mquina y sirven fundamentalmente para crear programas informticos que
solucionan diferentes problemas. Son los ms usados por los programadores y por todo del mundo que
realiza programas informticos.

La diferencia fundamental se puede explicar con el siguiente ejemplo:


En un lenguaje de alto nivel slo tengo que poner sqt(x), que sera una funcin predeterminada, calcular el
cuadrado de x.
Si fuera de bajo nivel, yo mismo tendra que crear la funcin sabiendo como funciona el cuadrado de un
nmero:

cuadrado(x) = x * x

Como vemos para aprender a programar con un lenguaje de alto nivel debemos conocer el propio
lenguaje que utiliza y todos sus comandos, en el ejemplo saber que sqt realiza el cuadrado de un
nmero.
Para no extendernos mucho en esto que es bastante amplio, pasaremos a explicaros algunos de los
lenguajes de programacin ms usados en las mquinas que ms utilizamos.

4. TENDENCIAS
La evolucin de los lenguajes de programacin contina, tanto en la industria como en investigacin.
Algunas de las tendencias actuales incluyen:

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 micro-niveles).

Construir lenguajes para apoyar la programacin concurrente y distribuida.

Mecanismos para aadir al lenguaje verificacin en cuanto a seguridad y confiabilidad:


chequeo sintctico extendido, control de flujo de informacin, seguridad de hilos.

Mecanismos alternativos de modularidad: mixins, delegados, aspectos.

Desarrollo de software orientado a componentes.

Meta programacin, la reflexin o el acceso al rbol de sintaxis abstracta.

Mayor nfasis en cuanto a distribucin y movilidad.

Integracin con bases de datos, incluyendo XML y bases de datos relacionales.

Soporte para Unicode para que el cdigo fuente (texto del programa) no se limite slo a los
caracteres contenidos en el conjunto de caracteres ASCII, permitiendo, por ejemplo, el uso
de caracteres no latinos basados en guiones o signos de puntuacin extendidos.

XML para interfaz grfica (XUL, XAML).


El cdigo abierto como una filosofa de desarrollo de lenguajes, incluyendo la coleccin de
compiladores de GNU y lenguajes recientes, como Python, Ruby, y Squeak.

Programacin Orientada a Aspectos (AOP).

Lenguajes que soporten programar sobre los procesadores de la GPU en paralelo,


como OpenCL.
Algunos lenguajes importantes desarrollados durante este perodo incluyen:

2000 - ActionScript

2001 - C#

2001 - Visual Basic .NET

2002 - F#

2003 - Groovy

2003 - Scala

2003 - Factor

2007 - Clojure

2009 - Go

2011 - Dart

5. VENTAJAS Y DESVENTAJAS:

ALTO NIVEL:

VENTAJAS:

Genera un cdigo ms sencillo y comprensible.

Escribir un cdigo valido para diversas mquinas y, posiblemente, sistemas operativos.

DESVENTAJAS:

Reduccin de velocidad al ceder al trabajo de bajo nivel a la mquina.


Algunos requieren que la maquina cliente posea una determinada plataforma.

BAJO NIVEL:

VENTAJAS:

Mayor adaptacin al equipo

Posibilidad de obtener la mxima velocidad con mnimo uso de memoria

DESVENTAJAS:

Imposibilidad de escribir cdigo independiente de la maquina

Mayor dificultad en la programacin y en la comprensin de los programas

El Programador debe conocer ms de un centenar de instrucciones

Es necesario conocer en detalle la arquitectura de la maquina

6. LENGUAJES DE PROGRAMACIN PARA DISPOSITIVOS MVILES

Los lenguajes de programacin para los dispositivos mviles dependen en gran parte del
dispositivo en el que se quiera trabajar, sin embargo tienen en comn que se puede crear sistemas
visuales robustos con mayor facilidad independientemente del lenguaje de programacin que se
est aplicando, por supuesto dicho lenguaje debe soportar la metodologa de programacin con la
que trabaja el dispositivo en particular.

Java : Para dispositivos mviles la versin de Java en la que se programa es J2ME (JavaMicro
Edition)

Lenguaje de C++ : Una de las herramientas que se utilizan para la programacin de mviles
basadas en el lenguaje de C++ es Carbide.c++ la cual trabaja en la plataforma de Symbian,

Lenguaje de C# : Para desarrollar aplicaciones en dispositivos mviles a travs de este lenguaje


de programacin se puede utilizar la herramienta de Visual C# que trabaja con un IDE para
disear las ventanas de la aplicacin.
Objective C : Este lenguaje de programacin est basado en C y a diferencia de C++ es un
sper conjunto del lenguaje C, ya que agrega a la sintaxis de C la manera de enviar mensajes
enSmall-Talk y de definir e implementar objetos.

NET : Es un Framework (estructura de soporte para organizar y desarrollar software) de


Microsoft que permite un rpido desarrollo de aplicaciones.

Python : Este lenguaje de programacin orientado a objetos es utilizado para dispositivos mviles
tales como Symbian, Palm, telfonos inteligentes de Nokia, etc., tambin se puede emplear en
otras plataformas tales como Windows, Linux/Unix, Mac OS X, OS/2 y tambin ha sido portado
para maquinas virtuales de Java y .Net, distribuido bajo la licencia de cdigo abierto OSI lo hace
libre en su uso.

Você também pode gostar