Вы находитесь на странице: 1из 17

CLASIFICACION DE LOS LENGUAJES DE PROGRAMACIN LENGUAJE MQUINA: El lenguaje mquina es el nico que entiende directamente la computadora, ya que esta

escrito en lenguajes directamente inteligibles por la mquina (computadora), utiliza el alfabeto binario, que consta de los dos nicos smbolos 0 y 1, denominados bits (abreviatura inglesa de dgitos binarios). Sus instrucciones son cadenas binarias (cadenas o series de caracteres de dgitos 0 y 1) que especifican una operacin y, las posiciones (direccin) de memoria implicadas en la operacin se denominan instrucciones de mquina o cdigo maquina. Fue el primer lenguaje utilizado en la programacin de computadoras, pero dejo de utilizarse por su dificultad y complicacin, siendo sustituido por otros lenguajes ms fciles de aprender y utilizar, que adems reducen la posibilidad de cometer errores. El lenguaje mquina es el conocido cdigo binario. Generalmente, en la codificacin de los programas se empleaba el sistema hexadecimal para simplificar el trabajo de escritura. Todas las instrucciones preparadas en cualquier lenguaje mquina tienen por lo menos dos partes. La primera es el comando u operacin, que dice a las computadoras cual es la funcin que va a realizar. Todas las computadoras tienen un cdigo de operacin para cada una de las funciones. La segunda parte de la instruccin es el operando, que indica a la computadora donde hallar o almacenar los datos y otras instrucciones que se van a manipular, el nmero de operndoos de una instruccin varia en distintas computadoras. 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 y 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 mquina. LENGUAJES DE BAJO NIVEL: Son ms fciles de utilizar que los lenguajes mquina, pero al igual que ellos, dependen de la mquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador. El lenguaje ensamblador es el primer intento de sustituir el lenguaje maquina por otro ms similar a los utilizados por las personas. Este intenta desflexibilizar la representacin de los diferentes campos. Esa flexibilidad se consigue no escribiendo los campos en binario y aproximando la escritura al lenguaje. A principios de la dcada de los 50 y con el fin de facilitar la labor de los programadores, se desarrollaron cdigos mnemotcnicos para las operaciones y direcciones simblicas. Los cdigos mnemotcnicas son los smbolos alfabticos del lenguaje maquina. La computadora sigue utilizando el lenguaje maquina para procesar los datos, pero los programas ensambladores traducen antes los smbolos de cdigo de operacin especificados a sus equivalentes en el lenguaje maquina. En la actualidad los programadores no asignan nmeros de direccin reales a los datos simblicos, simplemente especifican donde quieren que se coloque la primera localidad del programa y el programa ensamblador se encarga de lo dems, asigna localidades tanto para las instrucciones como los datos. Estos programas de ensamble o ensambladores tambin permiten a la computadora convertir las instrucciones en lenguaje ensamblador del programador en su propio cdigo maquina. Un programa de instrucciones escrito en lenguaje ensamblador por un programador se llama programa fuente. Despus de que el ensamblador convierte el programa fuente en cdigo maquina a este se le denomina programa objeto. Para los programadores es ms fcil escribir instrucciones en un lenguaje ensamblador que en cdigo de lenguaje maquina pero es posible que se requieran dos corridas de computadora antes de que se puedan utilizar las instrucciones del programa fuente para producir las salidas deseadas. El lenguaje de bajo nivel es el lenguaje de programacin que el ordenador puede entender a la hora de ejecutar programas, lo que aumenta su velocidad de ejecucin, pues no necesita un intrprete que traduzca cada lnea de instrucciones. Visto a muy bajo nivel, los microprocesadores procesan exclusivamente seales electrnicas binarias. Dar una instruccin a un microprocesador supone en realidad enviar series de unos y ceros espaciadas en el tiempo de una forma determinada. Esta secuencia de seales se denomina cdigo mquina. El cdigo representa normalmente datos y nmeros e instrucciones para manipularlos. Un modo ms fcil de comprender el cdigo mquina es dando a cada instruccin un mnemnico, como por ejemplo STORE, ADD o

JUMP. Esta abstraccin da como resultado el ensamblador, un lenguaje de muy bajo nivel que es especfico de cada microprocesador. Los lenguajes de bajo nivel permiten crear programas muy rpidos, pero que son, a menudo, difciles de aprender. Ms importante es el hecho de que los programas escritos en un bajo nivel sean altamente especficos de cada procesador. Si se lleva el programa a otra maquina se debe reescribir el programa desde el principio. Ventajas del lenguaje ensamblador frente al lenguaje mquina: mayor facilidad de codificacin y, en general, su velocidad de calculo, ahorran tiempo y requieren menos atencin a detalles. Se incurren en menos errores y los que se cometen son ms fciles de localizar. Tanto el lenguaje maquina como el ensamblador gozan de la ventaja de mnima ocupacin de memoria y mnimo tiempo de ejecucin en comparacin con el resultado de la compilacin del programa equivalente escrito en otros lenguajes. Los programas en lenguaje ensamblador son ms fciles de modificar que los programas en lenguaje mquina. Desventajas del lenguaje ensamblador: dependencia total de la maquina lo que impide la transportabilidad de los programas (posibilidad de ejecutar un programa en diferentes mquinas). El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple Machintosh. La formacin de los programadores es ms compleja que la correspondiente a los programadores de alto nivel, ya que exige no solo las tcnicas de programacin, sino tambin el conocimiento del interior de la maquina El programador ha de conocer perfectamente el hardware del equipo, ya que maneja directamente las posiciones de memoria, registros del procesador y dems elementos fsicos. Todas las instrucciones son elementales, es decir, en el programa se deben describir con el mximo detalle todas las operaciones que se han de efectuar en la maquina para la realizacin de cualquier proceso. Los lenguajes ensamblador tienen sus aplicaciones muy reducidas, se centran bsicamente en aplicaciones de tiempo real, control de procesos y de dispositivos electrnicos. Vistos a muy bajo nivel, los microprocesadores procesan exclusivamente seales electrnicas binarias. Dar una instruccin a un microprocesador supone en realidad enviar series de unos y ceros espaciadas en el tiempo de una forma determinada. Esta secuencia de seales se denomina cdigo mquina. El cdigo representa normalmente datos y nmeros e instrucciones para manipularlos. Un modo ms fcil de comprender el cdigo mquina es dando a cada instruccin un mnemnico, como por ejemplo STORE, ADD o JUMP. Esta abstraccin da como resultado el ensamblador, un lenguaje de muy bajo nivel que es especfico de cada microprocesador. Los lenguajes de bajo nivel permiten crear programas muy rpidos, pero que son a menudo difciles de aprender. Ms importante es el hecho de que los programas escritos en un bajo nivel sean altamente especficos de cada procesador. Si se lleva el programa a otra mquina se debe reescribir el programa desde el principio. Lenguaje ensamblador (le): Este intenta deflexibilizar la representacin de los diferentes campos, esa flexibilidad se consigue no escribiendo los campos en binario y aproximando la escritura al lenguaje LENGUAJES DE ALTO NIVEL: Estos lenguajes son los mas utilizado por los programadores. Estn diseados para que las personas escriban y entiendan los programas de un modo mucho mas fcil que los lenguajes mquina y ensamblador. Un programa escrito en lenguaje de alto nivel es independiente de la mquina (las instrucciones no dependen del diseo del hardware o de una computadora en particular), por lo que estos programas son portables o transportables. Los programas escritos en lenguaje de alto nivel pueden ser ejecutados con poca o ninguna modificacin en diferentes tipos de computadoras. Son lenguajes de programacin en los que las instrucciones enviadas para que el ordenador ejecute ciertas rdenes son similares al lenguaje humano. Dado que el ordenador no es capaz de reconocer estas ordenes, es necesario el uso de un intrprete que traduzca el lenguaje de alto nivel a un lenguaje de bajo nivel que el sistema pueda entender.

