Anda di halaman 1dari 12

LENGUAJES Y ESTILOS DE PROGRAMACIN

PRESENTADO POR:
JULIAN DAVID ALVEAR ZAPATA
WVEIMAR ANDRES POPO VIDAL

FUNDACION UNIVERSITARIA DE POPAYAN


SANTANDER DE QUILICHAO(CAUCA)
2016

LENGUAJES Y ESTILOS DE PROGRAMACIN

PRESENTADO POR:
JULIAN DAVID ALVEAR ZAPATA
WVEIMAR ANDRES POPO VIDAL

PRESENTADO A:
ALVARO ANDRES DELGADO POTES

FUNDACION UNIVERSITARIA DE POPAYAN


SANTANDER DE QUILICHAO(CAUCA)
2016

Historia de los Lenguajes de Programacin.

Con la idea de facilitarnos las tareas que debemos de desempear los humanos,
hemos venido inventado diversas herramientas a lo largo de nuestra historia, que
nos permiten tener una mejor calidad de vida.
Los ordenadores son uno ms de los inventos del hombre, aunque debemos decir
que las tecnologas para su fabricacin y explotacin han tenido un desarrollo
sorprendente a partir de la segunda mitad del siglo XX. Esta herramienta por s
sola no es capaz de efectuar ninguna tarea, es tan slo un conjunto de cables y
circuitos que necesitan recibir instruccin por parte de los humanos para
desempear alguna tarea. El problema entonces, se puede fijar en cmo vamos
a poder hacer que un conjunto de circuitos desempee una determinada tarea y
nos entreguen los resultados que nosotros esperamos?, es decir, de qu manera
se puede lograr la comunicacin entre el hombre y el ordenador?
As pues, tratando de dar una solucin al problema planteado, surgieron los
lenguajes de programacin, que son como un lenguaje cualquiera, pero
simplificado y con ciertas normas, para poder trasmitir nuestros deseos al
ordenador.
Por otro lado, como se sabe, un conjunto de circuitos no entendera ningn
lenguaje que nosotros conozcamos, por ms sencillo que ste parezca. Los
circuitos en todo caso, slo reconocen presencia o ausencia de energa, es decir
que debemos hablarle a la mquina en su propio lenguaje (presencia y ausencia
de energa, 0 y 1), o nuestro lenguaje deber de ser traducido a un lenguaje
binario cuyo alfabeto es el 0 y el 1, mediante las herramientas desarrolladas para
llevar a cabo esta tarea, las cuales reciben el nombre de traductores, y como
veremos ms adelante, los hay de muchos tipos, dependiendo de caractersticas
ms especficas del lenguaje a traducir y de la manera de llevar a cabo su
traduccin.
Como ya est entendido, para crear un lenguaje de programacin, deberemos
crear la herramienta que lo traduce, y es justamente de ellas, de las que
hablaremos a continuacin, para describir como han ido evolucionando en los
ltimos 50 aos [BYTE 95].
1946: Konrad Zuse , un ingeniero Alemn mientras trabajaba en los Alpes de
Bavaria, desarroll el lenguaje Plankalkul, el cual, fue aplicado entre otras cosas
para jugar al ajedrez.
1949: Aparece Short Code, que viene a ser el primer lenguaje que fue usado en
un dispositivo de cmputo electrnico, aunque se debe decir que se trata de un
lenguaje traducido a mano.

1951: Grace Hopper , trabajando para Remington Rand, comenz el trabajo de


diseo del primer compilador conocido ampliamente, el A-0, el cual, al ser liberado
por la compaa en 1957, lo hizo con el nombre de MATH-MATIC.
1952: Alick E. Glennie, durante su tiempo libre en la Universidad de Manchester,
concibe un sistema de programacin llamado AUTOCODE, que viene a ser un
compilador muy rudimentario.
1957: aparece FORTRAN (FORmula TRANslating) sistema traductor de frmulas
matemticas. Fue desarrollado por un equipo, al frente del cual se encontraba
John Backus quien despus vendra a contribuir en el desarrollo del compilador
para el lenguaje ALGOL y de la notacin usada para la especificacin sintctica de
los lenguajes, conocida como BNF (Backus Naur Form).

