Sei sulla pagina 1di 8

Historia de la Programacin

Los primeros lenguajes de programacin surgieron de la idea de Charles


Babagge. Era un profesor matemtico de origen ingls, que al principio del siglo
XIX predijo muchas de las teoras en que se basan los actuales ordenadores.
Pens en la creacin de la llamada mquina analtica en el siglo XIX. Colabor
con Ada Lovedby, la cual es considerada como la primera programadora de
la historia, pues realiz programas para aqulla supuesta mquina de Babagge,
en tarjetas perforadas. Como la mquina no llego nunca a construirse, los
programas de Ada, lgicamente, tampoco llegaron a ejecutarse, pero si suponen
un punto de partida de la programacin, sobre todo si observamos que en cuanto
se empez a programar, los programadores utilizaron las tcnicas diseadas por
Charles Babagge, y Ada, que consistan entre otras, en la programacin mediante
tarjetas perforadas. A pesar de ello, Ada ha permanecido como la primera
programadora de la historia. Se dice por tanto que estos dos genios, se
adelantaron un siglo a su poca, lo cual describe la inteligencia de la que se
hallaban dotados.
En 1823 el gobierno Britnico apoy a Babagge para crear el proyecto de
una mquina de diferencias, un dispositivo mecnico para efectuar sumas
repetidas. Pero Babagge se dedic al proyecto de la mquina analtica,
abandonando la mquina de diferencias, que se pudiera programar con tarjetas
perforadas, gracias a la creacin de Charles Jacquard (francs). Este hombre era
un fabricante de tejidos y haba creado un telar que poda reproducir
automticamente patrones de tejidos, leyendo la informacin codificada en
patrones de agujeros perforados en tarjetas de papel rgido. Entonces Babagge

intento crear la mquina que se pudiera programar con tarjetas perforadas para
efectuar cualquier clculo con una precisin de 20 dgitos. Pero la tecnologa de la
poca no bastaba para hacer realidad sus ideas. Si bien las ideas de Babagge no
llegaron a materializarse de forma definitiva, su contribucin es decisiva, ya que
los ordenadores actuales responden a un esquema anlogo al de la mquina
analtica. En su diseo, la mquina constaba de cinco unidades bsicas:
Unidad de entrada, para introducir datos e instrucciones.
Memoria, donde se almacenaban datos y resultados intermedios.
Unidad de control, para regular la secuencia de ejecucin de
las operaciones.
Unidad Aritmtico-Lgica, que efecta las operaciones.
Unidad de salida, encargada de comunicar al exterior los resultados.
Charles Babbage, conocido como el "padre de la informtica" no pudo completar
en aquella poca la construccin del computador que haba soado, dado que
faltaba algo fundamental: la electrnica. El camino sealado de Babbage, no fue
nunca abandonado y siguindolo, se construyeron los primeros computadores
donde la entrada y salida de datos se realizaba mediante tarjetas perforadas.
La 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.

Sobre los ltimos 50 aos, los idiomas que programan han evolucionado del
cdigo binario de mquina a herramientas poderosas que crean las abstracciones
complejas. Como todos sabemos el "cerebro" de un ordenador es la Unidad
Central de Procesamiento (CPU). En general un CPU puede almacenar nmeros
y realizar operaciones matemticas bsicas con ellos. Adems esos nmeros se
pueden recibir de o enviar a la memoria o a los distintos dispositivos de entrada y
salida (teclado, monitor, disco duro, impresora, etc). Para cada una de estas
operaciones existe una instruccin diferente y cada CPU tiene su propio juego de
instrucciones, ms o menos amplio dependiendo de la complejidad de la CPU.
En la memoria del ordenador se puede guardar una secuencia de esas
instrucciones, que el ordenador es capaz de seguir desde el principio hasta el
final. Esas secuencias se llaman programas ejecutables. Cualquier funcin que
realice un ordenador, por sofisticada que parezca, en realidad no es ms que una
larga secuencia de instrucciones elementales. Para los humanos resulta muy
complicado escribir directamente los programas ejecutables porque cualquier
tarea requiere muchsimos pasos, que el ordenador ejecuta de forma instantnea,
pero para que los ordenadores funcionen es necesario disponer de programas
ejecutables.
Los lenguajes de programacin se han creado para facilitar la elaboracin
de programas ejecutables. Un lenguaje de programacin es un lenguaje
artificial diseado para dictar instrucciones a un ordenador, pero tienen la
ventaja de que no es necesario desmenuzar las tareas tanto como lo requiere el
CPU si no que permiten definir tareas de forma ms abstracta. Por ejemplo, un
lenguaje de programacin puede tener una instruccin para calcular races
cuadradas, aunque haya CPUs que no tengan la capacidad de calcular races
cuadradas.
Existen muchos lenguajes de programacin diferentes, pero en general, un
programador que quiere conseguir que el ordenador realice determinadas
operaciones, tiene que seguir estos pasos:

El programador escribe una secuencia de instrucciones siguiendo las reglas


de un lenguaje de programacin. Esa secuencia de instrucciones se guarda
en uno o varios archivos de texto. A estos archivos se les llama cdigo
fuente del programa.

Mediante un programa especial (llamado compilador o intrprete) capaz de


realizar esa tarea el ordenador convierte los archivos de texto en archivos
ejecutables, es decir, traduce la secuencia de instrucciones escritas por el
programador en instrucciones. A estos archivos ejecutables se les
llama programas ejecutables.

El programador o cualquier otro usuario le puede pedir al ordenador que


ejecute el programa ejecutable.

Caractersticas de la programacin

Legibilidad: consiste en si el lenguaje tiene una sintaxis sencilla, fciles de


leer y fciles de compilar (ejecutar)
Ortogonalidad: permite combinar en una sola instruccin diversas
caractersticas del lenguaje, de esta manera se consiguen programas ms
cortos y ms compactos.
Naturalidad
para
la
aplicacin:
consiste
en
el
lenguaje
proporcione herramientas adecuadas para el fin para el que est pensado.
Soporte a la abstraccin: Solucionar tipos de problemas y no problemas
concretos.
Debe
permitir
que
el
programador
pueda
crear funciones y procedimientos.
Entorno de programacin: Los lenguajes han de ir acompaados de un
entorno donde programar.
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.

Ventajas de los lenguajes de Programacin:


Los lenguajes de programacin son infinitamente ms comprensibles para
los humanos que las secuencias de instrucciones.
Un mismo cdigo fuente se puede acabar ejecutando en ordenadores con
diferentes juegos de instrucciones, usando compiladores o intrpretes que
sean capaces de realizar la traduccin.
Mejorando los compiladores o intrpretes, un mismo cdigo fuente se
puede acabar convirtiendo en programas ejecutables ms rpidos.
LA IMPORTANCIA DE LA PROGRAMACIN
La programacin es importante porque permite automatizar todo tipo de
tareas. Cuando un trabajo se hace manualmente, el tiempo empleado para realizar
un trabajo suele ser directamente proporcional a la cantidad de trabajo. As pues,

cabe destacar que la programacin maximiza el tiempo de cualquier actividad que


pueda realizar una persona y que le pueda llevar mucho tiempo.
CLASIFICACIN DE LOS LENGUAJES DE PROGRAMACIN
Los lenguajes de programacin son clasificados de muchas formas, dentro
de estas se encuentran:
Clasificacin segn nivel de abstraccin
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.
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.
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 la forma de ejecucin
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). Al usar un lenguaje, 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.

Lenguaje interpretados:
La tarea de conversin se realiza cada vez que se quiere ejecutar el programa. El
intrprete lee una instruccin del programa fuente, la convierte en cdigo
ejecutable, la ejecuta y pasa a la siguiente. En este caso, el usuario necesita tener
el programa fuente para poder ejecutarlo.
Lenguajes tipificados y lenguajes no tipificados

En programacin, los elementos que pueden almacenar informacin se llaman


variables. Dependiendo del tipo de informacin (nmeros, letras, etc) que se
almacena se usan variables de un tipo o de otro. Una caracterstica que diferencia
unos lenguajes de otros es la rigidez o permisividad con respecto a los tipos de
variables.

Los lenguajes tipificados: son aquellos en los que una variable guarda
siempre un mismo tipo de datos.

Los lenguajes no tipificados no requieren la declaracin de tipo de las


variables y una misma variable puede almacenar valores de tipos distintos a
lo largo de la ejecucin del programa.