Por lo general se piensa que los ordenadores son mquinas que realizan tareas de clculos o procesamiento de texto. La descripcin anterior es slo una forma muy esquemtica de ver una computadora. Hay un alto nivel de abstraccin entre lo que se pide a la computadora y lo que realmente comprende. Existe tambin una relacin compleja entre los lenguajes de alto nivel y el cdigo mquina. Los lenguajes de alto nivel son normalmente fciles de aprender porque estn formados por elementos de lenguajes naturales, como el ingls. En BASIC, el lenguaje de alto nivel ms conocido , los comandos como IF CONTADOR=10 THEN STOP pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a diez. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen en realidad de una forma rgida y sistemtica. Los lenguajes de alto nivel, tambin denominados lenguajes evolucionados, surgen con posterioridad a los anteriores (lenguaje mquina, lenguajes de bajo nivel o ensamblador) con los siguientes objetivos, entre otros: Lograr independencia de la maquina, pudiendo utilizar un mismo programa en diferentes equipos con la nica condicin de disponer de un programa traductor o compilador, que es suministrado por el fabricante, para obtener el programa ejecutable en lenguaje binario de la maquina que se trate. Adems, no se necesita conocer el hardware especifico de dicha maquina. Aproximarse al lenguaje natural, para que el programa se pueda escribir y leer de una forma ms sencilla, eliminando muchas de las posibilidades de cometer errores que se daban en el lenguaje maquina, ya que se utilizan palabras (en ingles) en lugar de cadenas de smbolos sin ningn significado aparente. Incluir rutinas de uso frecuente, como las de entrada / salida, funciones matemticas, manejo de tablas, etc., que figuran en una especie de librera del lenguaje, de manera que se puedan utilizar siempre que se quiera sin necesidad de programarlas cada vez. Ventajas de los lenguajes de alto nivel: el tiempo de formacin de los programadores es relativamente corto comparado con otros lenguajes. La escritura de programas se basa en reglas sintcticas similares a los lenguajes humanos, nombres de las instrucciones tales como READ, WRITE, PRINT, OPEN, etc. Las modificaciones y puestas a punto de los programas son ms fciles. Reduccin del costo de los programas. Transportabilidad. Permiten tener una mejor documentacin. Son ms fciles de mantener. Por lo general se piensa que los ordenadores son mquinas que realizan tareas de clculos o procesamiento de textos. La descripcin anterior es slo una forma muy esquemtica de ver una computadora. Hay un alto nivel de abstraccin entre lo que se pide a la computadora y lo que realmente comprende. Existe tambin una relacin compleja entre los lenguajes de alto nivel y el cdigo mquina. Los lenguajes de alto nivel son normalmente fciles de aprender porque estn formados por elementos de lenguajes naturales, como el ingls. En BASIC, el lenguaje de alto nivel ms conocido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen en realidad de una forma rgida y sistemtica. Desventajas de los lenguajes de alto nivel: incremento del tiempo de puesta a punto al necesitarse diferentes traducciones del programa fuente para conseguir el programa definitivo. No se aprovechan los recursos internos de la maquina que se explotan mucho mejor en lenguajes mquina y ensambladores. Aumento de la ocupacin de memoria. El tiempo de ejecucin de los programas es mucho mayor. Se puede decir que el principal problema que presentan los lenguajes de alto nivel es la gran cantidad de ellos que existen actualmente en uso, adems de las diferentes versiones o dialectos que se han desarrollado de algunos de ellos. Es difcil establecer una clasificacin general de los mismos, ya que en cualquiera que se realice habr lenguajes que pertenezcan a mas de uno de los grupos establecidos. Una clasificacin muy extendida, atendiendo a la forma de trabajar de los programas y a la filosofa con que fueron concebidos, es la siguiente:

Lenguajes imperativos. Utilizan instrucciones como unidad de trabajo de los programas (Cobol, Pascal, C, Ada).

Lenguajes declarativos. Los programas se construyen mediante descripciones de funciones o expresiones lgicas (Lisp, Prolog). Lenguajes orientados a objetos. El diseo de los programas se basa mas en los datos y su estructura. La unidad de proceso es el objeto y en el se incluyen los datos (variables) y las operaciones que actan sobre ellos (Smalltalk, C++). Lenguajes orientados al problema. Diseados para problemas especficos, principalmente de gestin, suelen ser generadores de aplicaciones. Lenguajes naturales. Estn desarrollndose nuevos lenguajes con el principal objetivo de aproximar el diseo y construccin de programas al lenguaje de las personas.