Que Son Lenguajes De Programacin


Un lenguaje
de
programacin es
un lenguaje
formal diseado
para
realizar 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.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.

Clasificacin por procesos:


Lenguaje Mquina: Son aquellos cuyas instrucciones son directamente
entendibles por la computadora y no necesitan traduccin posterior para que la
CPU pueda comprender y ejecutar el programa. La instruccin en lenguaje
maquina se expresan en trminos de la unidad de memoria ms pequea el bit
(dgito binario 0 o 1).
Lenguaje de Bajo Nivel (ensamblador): En este lenguaje las instrucciones se
escriben en cdigos alfabticos conocidos como mnemotecnicos para las
operaciones y direcciones simblicas.
Lenguaje de Alto Nivel: Los lenguajes de alto nivel (Basic , Pascal, Cobol,
Fortran,C, C++, etc. ) son aquellos en los que las instrucciones o sentencias a la
computadora son escritas con palabras similares a los lenguajes humanos (en
general en ingles), lo que facilita la escritura y comprensin del programa.

Estilos De Programacin
Estilo de programacin (tambin llamado estndares de cdigo o convencin de
cdigo) es un trmino que describe convenciones para escribir cdigo fuente en
ciertos lenguajes de programacin. El estilo de programacin es frecuentemente
dependiente del lenguaje de programacin que se haya elegido para escribir. Por
ejemplo, el estilo del lenguaje de programacin C variar con respecto al del
lenguaje BASIC. El buen estilo, al tratarse de algo subjetivo, es difcil de
categorizar concretamente; con todo, existen un nmero de caractersticas
generales. Con el advenimiento de software que da formato al cdigo fuente de
forma automtica, el foco en cmo ste debe de ser escrito debe evolucionar de
forma ms amplia a la eleccin de nombres, lgica y otras tcnicas. Desde un
punto de vista prctico, el uso de un computador para dar formato al cdigo fuente
ahorra tiempo, y es posible forzar el uso de estndares a nivel de una compaa
completa sin debates religiosos.
El estilo de programacin se refiere a la forma en que se da formato al cdigo
fuente. Para C, esto involucra la forma en que se ubican las llaves, se indenta el
cdigo y se utilizan los parntesis. GNOME tiene una mezcla de estilos de
programacin y no se obliga el uso de ninguno de ellos. Lo ms importante es que
el cdigo sea consistente dentro de un programa o una biblioteca el cdigo con
un formato desordenado no es aceptable debido a que es difcil de leer.
Cuando escribas un nuevo programa o biblioteca, sigue un estilo consistente de
ubicacin de llaves y de indentacin. Si no tienes ninguna preferencia personal de

estilo, recomendamos el estilo de programacin del ncleo de Linux o el estilo de


programacin de GNU.
Lee el nodo de info (Standards)Writing C en la documentacin de GNU. Luego,
obtn el cdigo fuente de Linux y lee el archivo linux/Documentation/CodingStyle,
e ignora los chistes de Linus. Estos dos documentos te darn una buena idea de
nuestras recomendaciones para el cdigo de GNOME.

Definicin de funciones:
Cuando escribas un nuevo programa o biblioteca, sigue un estilo consistente de
ubicacin de llaves y de indentacin. Si no tienes ninguna preferencia personal de
estilo, recomendamos el estilo de programacin del ncleo de Linux o el estilo de
programacin de GNU. Lee el nodo de info (Standards)Writing C en la
documentacin de GNU. Luego, obtn el cdigo fuente de Linux y lee el archivo
linux/Documentation/CodingStyle, e ignora los chistes de Linus. Estos dos
documentos te darn una buena idea de nuestras recomendaciones para el cdigo
de GNOME.
Tipos de datos:
Si usas Emacs, entonces puedes seleccionar el estilo de indentacin del ncleo de
Linux incluyendo en el archivo .emacs lo siguiente:

En los nuevos Emacs o con el nuevo cc-mode, puedes ser capaz de hacerlo ms