Algunas ventajas de los lenguajes tipificados es que permiten detectar errores


que permiten a los compiladores optimizar mejor el cdigo ejecutable y, en el caso
de exigir la declaracin de tipo de las variables, que facilitan la comprensin de los
programas. Algunas ventajas de los lenguajes no tipificados es la mayor
flexibilidad de los programas, y una serie de caractersticas que aunque no se
derivan necesariamente de la falta de tipificacin suelen presentar los lenguajes
no tipificados: simplicidad, mayor nmero de tipos de datos, etc.
Clasificacin en funcin la forma de programar.
o Lenguajes procedurales.
Establecen como debe ejecutarse una tarea, dividindola en partes que
especifican como realizar cada una de las subtareas asociadas. La mayora de los
lenguajes de alto nivel son de este tipo: FORTRAN, BASIC, PASCAL, etc.
o Lenguajes declarativos.
En este caso, el proceso por el cual se ejecuta el programa no aparece de forma
explcita en el programa, el programador no tiene que indicar el proceso detallado
de cmo realizar la tarea.
o Orientados a objetos.
El diseo de los programas se centra ms en los datos y su estructura. Los
programas consisten en descripciones de unidades denominadas objetos, que
encapsulan los datos y las operaciones que actan sobre ellos.
o Orientados al problema.
Estn diseados para problemas especficos, principalmente de gestin. En estos
lenguajes, los programas estn formados por sentencias que ordenan que se
quiere hacer. Generalmente, estos lenguajes suelen ser generadores de

aplicaciones que permiten automatizar en la medida de lo posible la tarea de


desarrollo de software de aplicaciones de gestin
Lenguajes de programacin:
1) Pascal: es uno de los lenguajes de programacin mejor estructurados con
aplicaciones muy diversas, es propicio para la investigacin cientfica.
2)

Fortran (Frmula Translator): Fue el primer lenguaje exhaustivo de alto


nivel de uso generalizado, se utiliza para trabajos cientficos. Sus
caractersticas son:

Necesidad de pocas instrucciones

Escala de necesidad de tratar con textos

Los datos son normalmente nmeros en forma exponencial

La cantidad de datos a elaborar es reducida, mientras que puede ser


notable el numero de elaboraciones necesarias

Necesidad de disponer de instrumentos de clculos especiales (algoritmos


matemticos)
3) Cobol (Common Business Oriented Languaje):
Es un lenguaje de
programacin para uso comercial y empresarial especializado en la
organizacin de datos y manipulacin de archivos. Sus caractersticas son:

Ausencia de instrucciones de clculo (excepto las operaciones principales)

Posibilidad de una buena gestin de los datos en disco (archivo)

Instrucciones destinadas a la impresin de informes de tipo econmico


4) Basic: Este lenguaje de alto nivel fue inventado con fines didcticos, es
fcil de aprender y de usar. Esta dirigido a los usuarios de computador no
profesionales. Es un lenguaje apto para objetivos cientficos y comerciales,
ya que adems de las caractersticas del fortran, tiene una notable
capacidad para gestionar textos y diversas instrucciones para la expresin
de informes econmicos.

5) Lenguaje C: Presenta mejoras en la estructuracin de sus programas,


incluyendo instrucciones para ciclos, toma de decisiones, programacin
orientada a objetos y herramientas para el desarrollo de ambientes grficos,
entre otras
6) Lenguaje Visual: Esta nueva generacin de lenguajes se basa en
elementos denominados objetos, a los cuales estn asociados programas,
descripciones de color, tamao, modalidad de acceso y cualquier otra
caracterstica que distinga al objeto. Un Objeto puede ser un icono, una
ventana, un archivo, una impresora, etc. Ejemplo de estos lenguajes son el
visual BASIC, visual FoxPro o visual c.
7 ) Java y otros lenguajes para internet: La empresa Sun Microsistems, en
1996, desarrollo el lenguaje de programacin estndar basado en HTLM
( Hyper Text Markup Language) el cual permite desarrollar paginas web
cuyo uso hoy da esta muy difundido entre pequeos y grandes
comerciantes quienes utilizan las paginas web en proceso de
comercializacin de sus productos y servicios.

Potrebbero piacerti anche