Otra clasificacin que se puede hacer es la de atendiendo al desarrollo de los lenguajes desde la aparicin de las computadoras, que sigue un cierto paralelismo con las generaciones establecidas en la evolucin de las mismas:

Primera generacin. Lenguajes maquina y ensambladores. Segunda generacin. Primeros lenguajes de alto nivel imperativo (FROTRAN, COBOL). Tercera generacin. Lenguajes de alto nivel imperativo. Son los mas utilizados y siguen vigentes en la actualidad (ALGOL 8, PL/I, PASCAL, MODULA). Cuarta generacin. Orientados bsicamente a las aplicaciones de gestin y al manejo de bases de datos (NATURAL, SQL). Quinta generacin. Orientados a la inteligencia artificial y al procesamiento de los lenguajes naturales (LISP, PROLOG).

Para la mejor compresin se harn unas definiciones: Programa: es un conjunto de instrucciones escritas en un lenguaje de programacin que indican a la computadora la secuencia de pasos, para resolver un problema. Cdigo fuente: esta creado en algn lenguaje de alto nivel, por lo que es entendido 100% por el ser humano. Este debe estar complementado por su documentacin o manuales donde se indica el desarrollo lgico del mismo. Cdigo objeto: es creado por los compiladores y nos sirve como enlace entre el programa fuente y el ejecutable. Intrpretes y compiladores La traduccin de una serie de instrucciones en lenguaje ensamblador (el cdigo fuente) a un cdigo mquina (o cdigo objeto) no es un proceso muy complicado y se realiza normalmente por un programa especial llamado compilador. La traduccin de un cdigo fuente de alto nivel a un cdigo mquina tambin se realiza con un compilador, en este caso ms complejo, o mediante un intrprete. Un compilador crea una lista de instrucciones de cdigo mquina, el cdigo objeto, basndose en un cdigo fuente. El cdigo objeto resultante es un programa rpido y listo para funcionar, pero que puede hacer que falle el ordenador si no est bien diseado. Los intrpretes, por otro lado, son ms lentos que los compiladores ya que no producen un cdigo objeto, sino que recorren el cdigo fuente una lnea cada vez. Cada lnea se traduce a cdigo mquina y se ejecuta. Cuando la lnea se lee por segunda vez, como en el caso de los programas en que se reutilizan partes del cdigo, debe compilarse de nuevo. Aunque este proceso es ms lento, es menos susceptible de provocar fallos en la computadora.

ALGUNOS LEGUAJES DE PROGRAMACIN DE ALTO NIVEL A continuacin se presentan varios de los mas conocidos y utilizados, lenguajes de alto nivel. Ensamblador Cuando abstraemos los opcodes y los sustituimos por una palabra que sea una clave de su significado, a la cual comnmente se le conoce como mnemnico , tenemos el concepto de Lenguaje Ensamblador . As, podemos definir simplemente al Lenguaje Ensamblador de la siguiente forma: Lenguaje Ensamblador es la primera abstraccin del Lenguaje de Mquina , consistente en asociar a los opcodes palabras clave que faciliten su uso por parte del programador Como se puede ver, el Lenguaje Ensamblador es directamente traducible al Lenguaje de Mquina, y viceversa; simplemente, es una abstraccin que facilita su uso para los seres humanos. Por otro lado, la computadora no entiende directamente al Lenguaje Ensamblador; es necesario traducirle a Lenguaje de Mquina. Originalmente, este proceso se haca a mano, usando para ello hojas donde se escriban tablas de programa similares al ejemplo de la calculadora que vimos arriba . Pero, al ser tan directa la traduccin, pronto aparecieron los programas Ensambladores, que son traductores que convierten el cdigo fuente (en Lenguaje Ensamblador) a cdigo objeto (es decir, a Lenguaje de Mquina). Una caracterstica que hay que resaltar, es que al depender estos lenguajes del hardware, hay un distinto Lenguaje de Mquina (y, por consiguiente, un distinto Lenguaje Ensamblador) para cada CPU. Por ejemplo, podemos mencionar tres lenguajes completamente diferentes, que sin embargo vienen de la aplicacin de los conceptos anteriores: 1.Lenguaje Ensamblador de la familia Intel 80x86 2.Lenguaje Ensamblador de la familia Motorola 68000 3.Lenguaje Ensamblador del procesador POWER, usado en las IBM RS/6000. Tenemos 3 fabricantes distintos, compitiendo entre s y cada uno aplicando conceptos distintos en la manufactura de sus procesadores, su arquitectura y programacin; todos estos aspectos, influyen en que el lenguaje de mquina y ensamblador cambie bastante. Ventajas y desventajas del Lenguaje Ensamblador Una vez que hemos visto la evolucin de los lenguajes, cabe preguntarse: En estos tiempos "modernos", para qu quiero el Lenguaje Ensamblador? El proceso de evolucin trajo consigo algunas desventajas, que ahora veremos como las ventajas de usar el Lenguaje Ensamblador, respecto a un lenguaje de alto nivel: 1.Velocidad 2.Eficiencia de tamao 3.Flexibilidad Por otro lado, al ser un lenguaje ms primitivo, el Ensamblador tiene ciertas desventajas respecto a los lenguajes de alto nivel: 1.Tiempo de programacin 2.Programas fuente grandes 3.Peligro de afectar recursos inesperadamente 4.Falta de portabilidad Velocidad