simple con:

El estilo de indentacin de GNU es el predeterminado para Emacs, as que no es


necesario agregar nada en el archivo .emacs para habilitarlo. Si deseas
seleccionarlo explcitamente, sustituye gnu por linux en el ejemplo anterior. Si
usas Vim, entonces puedes seleccionar el estilo de indentacin del ncleo de
Linux incluyendo el siguiente fragmento en el archivo .vimrc:

Como alternativa puedes seleccionar el estilo de indentacin de GNU en Vim


usando lo siguiente en el archivo .vimr:

CLASIFICACIN

Los lenguajes de programacin se pueden clasificar atendiendo a varios criterios,


los principales son: Segn el nivel de abstraccin
Segn la forma de ejecucin
Segn el paradigma de programacin que poseen cada uno de ellos

CLASIFICACIN POR GENERACIONES:


1 Generacin: Cdigo Binario
2 Generacin: Lenguaje Ensamblador
3 Generacin: Lenguajes de Alto nivel (C, etc.)
4 Generacin:

Entornos RAD (Rapid Application Development)


Programacin Visual
Modelo de componentes reutilizables

5 Generacin: Lenguajes de programacin declarativos.

SEGN EL NIVEL DE ABSTRACCIN:


Lenguajes de mquina y de bajo nivel: Los lenguajes de mquina estn escritos
en cdigos (cdigo mquina) directamente inteligibles por la mquina
(computadora), siendo sus instrucciones cadenas binarias (0 y 1). Lenguaje de
mquina hace referencia al lenguaje especfico de una computadora, mientras
que cdigo mquina hace referencia al modo en que se escriben los diferentes
lenguajes de mquina. Los lenguajes de bajo nivel son lenguajes de programacin
que se acercan al funcionamiento de una computadora. Los lenguajes de ms
bajo nivel son los lenguajes de mquinas. A ste nivel le sigue el lenguaje
ensamblador, ya que al programar en ensamblador se trabajan con los registros
de memoria de la computadora de forma directa. La programacin en un lenguaje
de bajo nivel tiene como ventajas una mayor adaptacin al equipo, adems de la
posibilidad de obtener la mxima velocidad con el mnimo uso de memoria. Sin
embargo tiene importantes inconvenientes, como la imposibilidad de escribir
cdigo independiente de la mquina y la mayor dificultad en la programacin y en
la comprensin de los programas.
Lenguajes de medio nivel: Minoritariamente en algunos textos se diferencian
algunos lenguajes como de medio nivel, como el lenguaje C, ya que tienen ciertas
caractersticas que los acercan a los lenguajes de bajo nivel, como gestin de
punteros de memoria y registros, pero con sintaxis, vocabulario y gramtica de alto
nivel.
Lenguajes de alto nivel y de muy alto nivel: Los lenguajes de programacin de
alto nivel se caracterizan por expresar los algoritmos de una manera adecuada a
la capacidad cognitiva humana, en lugar de estar orientados a su ejecucin en las
mquinas. Los lenguajes de alto y bajo nivel requieren de conocimientos
especficos de programacin y del lenguaje concreto (vocabulario, gramtica y
sintaxis) para realizar las secuencias de instrucciones lgicas. Los lenguajes de
muy alto nivel se crearon para que el usuario comn pudiese solucionar ciertos
problemas sencillos de procesamiento de datos de una manera ms fcil y rpida.
SEGN LA FORMA DE EJECUCIN:
Los procesadores usados en las computadoras son capaces de entender y actuar
segn lo indican programas escritos en un lenguaje fijo para cada arquitectura,
llamado lenguaje de mquina. Todo programa escrito en un lenguaje de alto nivel
puede ser ejecutado de dos maneras:
Lenguajes compilados: Antes de poder utilizarse el programa debe utilizarse
un traductor llamado compilador que se encarga de traducir (compilar) el
programa original (cdigo fuente) al programa equivalente escrito en lenguaje de
mquina o ensamblador (binario). Los binarios son los programas ejecutables y
los nicos necesarios para el funcionamiento del programa.

