COBOL:
Características: COBOL fue dotado de unas excelentes capacidades de auto documentación, una buena gestión de archivos y una excelente gestión de los tipos de datos para la época, a través de la conocida sentencia PICTURE para la definición de campos estructurados. Para evitar errores de redondeo en los cálculos que se producen al convertir los números a binario y que son inaceptables en temas comerciales, COBOL puede emplear y emplea por defecto números en base diez. Para facilitar la creación de programas en COBOL, la sintaxis del mismo fue creada de forma que fuese parecida al idioma inglés, evitando el uso de símbolos que se impusieron en lenguajes de programación posteriores.
Pese a esto, a comienzos de los ochenta se fue quedando anticuado respecto a los nuevos paradigmas de programación y a los lenguajes que los implementaban. En la revisión de 1985 se solucionó, incorporando a COBOL variables locales, recursividad, reserva de memoria dinámica y programación estructurada.
En la revisión de 2002 se le añadió orientación a objetos, aunque desde la revisión de 1974 se podía crear un entorno de trabajo similar a la orientación a objetos, y un método de generación de pantallas gráficas estandarizado.
Antes de la inclusión de las nuevas características en el estándar oficial, muchos fabricantes de compiladores las añadían de forma no estándar. En la actualidad este proceso se está viendo con la integración de COBOL con Internet. Existen varios compiladores que permiten emplear COBOL como lenguaje de scripting y de servicio Web. También existen compiladores que permiten generar código COBOL para la plataforma .NET y EJB.
Eje: IDENTIFICATION DIVISION. PROGRAM-ID. Saludos. * ENVIRONMENT DIVISION. * DATA DIVISION. WORKING-STORAGE SECTION. * PROCEDURE DIVISION. INICIO. DISPLAY "Hola mundo". STOP RUN.
Uso: Pese a que muchas personas creen que el lenguaje COBOL está en desuso, la realidad es que casi todos los sistemas que requieren gran capacidad de procesamiento por lotes (Batch), tanto las entidades bancarias como otras grandes empresas con sistemas mainframes utilizan COBOL. Esto permite garantizar la compatibilidad de los sistemas antiguos con los más modernos, así como tener la seguridad de que el lenguaje es perfectamente estable y probado.
Visual Basic:
Caracteristica:
Es un lenguaje de fácil aprendizaje pensado tanto para programadores principiantes como expertos, guiado por eventos, y centrado en un motor de formularios que facilita el rápido desarrollo de aplicaciones gráficas. Su sintaxis, derivada del antiguo BASIC, ha sido ampliada con el tiempo al agregarse las características típicas de los lenguajes estructurados modernos. Se ha agregado una implementación limitada de la programación orientada a objetos (los propios formularios y controles son objetos), aunque sí admite el polimorfismo mediante el uso de los Interfaces, no admite la herencia. No requiere de manejo de punteros y posee un manejo muy sencillo de cadenas de caracteres. Posee varias bibliotecas para manejo de bases de datos, pudiendo conectar con cualquier base de datos a través de ODBC (Informix, DBase, Access, MySQL, SQL Server, PostgreSQL ,etc) a través de ADO.
Es utilizado principalmente para aplicaciones de gestión de empresas, debido a la rapidez con la que puede hacerse un programa que utilice una base de datos sencilla, además de la abundancia de programadores en este lenguaje.
El compilador de Microsoft genera ejecutables que requieren una DLL para que funcionen, en algunos casos llamada MSVBVMxy.DLL (acrónimo de "MicroSoft Visual Basic Virtual Machine x.y", siendo x.y la versión) y en otros VBRUNXXX.DLL ("Visual Basic Runtime X.XX"), que provee todas las funciones implementadas en el lenguaje. Además existen un gran número de bibliotecas (DLL) que facilitan el acceso a muchas funciones del sistema operativo y la integración con otras aplicaciones. Sin embargo esto sólo es una limitación en sistemas obsoletos, ya que las bibliotecas necesarias para ejecutar programas en Visual Basic vienen de serie en todas las versiones de Windows desde Windows 2000.
C++:
Caracteristica:
C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
Eje:
#include
Pascal:
Caracteristica:
A diferencia de lenguajes de programación descendientes de C, Pascal utiliza el símbolo := para la asignación en vez de =. Si bien el segundo es más conciso, la práctica ha demostrado que muchos usuarios utilizan el símbolo de igualdad para comparar valores en lugar del comparador de C que es el símbolo ==. Esta sintaxis conduce a muchos errores o bugs difíciles de rastrear en código C. Dado que Pascal no permite asignaciones dentro de expresiones y utiliza sintaxis distinta para asignaciones y comparaciones, no sufre estos errores.
Además sus programas tienen definidas dos partes: declarativa y ejecutiva. En la primera debe aparecer todo lo que se usará en la segunda, de lo contrario se detecta como desconocido y evita ciertas incomprensiones como veremos más adelante. En la parte declarativa se enuncian Unit existentes, procedimientos, funciones, variables, constantes y nuevos tipos de datos estructurados.
Otra diferencia importante es que en Pascal, el tipo de una variable se fija en su definición; la asignación a variables de valores de tipo incompatible no están autorizadas (En C, en cambio, el compilador hace el mejor esfuerzo para dar una interpretación a casi todo tipo de asignaciones). Esto previene errores comunes donde variables son usadas incorrectamente porque el tipo es desconocido. Esto también evita la necesidad de notación húngara, esto es prefijos que se añaden a los nombres de las variables y que indican su tipo.
Eje:
program suma; uses crt; var x,s:integer; begin clrscr; x:=1; s:=0; repeat s:=s+x; x:=x+1; until x=50; writeln('la suma es ',s); readln; end. Fortran: Caracteristica: El lenguaje fue diseñado teniendo en cuenta que los programas serían escritos en tarjetas perforadas de 80 columnas. Así por ejemplo, las líneas debían ser numeradas y la única alteración posible en el orden de ejecución era producida con la instrucción goto. Estas características han evolucionado de versión en versión. Las actuales contienen subprogramas, recursión y una variada gama de estructuras de control.
LISP:
Es el lenguaje para aplicaciones como la inteligencia artificial. Es un lenguaje funcional que ha desempeñado un papel especial en la definición de lenguajes. La definición de un lenguaje debe estar escrita en alguna notación, llamada metalenguaje o lenguaje de definición, y los lenguajes de definición tienden a ser funcionales. De hecho la primera implantación de LISP se produjo, casi por accidente, cuando se uso LISP para definirse a sí mismo. De esta manera los conceptos básicos de programación funcional se organizaron con LISP, diseñado por Jhon McCarthy en 1968, el cuál es lenguaje con mayor edad después de Fortran. LISP significa (Lots of Silly Parenthese “montones de tontos parentesis”). A comienzos de 1960 Lisp fue “ultralento” para aplicaciones numéricas. Ahora hay buenas implantaciones disponibles.
PROLOG:
Es un lenguaje de programación de computadoras que fue inventado alrededor de 1970 por Alain Colmerauer y sus colegas de la Universidad de Marcella. A finales de 1970 comenzaron a aparecer versiones de Prolog para microcomputadoras fue el micro-prolog y se dedicaron muchos libros de prolog a él.Pero el micro-prolog no ofrece la riqueza de predicados que ofrece un lenguaje como él turbo prolog. No existió mucho interés en el prolog, hasta que los científicos, japoneses lanzaron su famoso proyecto de la quinta generación con el objetivo de diseñar nuevas computadoras y software, los cuales no tendrían rivales en los años 1990 y posteriores. Ala principales implementaciones de prolog le falta la habilidad para mejorar problemas sobre “números” o “procesamiento de texto”, en su lugar, prolog está diseñado para manejar “problemas lógicos” (es decir problemas donde se necesita tomar decisiones de un a forma ordenada). Prolog intenta hacer que la computadora razone la forma de encontrar una solución.
SMALLTALK:
Alan Kay creó SMALLTALK es principalmente un lenguaje interpretado, es decir smalltalk es un lenguaje compilado en forma incremental: tanto el compilador como el lenguaje son parte del ambiente de programación smalltalk, cuando se utiliza smalltalk nunca se sale del ambiente de programación (incluyendo el apoyo de biblioteca, las clases y los métodos), usted puede probar incluso el fragmento más pequeño del programa con él interprete, o compilar solo una sección de código. Usted podría utilizar el intérprete smalltalk como una calculadora muy compleja, para evaluar expresiones matemáticas.
DELPHI:
Es una potente herramienta de desarrollo de programas que permite la creación de aplicaciones para Windows 3.x, Windows 95 y Windows NT. De hecho , aunque el programa ANÁLOGA.EXE corre perfectamente en cualquier tipio de Windows, fue desarrollado sobre una plataforma Windows NT Wokstation. Dispone de un compilador muy rápido (más que la mayorìa de los compìladores de C++, como ya era tradicional en Turbo Pascal), y potentes herramientas para la creación visual de aplicaciones de completas herramientas para la creación y manejo de bases de datos, aplicaciones multimedia, enlace DDE, creación de DLLs, VBX,etc. Cubre muchos temas de programación bajo Windows: se incluye entre los mismos un completo centro de control para la creación de aplicaciones multimedia, así como una gran variedad de componentes que actúan “debajo” del entorno , como tipos de listado muy variados y contenedores generales de datos. Las aplicaciones terminadas están disponibles en archivos ejecutables(EXE)que peden utilizarse sólo con bibliotecas adicionales.
JAVA:
Java es un lenguaje de progreamación orientado a objetos desarrollado por Sun Microsystems, una compañía reconocida por sus estaciones de trabajo UNÍS de alta calidad en 1991 como parte de un proyecto de investigación para desarrollar software para dispositivos electrónicos (televisiones, videocaseteras, tostadores y otros de aparatos que se pueden comprar en cualquier tienda departamental) . Fundamentado en C++, el lenguaje Java se diseño para ser pequeño , sencillo y portátil a través de plataformas y sistemas operativos, tanto a nivel de código fuente como binario, lo que significa que los programas en Java (apples y aplicaciones) pueden ejecutarse en cualquier computadora que tenga instalada una maquina virtual de Java . Es un lenguaje ideal para distribuir programas ejecutables vía World Wide Web, además de un lenguaje de
programación de propósito general para desarrollar programas quesean fáciles de usar y portables en una gran variedad de plataformas.
SIMULA:
Simula es el primer lenguaje de programación orientada a objetos (OOP). Varios años después de su desarrollo, casi todos los lenguajes modernos comenzaron a utilizar sus principios de orientación a objetos. Así fue como se popularizaron términos como clases, objetos, instancias, herencia, polimorfismo, etc.
Por otra parte Simula 67 fue lanzado oficialmente por sus autores Ole Johan Dahl y Kristen Nygaard en mayo de 1967, en la Conferencia de Trabajo en Lenguajes de Simulación IFIO TC 2, en Lysebu cerca de Oslo
Hoy en día, los creadores de Simula han producido un segundo lenguaje de programación, llamado Beta, el cual generaliza todas las construcciones del lenguaje en una única idea denominada patrón.
Eje:
! esto es un comentario ; Begin comment aquí comienza el programa ; OutText("¡Hola Mundo!"); OutImage; End of program;Otro eje: ! todo programa empieza con un begin y termina con un end ; Begin Class Saludos; Begin OutText("¡Hola Mundo!"); OutImage; End of class saludos; REF(Saludos) objeto; objeto :- New Saludos; End of module program; OBERON:
Oberon es un lenguaje de programación orientado a objetos y procedimental creado por Niklaus Wirth (autor también de Pascal, Modula y Modula-2) y sus colaboradores del ETHZ (Suiza).
Oberon puede considerarse una evolución de Modula-2 con un soporte completo de orientación a objetos. De este lenguaje y de sus antecesores hereda buena parte de la sintaxis y de la filosofía. Wirth siempre ha intentado simplificar los lenguajes sin que por ello se pierda en potencia. También está diseñado con la seguridad en mente: tiene chequeos de rango en arrays, recolector de basura y es fuertemente tipado. Sin embargo, por su intento de simplicidad carece de enumeraciones y enteros restringidos en rango, los cuales pueden implementarse como objetos.
La sintaxis de orientación a objetos de Oberon no se parece a la de otros lenguajes más populares como C++ o Java, pero sí guarda similitud con la de Ada 95.
BCPL:
Es un lenguaje de programación ordenado, potente y muy fácil de adaptar a diferentes arquitecturas. Se popularizó en los programas de arranque de las computadoras (bootstraps en inglés) debido a sus compiladores simples y compactos, algunos con capacidad para correr en sólo 16 kilobytes. Inclusive algunos sistemas operativos fueron escritos total o parcialmente en BCPL (TRIPOS y Amiga Kickstart entre otros).
La principal razón de la capacidad de adaptación a las diferentes arquitecturas es la estructura de su compilador, el que fue dividido en dos partes. La cara visible del mismo interpretaba el código fuente y generaba código máquina para una máquina virtual; la otra cara del compilador tomaba dicho código máquina y lo traducía al código necesario para la arquitectura deseada. No mucho después, este diseño de compiladores se hizo popular; pero el compilador de Richards fue el primero en definir una máquina virtual para este propósito. Algunos de los lenguajes que utilizan el mismo formato son Java y Pascal.
El lenguaje tiene la peculiaridad de tener sólo un tipo de dato: la palabra (word en inglés) compuesta de una cantidad fija de bits elegidos generalmente para coincidir con el tamaño de una palabra de la arquitectura correspondiente. La interpretación de cualquier valor es determinado por los operadores utilizados para procesarlos (+ los utilizaba como enteros, ! como punteros, etc. ). Para poder lograr esto, la implementación carecía de un chequeo de tipos. La notación húngara fue desarrollada para anotar información en los nombres de las variables sobre su uso y tipo.
JAVA ESCRIB:
Se trata de un lenguaje de programación del lado del cliente, porque es el navegador el que soporta la carga de procesamiento. Gracias a su compatibilidad con la mayoría de los navegadores modernos, es el lenguaje de programación del lado del cliente más utilizado.
CLIPPER:
Caracteristica:
A diferencia de otros lenguajes xBase, Clipper nunca contó con un modo intérprete, similar al de dBase. Sus utilidades para manejo de base de datos, tales como la de creación de tablas (DBU), se entregaban con el código fuente escrito en Clipper e incluido, el usuario podía adaptarlas a sus necesidades si quería. Se aportaban también muchas rutinas escritas en C y Assembly a las que el usuario podía acudir, incluso ampliar y crear bibliotecas de pre-enlace completas.
Clipper trabaja en modo compilador puro generando un código objeto binario; el paquete proveía también un enlazador (RTLINK o DLINK) que con el módulo objeto y las librerías de pre-enlace generaba un módulo ejecuble directo. Esto último le otorgaba a las aplicaciones Clipper una velocidad que otros manejadores de bases de datos no poseían, y, como desventaja, la necesidad de recompilar y enlazar nuevamente cada vez que se corregía algún error en el código fuente (la depuración era lenta).
Posee características que fueron muy atractivas para su época y su entorno de trabajo (DOS), tales como: manejo propio de memoria virtual (RAM en disco); manejo de memoria extendida, las aplicaciones podían superar la barrera de los 640Kb de RAM impuesta por MS-DOS; rutinas y librerías pueden cargarse sólo cuando son necesarias y se descargan de RAM cuando ya no hacen falta (enlace y overlays dinámicos); la cantidad de registros por tablas estaba sólo limitada a la capacidad del disco; gran robustez en las aplicaciones, particularmente en las diseñadas para cliente-servidor (red LAN), etc.

No hay comentarios:
Publicar un comentario