El proceso de traduccin que realizan los intrpretes, implica un proceso de cmputo adicional al que el programador quiere realizar. Por ello, nos encontraremos con que un intrprete es siempre ms lento que realizar la misma accin en Lenguaje Ensamblador, simplemente porque tiene el costo adicional de estar traduciendo el programa, cada vez que lo ejecutamos. De ah nacieron los compiladores, que son mucho ms rpidos que los intrpretes, pues hacen la traduccin una vez y dejan el cdigo objeto, que ya es Lenguaje de Mquina, y se puede ejecutar muy rpidamente. Aunque el proceso de traduccin es ms complejo y costoso que el de ensamblar un programa, normalmente podemos despreciarlo, contra las ventajas de codificar el programa ms rpidamente. Sin embargo, la mayor parte de las veces, el cdigo generado por un compilador es menos eficiente que el cdigo equivalente que un programador escribira. La razn es que el compilador no tiene tanta inteligencia, y requiere ser capaz de crear cdigo genrico, que sirva tanto para un programa como para otro; en cambio, un programador humano puede aprovechar las caractersticas especficas del problema, reduciendo la generalidad pero al mismo tiempo, no desperdicia ninguna instruccin, no hace ningn proceso que no sea necesario. Para darnos una idea, en una PC, y suponiendo que todos son buenos programadores, un programa para ordenar una lista tardar cerca de 20 veces ms en Visual Basic (un intrprete), y 2 veces ms en C (un compilador), que el equivalente en Ensamblador. Por ello, cuando es crtica la velocidad del programa, Ensamblador se vuelve un candidato lgico como lenguaje. Ahora bien, esto no es un absoluto; un programa bien hecho en C puede ser muchas veces ms rpido que un programa mal hecho en Ensamblador; sigue siendo sumamente importante la eleccin apropiada de algoritmos y estructuras de datos. Por ello, se recomienda buscar optimizar primero estos aspectos, en el lenguaje que se desee, y solamente usar Ensamblador cuando se requiere ms optimizacin y no se puede lograr por estos medios. Tamao Por las mismas razones que vimos en el aspecto de velocidad, los compiladores e intrpretes generan ms cdigo mquina del necesario; por ello, el programa ejecutable crece. As, cuando es importante reducir el tamao del ejecutable, mejorando el uso de la memoria y teniendo tambin beneficios en velocidad, puede convenir usar el lenguaje Ensamblador. Entre los programas que es crtico el uso mnimo de memoria, tenemos a los virus y manejadores de dispositivos (drivers). Muchos de ellos, por supuesto, estn escritos en lenguaje Ensamblador. Flexibilidad Las razones anteriores son cuestin de grado: podemos hacer las cosas en otro lenguaje, pero queremos hacerlas ms eficientemente. Pero todos los lenguajes de alto nivel tienen limitantes en el control; al hacer abstracciones, limitan su propia capacidad. Es decir, existen tareas que la mquina puede hacer, pero que un lenguaje de alto nivel no permite. Por ejemplo, en Visual Basic no es posible cambiar la resolucin del monitor a medio programa; es una limitante, impuesta por la abstraccin del GUI Windows. En cambio, en ensamblador es sumamente sencillo, pues tenemos el acceso directo al hardware del monitor. Resumiendo, la flexibilidad consiste en reconocer el hecho de que Todo lo que puede hacerse con una mquina, puede hacerse en el lenguaje ensamblador de esta mquina; los lenguajes de alto nivel tienen en una u otra forma limitantes para explotar al mximo los recursos de la mquina. Tiempo de programacin

Al ser de bajo nivel, el Lenguaje Ensamblador requiere ms instrucciones para realizar el mismo proceso, en comparacin con un lenguaje de alto nivel. Por otro lado, requiere de ms cuidado por parte del programador, pues es propenso a que los errores de lgica se reflejen ms fuertemente en la ejecucin. Por todo esto, es ms lento el desarrollo de programas comparables en Lenguaje Ensamblador que en un lenguaje de alto nivel, pues el programador goza de una menor abstraccin. Programas fuente grandes Por las mismas razones que aumenta el tiempo, crecen los programas fuentes; simplemente, requerimos ms instrucciones primitivas para describir procesos equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los programas, y nuevamente reduce la productividad de los programadores. Peligro de afectar recursos inesperadamente Tenemos la ventaja de que todo lo que se puede hacer en la mquina, se puede hacer con el Lenguaje Ensamblador (flexibilidad). El problema es que todo error que podamos cometer, o todo riesgo que podamos tener, podemos tenerlo tambin en este Lenguaje. Dicho de otra forma, tener mucho poder es til pero tambin es peligroso. En la vida prctica, afortunadamente no ocurre mucho; sin embargo, al programar en este lenguaje vern que es mucho ms comn que la mquina se "cuelgue", "bloquee" o "se le vaya el avin"; y que se reinicialize. Por qu?, porque con este lenguaje es perfectamente posible (y sencillo) realizar secuencias de instrucciones invlidas, que normalmente no aparecen al usar un lenguaje de alto nivel. En ciertos casos extremos, puede llegarse a sobreescribir informacin del CMOS de la mquina (no he visto efectos ms riesgosos); pero, si no la conservamos, esto puede causar que dejemos de "ver" el disco duro, junto con toda su informacin. Falta de portabilidad Como ya se mencion, existe un lenguaje ensamblador para cada mquina; por ello, evidentemente no es una seleccin apropiada de lenguaje cuando deseamos codificar en una mquina y luego llevar los programas a otros sistemas operativos o modelos de computadoras. Si bien esto es un problema general a todos los lenguajes, es mucho ms notorio en ensamblador: yo puedo reutilizar un 90% o ms del cdigo que desarrollo en "C", en una PC, al llevarlo a una RS/6000 con UNIX, y lo mismo si despus lo llevo a una Macintosh, siempre y cuando est bien hecho y siga los estndares de "C", y los principios de la programacin estructurada. En cambio, si escribimos el programa en Ensamblador de la PC, por bien que lo desarrollemos y muchos estndares que sigamos, tendremos prcticamente que reescribir el 100 % del cdigo al llevarlo a UNIX, y otra vez lo mismo al llevarlo a Mac. FORTRAN Abreviatura de FORmula TRANslator (traductor de formulas), fue definido alrededor del ao 1955 en Estados Unidos por la compaa IBM. Es l ms antiguo de los lenguajes de alto nivel. Antes de l, todos los programas se escriban en lenguaje ensamblador o en lenguaje mquina. Es un lenguaje especializado en aplicaciones tcnicas y cientficas. Se caracteriza por su potencia en los clculos matemticos, pero esta limitado en las aplicaciones de gestin, manejo de archivos, tratamiento de cadenas de caracteres y edicin de informes. Es un lenguaje notorio, por la facilidad con que permite expresar una ecuacin. Muchas de sus caractersticas fueron incorporadas mas tarde en el primer lenguaje BASIC. Una de sus ventajas es que es un lenguaje compacto y es tambin ampliamente utilizado para aplicaciones en los negocios que no requieren manejo de grandes archivos de datos. Hasta 1961 se mantuvo como monopolio de IBM, pero posteriormente se fue implementando en ordenadores de otros fabricantes. A lo largo de su existencia han aparecido diferentes versiones, entre las que destaca la adoptada en 1966 por el ANSI (American National Standards Institute), en la que se definieron nuevas reglas del lenguaje y se logro la independencia del mismo con respecto a la mquina; es decir, comenzo la portabilidad del lenguaje. Esta versin se denomin FORTRAN IV o FORTRAN 66, y el idioma se hizo tan popular en los aos 60, que FORTRAN 66 se volvi el primer idioma en ser regularizado oficialmente en 1972. En 1977 apareci una nueva versin mas evolucionada que se