Lenguajes interpretados: Cada vez que se usa el programa debe utilizarse un


traductor llamado intrprete que se encarga de traducir (interpretar) las
instrucciones del programa original (cdigo fuente) a cdigo mquina segn van
siendo utilizadas. Para el funcionamiento del programa siempre es necesario
disponer del cdigo original y del intrprete.
Diferencias entre lenguajes compilados e interpretados:
Los lenguajes compilados se compilan una vez y se utilizan cuantas veces se
desee sin necesidad de volver a utilizar el compilador. Los lenguajes interpretados
son interpretados, valga la redundancia, cada vez que se ejecutan y necesitan
siempre del intrprete.
Los compiladores analizan todo el programa y no generan resultados si no es
correcto todo el cdigo. Los intrpretes analizan las instrucciones segn las
necesitan y pueden iniciar la ejecucin de un programa con errores e incluso
terminar correctamente una ejecucin de un programa con errores siempre que no
haya sido necesario el uso de las instrucciones que contienen dichos errores.
Los binarios son compilados para una arquitectura especfica y no pueden ser
utilizados en otras arquitecturas no compatibles (aunque pueden existir distintos
compiladores para generar binarios para diferentes arquitecturas). Un lenguaje
interpretado puede ser utilizado en cualquier arquitectura que disponga de un
intrprete sin necesidad de cambios.
Los lenguajes compilados son ms eficientes que los interpretados y adems
permiten distribuir el programa en forma confidencial mediante binarios. Es ms
sencillo empaquetar lenguajes interpretados dentro de otros lenguajes, como
JavaScript dentro de HTML.
SEGN EL PARADIGMA DE PROGRAMACIN:
Un paradigma de programacin representa un enfoque particular o filosofa para la
construccin del software. Si bien puede seleccionarse la forma pura de estos
paradigmas a la hora de programar, en la prctica es habitual que se mezclen,
dando lugar a la programacin multiparadigma. Los diferentes paradigmas de
programacin son:
Algortmico, Imperativo o Por procedimientos: El ms comn y est
representado, por ejemplo, por C o por BASIC. Describe la programacin 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 cmo realizar una tarea. La implementacin de hardware de la
mayora de computadores es imperativa ya que el hardware est diseado para
ejecutar cdigo de mquina que es imperativo.

Declarativo o Predicativo: Basado en la utilizacin de predicados lgicos


(lgico) o funciones matemticas (funcional), su objetivo es conseguir lenguajes
expresivos en los que no sea necesario especificar cmo resolver el problema
(programacin convencional imperativa), sino qu problema se desea resolver.
Los interpretes de los lenguajes declarativos tienen incorporado un motor de
inferencia genrico que resuelve los problemas a partir de su especificacin.

Lgico. Un ejemplo es PROLOG. El mecanismo de inferencia genrico se


basa en los procedimientos de deduccin de frmulas vlidas en un sistema
axiomtico
Funcional. Representado por la familia de lenguajes LISP (en particular
Scheme), ML o Haskell. El mecanismo de inferencia genrico se basa en la
reduccin de una expresin funcional a otra equivalente simplificada.
Orientado a Objetos: Cada vez ms utilizado, sobre todo en combinacin con
el imperativo. De hecho los lenguajes orientados a objetos permiten la
programacin imperativa. Algunos ejemplos de lenguajes orientados a objetos son
C++, Java, Python. Usa objetos y sus interacciones para disear aplicaciones y
programas de computadora. Est basado en varias tcnicas, incluyendo herencia,
modularidad, polimorfismo y encapsulamiento.

Estilo

Descripcin

Imperativo

Entrada, procesamiento y salida de datos.

Funcional

Utilizacin de funciones para c/proceso.

Lgico

Operaciones lgicas y definicin de reglas.

Orientado al Objeto

El enfoque pretende utilizar la relacin del hombre con


objetos, clases y mtodos.

Orientado al Evento

Herramientas resultantes de la POO y que permiten


trabajar con eventos, atributos y objetos encapsulados.

Orientado al Formato

