Está en la página 1de 14

REPUBLICA BOLIVARIANA DE VENEZUELA

INSTITUTO UNIVERSITARIO POLITECNICO


SANTIAGO MARIO
EXTENCION MATURIN
INGENIERIA ELECTRICA

PROGRAMACION

Prof:

alumno:

Rodriguez
Historia de los lenguajes de programacin.

Los lenguajes de programacin surgieron de la idea de Charles Babagge la cual se le


ocurri la idea a mediados del siglo XIX.
Los lenguajes de programacin se basaban en cdigos, Charles era un profesor matemtico
de la universidad de Cambridge e inventor ingls, que al principio del mismo siglo predijo
muchas teoras las cuales se basaban en los ordenadores actuales. Consista en lo que el
denominaba la maquina analtica, esta deba funcionar con un motor a vapor que habra
tenido 30mts de largo por 10mts de ancho. Para la entrada de datos y programas, haba
pensado utilizar tarjetas perforadas, la salida de los datos deba producirse por una
impresora, un equipo de dibujo y una campana. Debido a problemas tcnicos no pudo
construirse la misma, sino hasta el siglo XX,.
Las teoras de Babagge nunca fueron abandonadas y siguindolas fueron perfeccionndolas
hasta construir los primeros computadores.
Los primeros cdigos de computadoras estaban especializados segn sus aplicaciones. En
las primeras dcadas del siglo XX, los clculos numricos estaban basados en los nmeros
decimales. Eventualmente se fueron dando cuenta que la lgica poda ser representada
con nmeros, no solo con palabras.
Lo que sera el primer lenguaje de programacin moderno depende de cunto poder y
legibilidad humana se requera antes de que se concediera el estado de lenguaje de
programacin.
En la dcada de 1940 fueron creadas las primeras computadoras modernas, con
alimentacin elctrica. La capacidad de memoria limitada forzaron a los programadores a
escribir programas, en lenguaje ensamblador muy afinado. Finalmente se dieron cuenta
que la programacin en lenguaje ensamblador requera de un gran esfuerzo intelectual y
era muy propensa a errores.
Cuando surgi el primer ordenador en 1943, el famosa ENIAC (Electonic Integrator And
Calculator), su programacin basada en componentes fsicos, o sea, que se programaba,
cambiando directamente el Hardware de la mquina, exactamente lo que se haca era
cambiar cables de sitio para conseguir as la programacin de la mquina. La entrada y
salida de datos se realizaba mediante tarjetas perforadas.

En el ao de 1950 nacieron los primeros lenguajes de programacin formales. A finales


de este mismo ao fue la publicacin, por un comit Americano y Europeo de cientficos
de la computacin, de un nuevo lenguaje para algoritmos; el reporte de ALGOL 60
(ALGO rithmic language). Este reporte proporciono dos innovaciones importantes para
los lenguajes de programacin:

Estructura de bloques aninados: las secuencias de cdigos y las declaraciones


asociadas se pueden agrupar en bloques sin tener que pertenecer explcitamente a
procedimientos separados;
mbito lxico: un bloque puede tener sus propias variables; procedimientos y
funciones, invisible al cdigo fuera de dicho bloque, por ejemplo, ocultamiento de
informacin.
En el ao de 1957 la historia de los lenguajes de programacin hace un gran avance
cuando nace unos de los primeros lenguajes de programacin ms importantes, el
FORTRAN (Formula Translation), creado por John Backus, fue el primero de los
lenguajes de programacin de alto nivel. En el siguiente ao el prominente
informtico John McCarthy creo un lenguaje de programacin llamado LISP o
proceso de lista, que fue diseado para la investigacin, la inteligencia artificial.
Estos lenguajes de alto nivel fueron utilizados principalmente para aplicaciones en
supercomputadoras, desarrollo de inteligencia artificial y software.
A principio de los aos setenta, y tras los estudios efectuados en la dcada anterior
en la realizacin del lenguaje ALGOL-68, Niklaus Wirth, un profesor de
Eidgenssiche TEchnische Hochschule (Instituto Tecnolgico) de Zurich (Suiza)
dise Pascal, un lenguaje concebido para la enseanza de tcnica de programacin
a estudiantes universitarios, que con el correr de los tiempos se convirti en un
estndar del mundo de la programacin. El objetivo fundamental de su creador fue
desarrollar un lenguaje que permitiera ensear programacin como una disciplina
sistemtica basada en determinados conceptos fundamentales.
El lenguaje de programacin C fue otro de los importantes a lo largo de la historia
de los leguajes de programacin de bajo nivel. Fue creado en 1972 por Dennis
Ritchie para desarrollar los sistemas operativos Linux, sus usos principales son
programacin multiplataforma, programacin de sistemas, programacin en Unix y
desarrollo de videojuegos. Posteriormente se han desarrollado otros lenguajes de
programacin entre los ms importantes tenemos: Java, BASIC, Visual Basic,
Cobol, SQL, C#, Smalltalk, etc.
En el ao de 1983 fue creado un lenguaje de programacin de nivel intermedio
llamado C++ por el cientfico de la computacin Bjarne Stroustup. Una extensin
de C con mejoras como clases, funciones virtuales y plantillas.