llamo FORTRAN V o FORTRAN 77. Est reflejada en el documento ANS X3.9-1978: Programming Language FORTRAN y define dos niveles del lenguaje denominados FORTRAN 77 completo y FORTRAN 77 bsico, siendo el segundo un subconjunto del primero. Incluye, adems, instrucciones para el manejo de cadenas de caracteres y de archivos, as como otras para la utilizacin de tcnicas de programacin estructurada. Estas caractersticas hacer que el lenguaje tambin sea valido para determinadas aplicaciones de gestin. A mediados de los aos setenta se proporcionaron virtualmente cada computadora, mini o mainframe, con un sistema FORTRAN 66 normal. Era por consiguiente posible escribir programas en FORTRAN en cualquier sistema y estar bastante seguro que estos pudieran moverse para trabajar en cualquier otro sistema bastante fcil. Esto, y el hecho que pudieran procesarse programas de FORTRAN muy eficazmente. La ultima normalizacin del lenguaje, FRONTRAN 90, se encuentra en el documento ANS X3.198-1991 en la que se incluyen caractersticas como la recursividad, tratamiento paralelo de tablas y uso de memoria dinmica. Permite expresar los programas de maneras que se satisfacen mas a un ambiente de la informtica moderna y han quedado obsoletos muchos de los mecanismos que eran apropiados en FROTRAN 77. En FROTRAN 90 algunos rasgos de FROTRAN 77 han sido reemplazados por rasgos mejores, mas seguros y ms eficaces, muchos de estos fueron quitados del idioma FORTRAN 95. El FRONTRAN tiene la ventaja de ser un lenguaje compacto que sirve muy bien para satisfacer las necesidades de los cientficos y los estadsticos de los negocios. COBOL Es el lenguaje mas utilizado en las aplicaciones de gestin, creado en 1960 por un comit denominado CODASYL (COnference on DAta SYstems Languages), patrocinado por el Departamento de Defensa de Estados Unidos, a fin de disponer de un lenguaje universal para aplicaciones comerciales, como expresa su nombre (COmmnon Business Oriented Language). A lo largo de su existencia ha sufrido diversas actualizaciones. Su primer estndar fue aprobado por el ANSI en 1968. Posteriormente, en 1974, se adopta la norma ANS X3.23-1974, que ha perdurado hasta su ultima versin, COBOL ANS-85, que facilita el diseo estructurado de los programas. Sus caractersticas ms destacables son las siguientes: se asemeja al lenguaje natural (ingls), es autodocumentado y ofrece grandes facilidades en el manejo de archivos, as como en la edicin de informes escritos. Puede emplear trminos comnmente utilizados en los negocios. Entre sus inconvenientes estn sus rgidas reglas de formatos de escritura, la necesidad de escribir todos los elementos al mximo detalle, la extensin excesiva en sus sentencias, e incluso duplicacin en algunos casos, y la inexistencia de funciones matemticas. No obstante, se puede afirmar que en la actualidad continua siendo el lenguaje mas utilizado en las aplicaciones de gestin. PL/I Fue creado a comienzos de los aos sesenta por IBM para ser usado en sus equipos del sistema 360. Inspirndose en los lenguajes ALGOL, COBOL y FORTRAN se desarrollo el PL/I (Programming Language/I) tomando las mejores caractersticas de los anteriores y aadiendo algunas nuevas, con el objetivo de obtener un lenguaje lo mas general posible en cuanto a su implementacin, til para aplicaciones tcnico-cientficas, comerciales, de proceso de textos, de bases de datos y de programacin de sistemas. Se trata de un lenguaje de programacin complejo. Compilado y estructurado, es capaz de gestionar errores y de procesar multitareas, y se emplea en entornos acadmicos y de investigacin. Entre sus novedades esta su gran libertad en el formato de escritura de los programas: soporta la programacin estructurada y diseo modular. Es un lenguaje flexible y sofisticado. No obstante, no ha superado a sus progenitores en sus aplicaciones especificas, debido en parte a su amplitud y, por ello, al tamao de su compilador que hasta ahora solo se poda instalar en grandes equipos. El elemento bsico de este programa es el enunciado que termina en punto y coma. Los enunciados se combinan en procedimientos. Un procedimiento puede representar por completo a un programa pequeo o un bloque de construccin o modulo de un programa ms complejo. BASIC