Son lenguajes intrpretes que permiten internamente


declarar los formatos de salida del texto, imagen, grafica,
etc.

Lenguajes Ensamblados: Se refieren al lenguaje ensamblador, que viene a ser


una representacin simblica de las instrucciones correspondientes al lenguaje
ensamblador de alguna arquitectura especfica, con lo que, casi siempre, la
correspondencia entre las instrucciones de este lenguaje, y las del lenguaje
mquina son de 1 a 1, si bien existen algunas excepciones, que dan lugar a lo que
se conocecomo lenguajes macro-ensambladores [CUEVA 88]:
Lenguajes Compilados: Son aquellos, que son traducidos de un lenguaje de
alto nivel (como FORTRAN o PASCAL) a lenguaje mquina o bien a lenguaje
ensamblador, produciendo un programa objeto permanente.
Lenguajes Interpretados: Estos lenguajes, tienen la particularidad, de que no
producen cdigo objeto, sino que cada instruccin es analizada y ejecutada a la
vez, lo que ofrece mucha interaccin con los usuarios, pero a la vez resultan
ineficientes,
cuando se desea ejecutar repetitivamente un programa.
Lenguajes Preprocesados: Son lenguajes que son traducidos primeramente a
un lenguaje intermedio de ms bajo nivel, para posteriormente volverlos a traducir
y producir el programa objeto. Este tipo de lenguajes fueron creados, con la idea
de
proporcionar un lenguaje ms potente que el lenguaje intermedio, mediante la
implementacin de algunos macroinstrucciones. [SANCHIS-GALAN 86].
Finalmente, existen otros conceptos tomados en cuenta para agrupar los
lenguajes, que danorigen a diversas clasificaciones, entre los que destacan las
siguientes:
Lenguajes de cuarta generacin 4GL: Estos lenguajes se distinguen por
formar
parte de un entorno de desarrollo, que comprende el manejador de una base de
datos, y todo lo que de esto se deriva, como la administracin de un diccionario de
datos, el control de accesos, el manejo de la consistencia de la informacin y otras
caractersticas enfocadas a facilitar los programas de acceso y explotacin de la
informacin. Como ejemplos podemos citar a los 4 grandes: PROGRESS,
SYSBASE, INFORMIX, y ORACLE.
Lenguajes Visuales: Se les llama de esta manera a los lenguajes que forman
parte de una aplicacin dotada de una Interfase grfica, la cual por medio de
iconos y otras herramientas visuales y simblicas, pretenden facilitar las tareas
rutinarias de los programadores, como son el diseo y desarrollo de formularios e
informes. Los ejemplos ms comerciales de estos lenguajes son: VISUAL BASIC,
VISUAL CAFE, VISUAL FOX, etc.
Metalenguajes: Son lenguajes como XML, SGML y HTML que sirven para definir
otros lenguajes, cuyo objetivo es llevar a cabo la estructuracin de textos mediante
un conjunto de etiquetas, de manera tal, que puedan ser entendidos por los
humanos y tambin procesado por los ordenadores. Estos lenguajes estn

teniendo un gran auge sobre la plataforma de Internet, en la cual son usados para
la creacin de documentos, y el intercambio o transferencia de informacin.
Lenguajes de propsito especfico: Son aquellos lenguajes desarrollados con
la finalidad de resolver problemas de una naturaleza muy determinada, tal como
SPSS para problemas estadsticos, MATLAB para clculos cientficos y de
ingeniera, CAD/CAM para el diseo de piezas y programacin de mquinas de
control numrico, como tornos y fresadoras, GPSS para simulacin de sistemas,
CORBA para el manejo de interfaces en ambientes cliente-servidor, etc.
Lenguajes Script: Son lenguajes como JAVASCRIPT, VBSCRIPT,
PERLSCRIPT, que se utilizan en ambientes clientes servidor, mediante la
incrustacin de cdigo en las pginas HTML, y as permitir la programacin del
lado del cliente, buscando fundamentalmente, hacer ms atractivos los interfaces
grficos de las pginas [BUITRAGO 00].

Anda mungkin juga menyukai