En la dcada de 1990 el crecimiento del internet fue un gran acontecimiento


histrico para los lenguajes de programacin. Con la apertura de una plataforma
totalmente nueva para los sistemas informticos, Internet cre una oportunidad,
adoptar nuevos lenguajes. El lenguaje de programacin Java se hizo popular
debido a su pronta integracin con el navegador web Netscape Navigator.
En esta dcada fueron creando lenguajes de programacin con diversas funciones,
Algunos lenguajes importantes que se desarrollaron en este perodo son:
Phython, Visual Basic, Ruby, Java, Clos, Haskell entre otros. La evolucin de los
lenguajes de programacin sigue hasta la actualidad aportando nuevas formas de
manejo al programador.
Programacin.
Es la accin de crear programas o aplicaciones a travs de un cdigo fuente, el cual
se basa en el conjunto de instrucciones que sigue el ordenador para ejecutar un
programa.
Estas instrucciones se encuentran escritas en lenguaje de programacin que luego
son traducidas a un lenguaje de mquina, que puede ser interpretado y ejecutado por
el hardware del equipo. La programacin puede incluir no solo a escribir, sino a
analizar, probar, depurar y mantener el cdigo programado, donde el principal
objetivo a lograr es el desarrollo de sistemas que sean eficaces, accesibles y
agradables o amigables para el usuario.
Lenguaje de programacin.
Los lenguajes de programacin se utilizan para escribir programas. Los programas
de las computadoras modernas constan de secuencias de instrucciones que se
codifican como secuencias de dgitos numricos que podrn entender dichas
computadoras. El sistema de codificacin se conoce como lenguaje mquina que es
el lenguaje nativo de una computadora. La escritura de programas en lenguaje
mquina es una tarea tediosa y difcil ya que sus instrucciones son secuencias de 0 y
1 (patrones de bit, tales como 11110000, 01110011,) que son muy difciles de
recordar y manipular por las personas. Este lenguaje mquina utiliza secuencias o
patrones de ceros y unos para componer las instrucciones que posteriormente
reciben de los diferentes dispositivos de la computadora, tales como el
microprocesador, las unidades de discos duros, los teclados, etc. Es necesario
lenguajes de programacin amigables con el programador que permita escribir los

programas para poder charlar con facilidad con las computadoras. Sin embargo,
las computadoras slo entienden las instrucciones en lenguaje mquina, por lo que
ser preciso traducir los programas resultantes a lenguajes de mquina antes de que
puedan ser ejecutadas por ellas. Cada lenguaje de programacin tiene un conjunto o
juego de instrucciones (acciones u operaciones que debe realizar la mquina) que
la computadora podr entender directamente en su cdigo mquina o bien se
traducirn a dicho cdigo mquina.
Las instrucciones bsicas y comunes en casi todos los lenguajes de programacin
son:
Instrucciones de entrada/salida. Instrucciones de transferencia de informacin
entre dispositivos perifricos y la memoria central, tales como "leer de" o bien
"escribir en".
Instrucciones de clculo. Instrucciones para que la computadora pueda realizar
operaciones aritmticas.
Instrucciones de control. Instrucciones que modifican la secuencia de la ejecucin
del programa.

Estilos de programacin.

En el estilo de programacin los aspectos que normalmente se denominan "estilo"


son aspectos relacionados a los lenguajes como medio de comunicacin entre
personas, y que usualmente no influyen en la comunicacin humano-mquina.
Fundamentalmente el estilo de programacin representa diferentes enfoques para
construccin de soluciones a problemas y por consiguiente afecta al proceso
completo de desarrollo del software. Los estilos de programacin son:

Estilo imperativo.

La programacin imperativa es un estilo de programacin que describe en trminos


del estado del programa y sentencias que cambian dicho estado. Los programas
imperativos son un conjunto de instrucciones que le indican al computador como
realizar una tarea. Un lenguaje imperativo es un conjunto de instrucciones que se
ejecutan una por una, de principio a fin, de modo secuencial excepto cuando
intervienen instrucciones de salto de secuencia o control. Este estilo define el
proceso de programacin como el desarrollo de una secuencia de rdenes que
manipulan los datos para producir los resultados deseados. Por consiguiente el
estilo imperativo seala un enfoque del proceso de programacin mediante la
realizacin de un algoritmo que resuelve de modo manual el problema y a