El lenguaje BASIC fue diseado por los profesores John G. Kemeny y Thomas E. Kurtz del Dartmouth College (Estados Unidos) en 1965, con el objetivo principal de proporcionar a los principiantes un lenguaje fcil de aprender, como se indica en su nombre Beginner's All-purpose Symbolic Instruction Code (Cdigo de instrucciones simblico de propsito general para principiantes). Es un lenguaje interactivo muy popular que tiene una aceptacin debido a la facilidad de su uso, es un idioma simple para aprender y fcil de traducir. Que s interactivo, permite la comunicacin directa entre el usuario y el sistema de computo durante la preparacin y uso de los programas. Entre sus principales novedades estn las de ser un lenguaje interpretado y de uso conversacional, til para aplicaciones tcnicas y de gestin. Esto, unido a la popularizacin de las microcomputadoras y computadoras personales, ha hecho que su utilizacin sea haya extendido enormemente, a la vez que ha propiciado el surgimiento de una gran diversidad de diversiones que extienden y se adaptan a necesidades particulares el lenguaje original. Existen multitud de interpretes y compiladores del lenguaje. VISUAL BASIC En mayo de 1991 anuncia de un de un nuevo lenguaje de programacin llamado visual Basic, el cual produce rpida y efectivamente aplicaciones de Windows. Cuando la versin 1.0 sali al mercado este fue diseado para ser un ambiente de programacin ntegramente visual utilizando un editor, compilador y debugger. La meta era habilitar programas producidos por lengu ajes tradicionales a rpidas aplicaciones Windows de calidad con poco trabajo. Combinando herramientas grficas y un sistema abierto, el visual Basic ofreca a los programadores lo que ahora se llama programacin visual Ventajas: -1)provee una rpida va para dar prototipos a las ideas de los programadores -2)hace todo el trabajo de interfase(GUI)por el programador -3)reduce increblemente la complejidad y tamao requerido por las aplicaciones Windows Aplicaciones: -Bas: un modulo cdigo -Vbx: un archivo de control definido -Frm: una forma -Mak: un archivo de proyecto -Frx: un archivo de informacin binaria Q BASIC Q Basic es un lenguaje de alto nivel, el cual consiste en instrucciones que los humanos pueden relacionar y entender. El compilador de Qbasic se encarga de traducir el mismo a lenguaje de mquina. Un programa es una secuencia de instrucciones. El proceso de ejecutar esas instrucciones se llama correr el programa. Los programas contienen las funciones de entrada, procesamiento y salida. La persona que resuelve problemas mediante escribir programas en la computadora se conoce como programador. Despus de analizar el problema y desarrollar un plan para solucionarlo, escribe y prueba el programa que instruye a la computadora como llevar a cabo el plan. El procedimiento que realiza el programador se define como

"problem solving". Pero es necesario especificar que un programador y un usuario no son lo mismo. Un usuario es cualquier persona que use el programa. Ejemplo de qbasic, para hacer una calculadora DIM total AS DOUBLE DIM number AS DOUBLE DIM secondNumber AS DOUBLE DIM more AS STRING DIM moreNumbers AS STRING DIM operation AS STRING total = 0 more = "y" moreNumbers = "c" CLS WHILE more = "y" INPUT "Enter the first number"; number total = number WHILE moreNumbers = "c" COLOR 14 PRINT "The total is:"; total COLOR 7 PRINT "Select an operation" COLOR 2 PRINT "(+)" COLOR 5 PRINT "(-)" COLOR 1 PRINT "(x)"

COLOR 4 INPUT "(/)"; operation COLOR 7 CLS IF operation = "+" THEN REM where we do additions PRINT "Enter the number to Add to"; total INPUT secondNumber total = secondNumber + total COLOR 14 PRINT "The total is now:"; total COLOR 7 ELSE IF operation = "-" THEN REM subtraction PRINT "Enter the number to Subtract from"; total INPUT secondNumber total = total - secondNumber COLOR 14 PRINT "The total is now:"; total COLOR 7 ELSE IF operation = "x" THEN REM multiplication PRINT "Enter the number to Multiply"; total; "by" INPUT secondNumber total = secondNumber * total

REM * is the multiplication sign in programs COLOR 14 PRINT "The total is now:"; total COLOR 7 ELSE IF operation = "/" THEN REM division PRINT "Enter the number to Divide"; total; "by" INPUT secondNumber IF secondNumber = 0 THEN COLOR 4 PRINT "You cannot divide by zero" COLOR 7 ELSE total = total / secondNumber REM / is the division sign in programs END IF COLOR 14 PRINT "The total is now:"; total COLOR 7 ELSE PRINT "you must select an operation" END IF END IF END IF END IF INPUT "Do you wish to continue (c) or start with new numbers

(n)";moreNumbers CLS WEND COLOR 14 PRINT "The grand total is:"; total COLOR 7 INPUT "Do you wish to make more calculations (y - n)"; more moreNumbers = "c" REM if we don't put "moreNumbers" back to y, it will always REM come back to "Do you wish to make more calculations" and never REM ask for numbers again REM (try it) total = 0 REM if we don't reset the total to 0, it will just REM keep on adding to the total WEND END PASCAL Fue creado por el matemtico suizo Nicklaus Wirth en 1970, basndose en el lenguaje ALGOL, en cuyo diseo haba participado en los aos sesenta. Su nombre proviene del filosofo y matemtico francs del siglo XVII, Blaise Pascal, que invento la primera maquina tipo mecnico para sumar. Fue el primer gran lenguaje creado despus de haber sido ampliamente diseminados los conceptos asociados con la programacin estructurada. Aunque en principio la idea del diseador era proporcionar un lenguaje adecuado para la enseanza de los conceptos y tcnicas de programacin, con el tiempo ha llegado a ser un lenguaje ampliamente utilizado en todo tipo de aplicaciones, que posee grandes facilidades para la programacin de sistemas y diseo grafico. Aporta los conceptos de tipo de datos, programacin estructurada y diseo descendente, entre otros, adems de haberse convertido en predecesor de otros lenguajes ms modernos, como MODULA-2 y ADA. C Este lenguaje fue creado en 1972 por Dennis Ritchie a partir del trabajo elaborado por su colega de los laboratorios Bell Telephone, Ken Thompson. Estos haban diseado con anterioridad el sistema operativo UNIX, y su intencin al desarrollar el lenguaje C fue la de conseguir un lenguaje idneo para la programacin de sistemas que fuese independiente de la maquina, con el cual escribir su sistema UNIX.

Aunque, como acabo de decir, fue diseado inicialmente para la programacin de sistemas, posteriormente su uso se ha extendido a ablaciones tcnico-cientficas, de bases de datos, de proceso de textos, etc. En 1980 Bjarne Stroustrup, inspirado en el lenguaje Simula67 adicion las caractersticas de la programacin orientada a objetos incluyendo la ventaja de una biblioteca de funciones orientadas a objetos) y lo denomino C con clases. Para 1983 dicha denominacin cambio a la de C++. Con este nuevo enfoque surge la nueva metodologa que aumenta las posibilidades de la programacin bajo nuevos conceptos. La utilizacin optima de este lenguaje se consigue dentro de su entorno natural, que ese el sistema operativo UNIX, y entre sus caractersticas destaca el uso de programacin estructurada para resolver tareas de bajo nivel, as como la amplia librera de rutinas de que dispone. El lenguaje C rene caractersticas de programacin intermedia entre los lenguajes ensambladores y los lenguajes de alto nivel; con gran podero basado en sus operaciones a nivel de bits (propias de ensambladores) y la mayora de los elementos de la programacin estructurada de los lenguajes de alto nivel, por lo que resulta ser el lenguaje preferido para el desarrollo de software de sistemas y aplicaciones profesionales de la programacin de computadoras. C es un lenguaje de programacin diseado por Dennis Ritchie, de los Laboratorios Bell, y se instal en un PDP-11 en 1972; se dise para ser el lenguaje de los Sistemas Operativos UNIX1. A su vez, UNIX es un Sistema Operativo desarrollado por Ken Thompson, quin utiliz el lenguaje ensamblador y un lenguaje llamado B para producir las versiones originales de UNIX, en 1970. C se invent para superar las limitaciones de B. C es un lenguaje maduro de propsitos generales que se desarroll a partir de estas races; su definicin aparece en 1978 en el apndice ``C Reference Manual'' del libro The C Programming Language, de Brian W. Kernighan y Dennis M. Ritchie (Englewood Cliffs, Nueva Jersey, Prentice-Hall 1978), pero el estndar recomendable ms reciente apareci en junio de 1983, en el documento de los Laboratorios Bell titulado The C Programming Language-Reference Manual, escrito por Dennis M. Ritchie generalizando, un programa en C consta de tres secciones. La primera seccin es donde van todos los ``headers''. Estos ``headers'' son comnmente los ``#define'' y los ``#include''. Como segunda seccin se tienen las ``funciones''. Al igual que Pascal, en C todas las funciones que se van a ocupar en el programa deben ir antes que la funcin principal (main()). Declarando las funciones a ocupar al principio del programa, se logra que la funcin principal est antes que el resto de las funciones. Ahora, solo se habla de funciones ya que en C no existen los procedimientos. Y como ltima seccin se tiene a la funcin principal, llamada main. Cuando se ejecuta el programa, lo primero que se ejecuta es esta funcin, y de ah sigue el resto del programa. Los smbolos { y } indican ``begin'' y ``end'' respectivamente. Si en una funcin o en un ciclo while, por ejemplo, su contenido es de solamente una lnea, no es necesario usar ``llaves'' ({ }), en caso contrario es obligacin usarlos. Ejemplo de un programa en C : /*Programa ejemplo que despliega el contenido de "ROL" en pantalla*/ #include <stdio.h> #define ROL "9274002-1" despliega_rol() { printf("Mi rol es : \%s\n", ROL); } void main() {

despliega_rol(); } /* Fin programa */ MODULA-2 El lenguaje MODULA fue diseado en 1977 bajo la direccin de Nicklaus Wirth, creador tambin el lenguaje PASCAL, con la intencin de incluir las necesidades de la programacin de sistemas y dar respuestas a las criticas recibidas respecto de las carencias del lenguaje PASCAL. En 1979 se realiza una versin que pasa a denominarse MODULA-2 y que perdura en la actualidad. Adems de incluir las caractersticas de su predecesor, este nuevo lenguaje incorpora las principales carencias de aquel, como la posibilidad de compilacin separada, creacin de libreras, programacin concurrente, mejora el manejo de cadenas de caracteres, los procedimientos de entrada/salida y la gestin de la memoria, etc. adems, posee grandes facilidades para la programacin de sistemas. Tambin, debido a sus cualidades didcticas, ha sido ampliamente aceptado por la comunidad universitaria como herramienta idnea para la enseanza de la programacin. ADA Es l ultimo intento de obtener un nico lenguaje para todo tipo de aplicaciones, e incluso los ltimos avances de tcnicas de programacin. Su diseo fue encargado por el Departamento de Defensa de Estados Unidos, para su uso en servicios militares, a la empresa Honeywell-Bull despus de una seleccin rigurosa entre varias propuestas realizadas sobre una serie de requerimientos del lenguaje y de haber evaluado negativamente veintitrs lenguajes existentes. De estos, se seleccionaron como base para la creacin del nuevo lenguaje el PASCAL, el ALGOL y el PL/I. La estandarizacin del lenguaje se publico en 1983 con el nombre de ADA, en honor de la considerada primera programadora de la historia, Augusta Ada Byron, condesa de Lovelace. Entre las caractersticas del lenguaje se encuentran la compilacin separada, los tipos abstractos de datos, programacin concurrente, programacin estructurada, libertad de formatos de escritura, etc. Como principal inconveniente presenta su gran extensin. Los escritores lo llamaron inflexible e ineficiente, en tanto que sus favorecedores lo consideraban un gran avance en la tecnologa del software. LISP En informtica, acrnimo de List Processing. Un lenguaje de programacin para ordenadores o computadoras orientado a la generacin de listas, desarrollado en 1959-1960 por John McCarthy y usado principalmente para manipular listas de datos o de smbolos. El lenguaje LISP constituy un cambio radical con respecto a los lenguajes procedurales (FORTRAN, ALGOL) que se desarrollaban por entonces. El LISP es un lenguaje interpretado, en el que cada expresin es una lista de llamadas a funciones. Este lenguaje se sigue utilizando con frecuencia en investigacin y en crculos acadmicos, y fue considerado durante mucho tiempo el lenguaje modelo para la investigacin de la inteligencia artificial (IA), aunque el Prolog ha ganado terreno durante los ltimos aos. LOGO En informtica, lenguaje de programacin de ordenadores o computadoras, desarrollado en 1968 por Seymour Papert en el MIT, que se usa frecuentemente en la enseanza de lenguaje de programacin a nios. Una caracterstica importante de Logo son los grficos de tortuga, que permiten al programador hacer dibujos simples dirigiendo los movimientos de la tortuga en la pantalla hacia adelante, hacia la derecha o la izquierda. Una vez que dominan el entorno sencillo del dibujo, el programador (normalmente un nio o una nia) empieza a descubrir las caractersticas ms sofisticadas del lenguaje, que estn basadas fundamentalmente