continuacin expresa ese algoritmo como una secuencia de rdenes. Los lenguajes
imperativos de alto nivel usan variables y sentencias ms complejas, pero an
siguen el mismo paradigma. Las recetas y las listas de revisin de procesos, a pesar
de no ser
programas de computadora, son tambin conceptos familiares similares en estilo a
la
programacin imperativa; cada paso es una instruccin, y el mundo fsico guarda el
estado.
La lista de lenguajes imperativos incluye al Basic, Pascal, C, C++, Java, C# y Perl.

Estilo funcional.

Es un estilo de programacin declarativa basado en la utilizacin de funciones matemticas.


Un lenguaje funcional es a grandes rasgos, un azcar sintctico del clculo lamba.
El objetivo de la programacin funcional es conseguir lenguajes expresivos y
matemticamente
elegantes, en los que no sea necesario bajar al nivel de la mquina para describir el proceso
llevado a cabo por el programa, y evitando el concepto de estado del cmputo. Los
programas escritos en un lenguaje funcional estn constituidos nicamente por definiciones
de funciones, entendiendo stas no como subprogramas clsicos de un lenguaje imperativo,
sino como funciones puramente matemticas, en las que se verifican ciertas propiedades
como
la transparencia referencial (el significado de una expresin depende nicamente del
significado
de sus sub expresiones), y por tanto, la carencia total de efectos laterales.

Estilo lgico.

Consiste en la aplicacin del corpus de conocimiento sobre lgica para el diseo de


lenguajes de programacin. La programacin lgica comprende dos paradigmas de
programacin: la programacin declarativa y la programacin funcional.
La programacin declarativa gira en torno al concepto de predicado, o relacin entre
elementos.

La programacin funcional se basa en el concepto de funcin (que no es ms que una


evolucin de los predicados), de corte ms matemtico.
La mayora de los lenguajes de programacin lgica se basan en la teora lgica de primer
orden, aunque tambin incorporan algunos comportamientos de orden superior. En este
sentido, destacan los lenguajes funcionales, ya que se basan en el clculo lambda, que es la
nica teora lgica de orden superior que es demostradamente computable.

Estilo orientado a objetos.

El enfoque orientado a objetos guarda analoga con la vida real. El desarrollo de software
OO se basa en el diseo y construccin de objetos que se componen a su vez de datos y
operaciones que manipulan esos datos. El programador define en primer lugar los objetos
del problema y a continuacin los datos y operaciones que actuarn sobre esos datos. Las
ventajas de la programacin orientada a objetos se derivan esencialmente de la estructura
modular existente en la vida real y el modo de respuesta de estos mdulos u objetos a
mensajes o eventos que se producen en cualquier instante. De esta forma, un objeto
contiene toda la informacin, (los denominados atributos) que permite definirlo e
identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de
una misma clase, al poder tener valores bien diferenciados en sus atributos). A su vez,
dispone de mecanismos de interaccin (los llamados mtodos) que favorecen la
comunicacin entre objetos (de una misma clase o de distintas), y en consecuencia, el
cambio de estado en los propios objetos. Esta caracterstica lleva a tratarlos como unidades
indivisibles, en las que no se separan (ni deben separarse) informacin (datos) y
procesamiento (mtodos). Dada esta propiedad de conjunto de una clase de objetos, que al
contar con una serie de atributos definitorios, requiere de unos mtodos para poder tratarlos
(lo que hace que ambos conceptos estn ntimamente entrelazados), el programador debe
pensar indistintamente en ambos trminos, ya que no debe nunca separar o dar mayor
importancia a los atributos en favor de los mtodos, ni viceversa.

Clasificacin de los lenguajes de programacin.

Lenguaje mquina.

Traduce directamente el cdigo maquina (cdigo binario), comprensible para las


computadoras. Este cdigo maquina o cdigo binario utiliza dos dgitos, el 0 y el 1. Con
estos dos dgitos, tambin conocidos como bits, se forman lo que se conoce como cadenas
binarias (combinaciones de 1y 0), son con las que se escriben las instrucciones, y a travs
de estas instrucciones el microprocesador de la computadora entiende nuestra peticiones. El
lenguaje mquina fue el primer lenguaje de programacin. Este lenguaje de programacin
dejo de utilizarse por su gran dificultad y por la facilidad para cometer errores al escribir las
cadenas binarias.

Lenguaje de bajo nivel.

Son programas que traducen otros programas escritos en cdigo nemotcnico en