en el lenguaje de programacin LISP. Logo est considerado como un lenguaje para la formacin, a pesar de que algunas empresas intentaron que tuviera una mayor aceptacin en los crculos profesionales de programacin. Macro En aplicaciones de ordenador o computadora, un conjunto de pulsaciones de teclas, acciones o instrucciones grabadas y ejecutadas mediante una simple pulsacin de tecla o una instruccin. As se evita la introduccin repetitiva de instrucciones, se minimizan los errores tipogrficos y se permite a los usuarios que no conozcan el programa reproducir conjuntos de instrucciones previamente grabados por alguien ms experto en la aplicacin. Si la aplicacin incluye tambin un lenguaje de macros que responda a variables e instrucciones condicionales, el usuario puede tambin controlar el resultado de un procedimiento, haciendo que la macro responda de forma diferente bajo condiciones diversas. En un lenguaje de programacin, tal como el lenguaje C o ensamblador, una macro es un nombre que define un conjunto de instrucciones que sern sustituidas por la macro cuando el nombre de sta aparezca en un programa (proceso denominado expansin de macros) en el momento de compilar o ensamblar el programa. Las instrucciones de macros se pueden guardar en el programa mismo o en un archivo separado que el programa pueda identificar. RPG Report Program Operator fue introducido en 1960 como un lenguaje para duplicar rpidamente el enfoque de proceso utilizado con un equipo de tarjeta perforada. Este lenguaje fue desarrollado por IBM en 1964. Su uso esta aun limitado sobre todo para las aplicaciones de negocios que son procesadas en pequeas computadoras, generar informes comerciales o de negocios. Como su nombre lo sugiere, el RPG esta diseado para generar los reportes de salida que resultan del proceso de aplicaciones de negocios. A pesar de las aplicaciones de actualizacin de archivos, el RPG es un lenguaje de propsito limitado porque los programas objeto generados por el compilador de RPG siguen sin desviacin, un ciclo de procesamiento bsico. Una ventaja del RPG es la relativa facilidad para aprenderlo y usarlo. Dado que la lgica de la programacin es fija, existen menos reglas formales que en otros lenguajes. ALGOL El ALGOL (ALGOritmic Language) fue presentado en 1958. Fue el primer lenguaje de programacin de proceso estructurado de alto nivel. Fue orientado al uso de quienes participan en proyectos cientficos y matemticos. Un grupo internacional de matemticos europeos y americanos, pretendan crear un lenguaje comn normalizado que les permitiera el intercambio de algoritmos, aunque esta en desuso, fue el primero que incorporo conceptos claves para la programacin actual. APL Sus siglas significan (A Programming Language). Un Lenguaje de Programacin. Este programa fue desarrollado por Kenneth Inverson en el ao 1961 para resolver problemas matemticos. Este lenguaje se caracteriza por su brevedad y por su capacidad de generacin de matrices y se utiliza en el desarrollo de modelos matemticos. PILOT Programmend Inquiry Language Or Teaching (Consulta, lenguaje o aprendizaje de investigacin programada) creado en 1969. Este lenguaje de programacin es utilizado fundamentalmente para crear aplicaciones destinadas a instrucciones asistidas por computadoras. Se caracteriza por utilizar un mnimo de sintaxis. SMALLTALK

SMALLTALK, Lenguaje de Programacin orientado a objetos integrados con un entorno de desarrollo multiventana. SMALLTALK no es solo un hermoso lenguaje de computacin orientado a objetos. El entorno de desarrollo merece similar valoracin y ha sido copiado muchas veces, desde el Sistema Operativo de Apple MS Windows y Borland Pascal (en una memoria extensin). Muchos conceptos de SMALLTALK como los browsers y las tcnicas de browsing han encontrado hoy su rumbo en muchas herramientas de desarrollo de la generacin X, desarrollado por SMALLTALK poseen un factor divertido -de-usar. Los cambios se graban instantneamente y los mismos pueden probarse rpidamente. SMALLTALK fue desarrollado dentro del Grupo de Investigacin del Aprendizaje en el Centro de Investigacin de Xerox en palo Alto a comienzos de los 70. Las principales ideas de SMALLTALK se le atribuyen generalmente a Alan kay con races en Simula, LISP y SketchPad. Dan Ingalls escribi el cdigo de las primeras ventanas solapables, los pop-up mens y la clase BitBlt. Adele Goldberg y Dave Robson escribieron los manuales de referencia para SMALLTALK y fueron miembros clave del equipo de desarrollo. Un programa de licenciamiento de Xerox y Xerox Special Information Systems. Sin embargo la distribucin generalizada a la comunidad de desarrollo no sucedi hasta la fundacin de una nueva compaa llamada ParcPlace Systems Inc. , Dirigida por Adele Goldberg. Un segundo SMALLTALK (SMALLTALK 4) fue desarrollado por Digitalk en los Angeles California. Este SMALLTALK estaba dirigido a cubrir la necesidad de un producto pequeo, de alta velocidad, basado en PC. Object Technology International Inc. (OTI) desarroll un conjunto de herramientas para proveer el control de inversiones y el manejo de configuraciones en grandes proyectos. IBM desarroll la familia de productos VisualAge para SMALLTALK en colaboracin con Object Technology (antiguamente ParcPlase-Digitalk) e IBM permanecen como los distribuidores dominantes de entornos de desarrollos en SMALLTALK. Algunos nuevos SMALLTALK se hallan en etapa de desarrollo. FORTH Lenguaje de cuarta generacin, creado en 1970, es un lenguaje estructurado e interpretado de fcil ampliacin y ofrece una alta funcionalidad en un espacio reducido. Es un lenguaje de alto nivel del cual derivan en la actualidad casi todos los lenguajes empleados en los robots. LENGUAJE C++ Se pronuncia ce plus plus. Fue desarrollada por Bjarme Stroustrup en los Bell Laboratori es a principios de la dcada de los 80. C++ introduce la programacin orientada al objeto en C. Es un lenguaje extremadamente poderoso y eficiente. C++ es un sper conjunto de C, para aprender C++ significa aprender todo de C, luego aprender programacin orientada al objeto y el uso de stas con C++. SIGNOS DE PROGRAMACIN C++.

Вам также может понравиться