instrucciones numricas en lenguaje mquina que son compatibles y legibles por la
mquina. Estos programas de traduccin se llaman ensambladores porque su tarea es
ensamblar las instrucciones reales de la mquina con los nemotcnicos e identificadores
que representan las instrucciones escritas en ensamblador. Los lenguajes de bajo nivel son
mucho ms fciles de utilizar que el lenguaje mquina, pero dependen mucho de la
mquina o computadora.

Lenguaje de alto nivel.

Este lenguaje de programacin de alto nivel es comprensible por el programador. Estos


lenguajes se componen de un conjunto de instrucciones o primitivas ms fciles de escribir
y recordar su funcin que los lenguajes mquina. Este tipo de lenguajes de programacin
son independientes de la mquina, los podemos usar en cualquier computador con muy
pocas modificaciones o sin ellas, son muy similares al lenguaje humano. Sin embargo, los
programas escritos en un lenguaje de alto nivel, como C o Java necesitan ser traducidos a
cdigo mquina.

Algoritmo.

La palabra algoritmo tiene su nombre del matemtico Persa Mohamed Ibn Musa al
Khwarizmi.
Los algoritmos son una herramienta que permite descubrir claramente un conjunto infinito
de instrucciones, ordenadas secuencialmente y libres de ambigedad, que debe llevar a
cabo un computador para lograr un resultado previsible.
En resumen, un algoritmo es una secuencia ordenada de instrucciones, pasos o procesos
que llevan a la solucin de un determinado problema.
Un algoritmo debe poseer las siguientes caractersticas.

Realizable: el proceso del algoritmo debe terminar despus de una cantidad finita de
pasos.
Comprensible: debe ser claro lo que hace, de forma de que quien ejecute los pasos
(ser humano o maquina), sepa que, como y cuando hacerlo. Debe existir un
procedimiento que determine el proceso de ejecucin.
Preciso: el orden de ejecucin de las instrucciones debe de estar perfectamente
indicado. Se entiende por esto que la persona sea capaz de realizar el algoritmo de
modo exacto y sin ayuda de una maquina en un lapso de tiempo finito.
Entrada: el algoritmo tendr cero o ms entrada, es decir, cantidades dadas antes de
empezar el mismo.
Salida: el algoritmo tiene una o ms salidas en relacin con las entradas.

Como ya mencionamos los algoritmos son una serie de pasos que llevan a la solucin de un
problema, como por ejemplo: cambiar una bombilla fundida.
1. Ubicar una escalera debajo de la bombilla fundida.
2. Tomar una bombilla nueva.
3. Subir por la escalera.
4. Girar la bombilla fundida hacia la izquierda hasta soltarla.
5. Enroscar la bombilla nueva en el plafn hasta apretarla.
6. Bajar de la escalera.
7. Fin.

Diagrama de flujo.

Un diagrama de flujo es una representacin grfica de un proceso. Cada paso del proceso
es representado por un smbolo diferente que contiene una breve descripcin de la etapa de
proceso. Los smbolos grficos del flujo del proceso estn unidos entre s con flechas que
indican la direccin de flujo del proceso.
El diagrama de flujo ofrece una descripcin visual de las actividades implicadas en un
proceso mostrando la relacin secuencial ente ellas, facilitando la rpida comprensin de
cada actividad y su relacin con las dems, el flujo de la informacin y los materiales, las
ramas en el proceso, la existencia de bucles repetitivos, el nmero de pasos del proceso, las
operaciones de interdepartamentales. Facilita tambin la seleccin de indicadores de
proceso.

Conclusin.
Como se pudo observar en la escritura anterior existen diversos tipos de lenguaje
especficos para cada tarea, muchos de ellos ya no se usan debido a su antigedad,
los lenguajes fueron evolucionando a travs del tiempo. Estos lenguajes no

pueden ser comparados con los lenguajes naturales en trminos de su rango


expresividad y subjetividad. Los lenguajes de programacin deben estar
vinculados entre una persona y un computador.
Por otra parte el diagrama de flujo no es ms que un esquema que refleja
grficamente un algoritmo. El diagrama de flujo est comprendido por diversos
smbolos la cual cada uno de ellos especifica las partes de un algoritmo. Los
algoritmos son una manera de expresar cualquier situacin por medio de una
secuencia de pasos ordenados y lgicos que busca la solucin a un problema, es
decir obtener un resultado final.
En resumen, todos estos deben ser confiables, comprensibles y eficientes en
trminos de tiempo, ejecucin y consumo de espacio para as poder satisfacer las
necesidades no solo de los ingenieros de software, ni especialistas en lenguaje de
programacin, sino tambin para satisfacer a una comunidad o usuarios no tcnicos.

Anexos.
Simbologa de los diagramas de flujo.

Diagrama de flujo.

Maquina analtica

También podría gustarte