Lenguajes de Programación C/C++ Luego de la aparición de B y BCPL, en los Laboratorios Bell, Ken Thompson modeló muchas características sacadas de su lenguaje B, según las equivalentes en BCPL, con B creó las primeras versiones del sistema operativo UNIX, durante los 70s, en una computadora DEC PDP−7. En 1972, Dennis Ritchie, estaba finalizando su proyecto, en los famosos Laboratorios Bell. "El lenguaje C", una evolución del B, implementado originalmente en una DEC PDP−11. Al contrario de sus antecesores, C era un lenguaje con tipos, es decir, que cada elemento de información ocupaba un 'palabra' en memoria y la tarea de tratar cada elemento de datos como número entero, real, o arreglos, no recaía en el programador. C era conocido como el lenguaje con el cual se desarrolló el sistema operativo UNIX, y actualmente la mayoría de los sistemas operativos se codifican en C. Lo bueno de este lenguaje es que no depende de la arquitectura de hardware. Es posible escribir código en C, y llevarlos a otras máquinas. Eso lo convirtió en unos de los lenguajes más portátiles del mercado. A fines de los 70s, evolucionó lo que conocemos como... 'C de Kernigham y Ritchie', y el libro The C Programming Languaje que publicó Prentice Hall en 1978 se hizo impresionantemente famoso. Claro que C tuvo un inconveniente, su amplia difusión ahora le estaba jugando una mala pasada, al ser tan universal, habían muchas variantes, además bastante incompatibles, creando serios problemas para los desarrolladores de software, que necesitaban escribir código para diferentes plataformas, y claro que era imprescindible que exista compatibilidad. Todo el mundo necesitaba que se cree una versión universal de C. Tarea llevada a cabo por la ANSI, que no fué sino hasta 1989 para que se aprobara el estándar. La ANSI cooperó con la ISO, en la estandarización mundial de C, el documento se publicó en 1990 y es posible pedirle a la ANSI una copia de ese documento. Ahora, volvemos al principio de los 80s. Donde Bjarne Stroustrup, diseñó una extensión del lenguaje C, llamándolo C con Clases. El término clase provenía de Simula 67, y servía para entender mas el comportamiento del mundo real y llevarlo a los códigos, ocultando los detalles de su implementación. En 1984, C con Clases fue rediseñado en un compilador y se lo denominó C ++. Como lo indica la nota Data Abstraction in C, en el Técnical Journal de AT&T Bell Laboratories. (vol. 63, núm 8, Octubre 1984). En 1985 estuvo disponible la primera versión del lenguaje C ++ y se realizó el libro de Bjarne Struostrup: The C ++ Programming Languaje, publicado por Addison−Wesley en 1986. El nombre de C ++, fue porque éste último era una variante del C original. En el lenguaje C, el operador ++ significa, incrementar la variable, se eligió en nombre C ++, debido a que éste agregaba al C original el término de Programación Orientada a Objetos (POO), basadas en Simula 67. Al ser C ++ una variación de C, los programas codificados en C pueden correr tranquilamente en C ++. En 1990, el lenguaje ha sido descrito por Stroustrup y Ellis en el Annotated C ++ Reference Manual editado por Addison −Wesley, existiendo una versión en español del mismo, con el título de C ++. Manual de Referencia con anotaciones publicado por Addison−Wesley/Días de Santos en 1994. La versión actual estandarizada por ANSI, la versión 3.0 es la que soportan la mayoría de los fabricantes mundiales, como ser, Borland, AT&T, WatCom, Microsoft, etc, es sus respectivas actualizaciones. Smalltalk 1 Smalltalk fue desarrollado dentro del Grupo de Investigación del Aprendizaje en el Centro de Investigación de Xerox en Palo Alto a comienzos de los 70'. Las principales ideas de Smalltalk se le atribuyen generalmente a Alan Kay con raíces en Simula, LISP y SketchPad. Dan Ingalls escribió el código de las primeras ventanas solapables, los pop−up menús y la clase BitBlt. ¿ Adivina donde "hallaron" sus raíces, el Sistema Operativo de Apple y Windows de Microsoft ? Correcto, en Smalltalk ! 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 distribuyó el entorno de desarrollo Smalltalk a un limitado número de desarrolladores y grandes compañías. Sin embargo la distribución generalizada a la comunidad de desarrollo no sucedió hasta la fundación de una nueva compañia llamada ParcPlace Systems Inc., dirigida por Adele Goldberg. Un segundo Smalltalk (Smalltalk/V) fue desarrollado por Digitalk en los Angeles California, con financiamiento de Ollivetti y otros clientes. Este Smalltalk estaba dirigido a cubrirla necesidad de un producto pequeño, de alta velocidad, basado en PC. Antes de la adquisición por parte de ParcPlace Systems Inc., Digitalk era el líder en volumen de ventas. Object Technology International Inc. (OTI) desarrolló un conjunto de herramientas de manejo para todos los Smalltalks llamado ENVY/Developer para proveer el control de versiones y el manejo de configuraciones en grandes proyectos. OTI desarrolló una máquina virtual de 32−bits para el producto de Digitalk para Apple y participó en una amplia gama de proyectos de investigación, desde herramientas cliente servidor orientadas a objetos, Smalltalk integrado, y procesamiento de imágenes de radar para operaciones militares hasta sistemas con restricciones y generadores de máquinas virtuales portables. IBM desarrolló la familia de productos Visual Age para Smalltalk en colaboración con Object Technology International Inc. Hoy, Object Share (antiguamente Parc Place−Digitalk) e IBM permanecen como los distribuidores dominantes de entornos de desarrollo en Smalltalk. Algunos nuevos Smalltalks se hallan en etapa de desarrollo. Patrocinado por el Ministerio de Defensa de los EE.UU, Ada es un lenguaje fuertemente tipado cuya estructura lo hace un lenguaje muy seguro. Posee muchas características de Pascal, que en esta historia ya veremos porqué. ADA El lenguaje de programación Ada fue diseñado en un esfuerzo de colaboración, patrocinado por el Departamento de Defensa con la participación de la industria, mundo académico y comunidad internacional. Su propósito principal fue proporcionar un lenguaje de alto nivel en el que pudieran expresarse, desarrollarse y mantenerse los problemas de programación de sistemas. Ada contiene mecanismos especiales para la gestión de sucesos concurrentes en un entorno de tiempo real, desarrollando paquetes específicos de la aplicación y definiendo operadores y procedimientos genéricos. Fue a principios de los 70s cuando el Departamento de Defensa de los EE.UU., identificó un grave problema en el crecimiento del coste del software en los sistemas de computadoras "empotradas", es decir, sistemas que están incluidos en distintos vehículos militares. La principal causa de este problema era la ausencia de un lenguaje de programación adecuado y de un entorno de programación para desarrollar y mantener este software. Las aplicaciones caían en el área general de la "programación de sistemas" y la mayoría de estos programas estaban repletos de líneas de código escritas en 2 ensamblador, obviamente variaba según la máquina. Por lo tanto afectaba a su transportabilidad. En 1975 el Departamento de Defensa de los EE.UU formó un grupo de trabajo en un lenguaje de alto orden cuya misión era: 1) Identificar el conjunto completo de requerimientos para los lenguajes del Departamento de Defensa (DD). 2) Evaluar la adecuación de los lenguajes existentes seleccionados sobre la base de éstos requerimientos. 3) Hacer una recomendación sobre el DD debía adoptar uno o más lenguajes existentes. Durante el período 1976−1977, se realizó una extensa evaluación de los veintitrés lenguajes existentes (incluyendo SIMULA, ALGOL, JOVIAL, PASCAL FORTRAN, COBOL, y PL/I, (pero excluyendo sorprendentemente al C) sobre la base de los requerimientos TINMAN. El informe final concluyó con que ninguno de los veintitrés lenguajes evaluados eran candidatos y que debía desarrollarse un nuevo lenguaje sobre un lenguaje que sirviera como base apropiada. Los candidatos fueron Pascal, Algol, y PL/I. En 1977 se inició el diseño de un nuevo lenguaje como un proyecto competitivo, y mas adelante se seleccionaron cuatro de los competidores para desarrollar diseños del lenguaje. Estos cuatro diseños, llamados, Azul, Rojo, Amarillo, y Verde, (para preservar el anonimato), fueron evaluados extensamente en 1978 y se seleccionaron dos para el final. Al final el diseño Verde, propuesto por Honeywell−Bull, fue seleccionado como el nuevo lenguaje de alto nivel de Departamento de Defensa de EE.UU. El lenguaje se llamó Ada en reconocimiento a Augusta Ada Byron, hija del poeta Lord Byron. Ella es considerada por algunos como la primera programadora del mundo, puesto que trabajó con Charles Babbage, a principios del siglo XIX. Desde 1979, los esfuerzos se han dirigido a desarrollar un documento e implementaciones estándar para Ada. El primero de tales documentos se publicó en 1980 y la versión final, llamada Reference Manual for the Ada Programming Languaje, fué aprobada a principios de 1983 como el estándar militar. Esa fue la historia de Ada, un lenguaje que a nivel mundial constó muchos miles de dólares. Hoy en día tenemos la versión de GNAT Ada95 que es muy parecida al Pascal for Windows. Al compilador GNAT que la podemos bajar de forma gratuita en el sitio de Ada Core Technologies, citado mas abajo. El GNAT fue originalmente por el GNAT Team, (Equipo GNAT) en la Universidad de New York, aunque ahora está siendo distribuída por Ada Cores Technologies. Clipper A principio de los años ochenta, DBASE II hizo su aparición de la mano de George Tate (1943−1984) y su empresa Ashton−Tate. Esta nueva herramienta se presentaba en el emergente mundo de los microordenadores con la intención de facilitar la gestión de las bases de datos. Evidentemente, los sistemas de gestión de bases de datos existían desde mucho antes, sobre todo, desarrollados para grandes sistemas, pero la cuestión estaba en cubrir una carencia que más tarde o más temprano debía ser atendida por los ingenieros de software y que era esperada ansiosamente por el creciente número de usuarios de los ordenadores personales. El sistema de gestión de bases de datos había que diseñarse no exclusivamente como un entorno de programación, semejante a otros entornos o lenguajes con capacidad de tratamiento de grandes masas de datos. Este debía posibilitar la ejecución interactiva de instrucciones, ser amigable, accesible por usuarios no programadores, y debía estar formado por unas instrucciones potentes y fáciles de memorizar. (LA PRIMERA DE LAS VERSIONES DE DBASE II SE UTILIZÓ CON EL SISTEMA OPERATIVO CP/M, SIGUIÉNDOLE OTRAS COMO LA 2.4 DE SEPTIEMBRE DE 1983 BAJO DOS 1.1 Y 2.0). También, a principio de los ochenta se comienza a utilizar entre los usuarios de micros una nueva 3 terminología informática de bases de datos, ésta era más familiar en otros ambientes informáticos y definía con precisión los conceptos más básicos: Una base de datos puede definirse como la agrupación útil y organizada de información. Bases de datos relacionales Este tipo de estructura define relaciones entre los datos en una base de datos. Un modelo simple organiza la base de datos de igual forma que podemos definir una tabla de dos dimensiones (filas y columnas). Los datos de una fila (registro) se subdividen en columnas (campos). A cada fila se la asigna un número (nº de registro) que representa el orden en que será almacenado el registro en la base de datos. A las distintas columnas se le asignará un nombre de campo. Con esta estructura básica de base de datos era fácil manipular y actualizar gran cantidad de información. Es fácil distinguir los componentes básicos de una base de datos: Su estructura es descrita por un conjunto de nombres de campos, estos campos pueden ser de varios tipos en función del dato a almacenar (números, fechas, etc) y de longitud definible. Otro componente son los datos propiamente dichos. Los gestores de bases de datos permiten la organización y el tratamiento eficaz de grandes masas de datos proporcionándonos gran variedad de herramientas. DBASE II proporciona un gestor de base de datos de tipo relacional con capacidad para gestionar las bases de datos, interpretar interactivamente instrucciones y ejecutar bloques de sentencias (programas). DBASE II también contribuyó a la filosofía de la programación estructurada, mejoró sus prestaciones y evolucionó en varias versiones (DBASE III, DBASE III+ y DBASE IV). George Tate fallecido tempranamente nunca pudo comprobar la revolución que ocasionaría este producto, aún en constante evolución. El éxito obtenido entre los usuarios de micros, principalmente atraídos por su versatilidad y potencia, y los grandes beneficios producidos en su comercialización, hizo que muchas empresas de software se adhirieran a la idea de desarrollar nuevos productos análogos, una gama de dialectos que hoy se les agrupa con el sobrenombre de entorno xBase (Clipper, Quicksilver, Foxbase, etc). La difusión de estos productos han desbancado a muchos lenguajes de programación, como al Cobol que aunque propicia una fácil lectura de sus fuentes, la programación resulta lenta y laboriosa. En los ochenta, en pleno boom informático DBASE sustituye a muchos lenguajes por la potencia de sus órdenes y facilidad de uso. Por entonces, hubo que estar muy despierto a la hora de seleccionar una herramienta de trabajo con futuro. CLIPPER es un dialecto creado como otros tantos con la intención de mejorar las prestaciones de DBASE. Su primera versión se creó en 1985 en los laboratorios de Natuncket. CLIPPER está escrito en lenguaje C y Ensamblador y se presentó como un lenguaje atrevido que ha dado muchos quebraderos de cabeza en Ashthon−Tate. En el primer contacto que se tiene con él es difícil encontrar muchas diferencias con respecto a DBASE, ya que CLIPPER es un lenguaje formado por un conjunto de comandos y funciones similares a las usadas con DBASE, incluso la mayoría con igual formato sintáctico. Pero no tardaremos demasiado tiempo en percatarnos de las diferencias. La principal de ellas, está en que todos los programas escritos en Clipper pueden compilarse y enlazarse. El resultado obtenido es un fichero ejecutable que puede utilizarse de forma independiente al gestor de base de datos y sin necesidad de incluir módulo runtime. Esto repercute en la velocidad de ejecución de los programas. Muchos programadores recordarán que cuando entregaban un proyecto a un cliente desarrollado en DBASE II o III se veían con la fatalidad de entregar los ficheros fuentes, ya que DBASE lo que hacía era interpretarlos. CLIPPER salvaguardó estos intereses. CLIPPER aportó más comandos y funciones y prescindió de muchos de DBASE. CLIPPER es ahora sin duda el compilador más utilizado en aplicaciones de gestión de datos para microordenadores. La última versión aparecida en el mercado es la CLIPPER 5.01 versión reparada de la CLIPPER 5.0. Hasta el momento, la versión más utilizada quizás por su largo tiempo de vigencia es la 4 CLIPPER SUMMER '87. Anteriores a ésta eran la CLIPPER AUTUMN '86 y la versión de 1985. De todas la versiones detalladas la SUMMER '87 ha sido la más difundida. Muchas aplicaciones se han desarrollado con esta versión, por ello, aún, muchos programadores se resisten al cambio a versiones más actuales. Otras prestaciones de CLIPPER SUMMER '87 a destacar son las siguientes: * Provee un conjunto de funciones para el tratamiento de ficheros en redes de área local. * Permite manejar ficheros de bajo nivel. * Posibilita la creación de funciones de usuarios y agruparlas en librerías. * Permite el uso de arrays unidimensionales. * Proporciona un depurador avanzado. Prolog En Octubre de 1981, el gobierno japonés y más concretamente el Ministerio Japonés de Comercio Internacional e Industria (MITI), anuncia la puesta en marcha de un proyecto revolucionario equiparable a la carrera del espacio norteamericana. Están dispuestos a ofrecer al mundo la siguiente generación, la Quinta Generación de Ordenadores. Unas máquinas de Inteligencia Artificial que pueden pensar, sacar conclusiones, emitir juicios e incluso comprender las palabras escritas y habladas. Con este fin se crea el ICOT (Institute for New Generation Computer Technology) constituido por cuarenta brillantes investigadores de las más importantes empresas, y se les dota con todos los medios necesarios para construir la nueva clase de supercomputadoras. El papel del PROLOG La Quinta Generación prevé máquinas diseñadas para el tratamiento lógico, de capacidades análogas a las capacidades de anteriores generaciones de ordenadores para tratar operaciones aritméticas. Se trata de ordenadores que tienen el PROLOG como lenguaje nativo (lenguaje máquina), con capacidad para procesar millones de inferencias lógicas por segundo (LIPS). Programación Lógica La programación lógica es un paradigma de los lenguajes de programación en el cual los programas se consideran como una serie de aserciones lógicas. De esta forma, el conocimiento se representa mediante reglas, tratándose de sistemas declarativos. Una representación declarativa es aquélla en la que el conocimiento está especificado, pero en la que la manera en que dicho conocimiento debe ser usado no viene dado. El más popular de los sistemas de programación lógica es el PROLOG. Fortran Fortran que originalmente significa Sistema de Traducción de Fórmulas Matemáticas pero se ha abreviado a la FORmula TRANslation, es el más viejo de los establecidos lenguajes de "alto−nivel", fue diseñado por un grupo en IBM durante los años 50 (1950). El idioma se hizo tan popular en los 60s fue cuando otros vendedores empezaron a producir sus propias versiones y esto llevó a una divergencia creciente de dialectos (a través de 1963 había 40 recopiladores diferentes). Fue reconocido que tal divergencia no estaba en los intereses de los usuarios de la computadora o los vendedores de la computadora y para que FORTRAN 66 se volviera el primer idioma en ser regularizado oficialmente en 1972 La publicación de la norma significó que ese Fortran se llevó a cabo más ampliamente que cualquier otro idioma. A mediados de los años setenta se proporcionaron virtualmente cada computadora, mini o mainframe, con un 5 sistema FORTRAN 66 normal. Era por consiguiente posible escribir programas en Fortran en cualquier sistema y estar bastante seguro que éstos pudieran moverse para trabajar en cualquier otro sistema bastante fácil. Esto, y el hecho que pudieran procesarse programas de Fortran muy eficazmente. La definición normal de Fortran se puso al día en 1970 y una nueva norma, ANSI X3.9−1978, fueron publicadas por el Instituto de las Normas Nacional americana. Esta norma era seguida (en 1980) adoptado por la Organización de Normas Internacionales (ISO) como una Norma Internacional (ES 1539: 1980). El idioma es normalmente conocido como FORTRAN 77 (desde que el proyecto final realmente se completó en 1977) y es ahora la versión del idioma en su uso extendido. Muchos rasgos deseables no estaban disponibles, por ejemplo, en FORTRAN 77 es muy difícil de representar datos estructura sucintamente y la falta de cualquier medios del almacenamiento dinámico que todas las series deben tener un tamaño fijo que no puede excederse; estaba claro de una fase muy temprana, más moderno, el idioma necesitó ser desarrollado. El trabajo empezó en los 80s en un idioma conocido como "Fortran 8x". El trabajo tomó 12 años en parte debido al deseo de guardar FORTRAN 77 un subconjunto estricto y también para asegurar esa eficacia, pero el idioma no se compuso. Idiomas como Pascal, ADA y Algol son muy fáciles de usar pero no pueden igualar la eficacia de Fortran. Fortran 90 es un desarrollo mayor del idioma pero no obstante incluye todos los de FORTRAN 77 como un subconjunto estricto y para que cualquier FORTRAN conformando normalmente como el programa del 77 continuará siendo un programa valido en Fortran 90. Muchos hombre han puesto toda su vida en escribir estos programas que, después de tantos años de uso, es muy fiable. Además de las viejas estructuras de FORTRAN 77, Fortran 90 permite expresar los programas de maneras que se satisfacen más a un ambiente de la informática moderna y han quedado obsoletos muchos de los mecanismos que eran apropiados en FORTRAN 77. En Fortran 90 algunos rasgos de FORTRAN 77 han sido reemplazados por rasgos mejores, más seguros y más eficaces, muchos de éstos fueron quitados de la siguiente revisión interina del idioma Fortran 95. Como la norma de Fortran 90 es muy grande y compleja hay (inevitablemente) un número pequeño de ambigüedades y conflictos, las áreas grises. Las tales anomalías a menudo sólo vienen a observarse cuando se desarrollan compiladores. En los últimos años el idioma basado en Fortran 90 conocido como High Performance Fortran (HPF) se ha desarrollado. Este idioma contiene todo de Fortran 90 y también incluye otras extensiones que son muy deseables. Fortran 95 incluirá muchos de los nuevos rasgos de HPF. Java En 1990, la empresa Sun Microsystems, tras el abandono del proyecto NeWS (Network/extensible Window System), decide crear un pequeño grupo de programadores cuyo objetivo es desarrollar un nuevo lenguaje destinado al campo de la electrónica de consumo, especialmente electrodomésticos. Este proyecto se conocía como Green Project. A la cabeza del grupo se encontraba el programador James Goslin. El lenguaje que se desarrolló se denominaba Oak, y sería el precursor de Java. En 1993, tras un fracaso del proyecto, Sun se centra en el desarrollo de sistemas de televisión interactiva y en el lenguaje Oak. En esta época, aparece Mosaic y la World Wide Web comienza su transición al modo gráfico. Patrick Naughton, otro miembro del equipo, pone en libre distribución por la red el lenguaje Oak. Java está a punto de nacer. Se crea la primera aplicación para un ordenador personal, un browser para HTML, que demostraría toda la potencia de este nuevo lenguaje. En el se podría visualizar el primer applet Java que se escribió: Duke, la mascota de Java, agitando la mano. Tras una supuesta estancia en una cafetería, James Goslin estableció el nombre definitivo para el lenguaje: Java, que es café en argot americano y el 23 de Mayo de 1995, Sun Microsystems anuncia formalmente la aparición del nuevo lenguaje de programación Java y de Hot Java, un navegador para éste desarrollado con el mismo lenguaje. 6 Java es, por encima de todo, un lenguaje de programación. Pero sus características le están convirtiendo en la piedra angular de lo que puede ser la gran revolución en el mundo informático: acabar con el dominio de Microsoft y su sistema operativo Windows. El lenguaje Java es un lenguaje lo bastante potente para desarrollar aplicaciones en cualquier ámbito, sin perder de vista que el contexto de Internet donde se ha desarrollado le dota de una potencia adicional. A pesar de que mucha gente pueda creer que Java es un lenguaje para programar en Internet, nada más lejos de la realidad pues es un lenguaje de propósito general con el que se puede escribir desde un applet para una página Web hasta una aplicación financiera en modo texto sin ninguna conexión a Internet. El objetivo principal de Java era conseguir un entorno de desarrollo de software que fuera independiente de la plataforma de ejecución. Visual La programación visual evoluciona al surgir la pregunta de porqué se persiste en comunicarse con las computadoras usando lenguajes de programación textual, si podríamos ser más productivos y el campo de las computadoras estaría mas accesible a una gran cantidad de personas si simplemente dibujaramos las imagenes que nos vienen a la mente cuando consideramos soluciones a algún problema en particular. La mayoría de las personas piensan con dibujos, los lenguajes de programación han sido probados de ser difíciles de aprender efectivamente para muchas personas y algunas aplicaciones como visualización científica y creación simulada han sido buenos para métodos de desarrollo visual. Estas preguntas marcaron la motivación para el estudio de lenguajes de programación visual (VPLs). El campo de la programación visual ha crecido de una unión en trabajos de gráficas de computadoras, lenguajes de programación, e interación de computadora−humano ("human−computer interaction"). Sketchpad, (I.B. Sutherland, 1963) fue la primera aplicación gráfica de computadoras, esta aplicación permitía al usuario trabajar con un lápiz óptico para crear gráficas en 2D. En 1975, surge Pygmalion (D.C. Smith), considerado ser un punto de partida para muchos de los estudios de VPLs. A medida que el campo de los lenguajes de programación visual madura, los intereses han estado enfocados en crear una clasificación estandarizada y robusta para trabajar en esa área. Algunos de los nombres más importantes en este campo Chang, Shu y Burnett trabajaron en identificar y definir las siguientes características de las categorías principales de los lenguajes de programación visual: • Lenguajes puramente visuales Ej. VIPR, Prograph, PICT/D • Texto híbrido y sistemas visuales Ej. Rehearsel World, C2 • Sistemas de programación−por−ejemplos Ej. Pygmalion • Sistemas "constraint−oriented" Ej. ThingLab, ARK • Sistemas "form−based" Ej. Forms/3 Personas que influenciaron la programación: • I.B. Sutherland − desarrollador de la primera aplicación gráfica de computadoras, Sketchpad. • D.C. Smith − desarrollador de Pygmalion. • S.Chang − trabajó en la identificación y definición de las características de las categorías principales de los lenguajes de programación visual. • N.C. Shu − trabajó con S.Chang en las categorías de los VPLs. • M.M. Burnet − Forms/3, también trabajó en las categorías de los VPLs. • Citrin, Doherty y Zorn (1994− present) − desarrollaron la aplicación VIPR (Visual Imperative Programming). • R.B.Smith − desarrollador de ARK (Alternate Reality Kit). • T.Pietryzkowski y P.T. Cox − desarrolladores de Prograph. Historia del desarrollo del lenguaje BASIC y Visual Basic: 7 Basic BASIC (Beginner's All Purpose Symbolic Instruction Code) fue desarrollado en 1964 por John Kemeny y Thomas Kurtz. Fue desarrollado para enseñar a los estudiantes de Dartmouth College a cómo usar computadoras y escribir programas . BASIC se dice ser un lenguaje muy simple de aprender y uno fácil de traducir, además de ser capaz de hacer casi todas las tareas de una computadora desde inventario hasta cálculos matematicós. BASIC incluyó componentes de FORTRAN y ALGOL. El primer BASIC tenía 14 comandos, entre ellos LET, PRINT, GOTO, IF THEN. BASIC era un programa compilado, queriendo decir que las instrucciones era traducidas a lenguaje o código de máquina antes de ser ejecutadas. Para el 1970, existían más de 20 versiones diferentes de BASIC corriendo en computadoras "mainframe" y micro−computadoras. Diez años más tarde, una versión de BASIC fue escrita por Bill Gates y Pauel Allen e incluida en la "Altair", (la primera computadora personal) y luego de tres décadas, BASIC se convirtió el lenguaje programación de computadoras más popular. En adición a las versiónes de BASIC de Microsoft y Eubanks, se escribieron muchas más, incluyendo RadioShack Level 1 BASIC, Apple Ineteger BASIC, RMBASIC, Better BASIC, QuickBASIC, y Professional BASIC. Para mediados de los 1980's, varias cien versiónes de BASIC estaban siendo utilizadas. En 1998, 14 años luego de comenzar esta tarea, el "American National Standards Institute" (ANSI), sometió el Standard BASIC. Hoy día, las versiones de BASIC estan cayendo a un lado, algunas han sido remplazadas con versiones que se unieron a Standard Basic, y nuevas versiones estan influenc iadas por programación orientada a objetos (OOP). OOP crea módulos de data y procedimientos de manipulación. En 1989, en un artículo de la revista BYTE, Bill Gates habla de una nueva versión visual de BASIC, que sería una mezcla de código, objetos "programmer−written", y objetos visualmente específicados. Tres años más tarde, Microsot lanza al mercado Visual BASIC, una versión diseñada específicamente para desarrollar y realzar aplicaciones para Microsoft Windows. Visual Basic Visual BASIC es un producto hecho por Microsoft que permite al una persona crear fácilmente porgramas para Windows muy poderosos y completos, como por ejemplo programas para bases de datos, controles "Active X", y programas cliente/servidor para redes. Microsoft, compañía fundada por Bill Gates, lanza su primera versión de Visual BASIC 1.0 en 1991 (llamada en codigo, "Thunder"). Fue la primera herramienta visual de Microsoft, y estaba supuesta a competir con C, C++, Pasacal y cualquier otro lenguaje de programación bien conocido. No fue existosa, hasta no salir la versión de Visual BASIC 2.0 en 1993 cuando la gente realmente comenzó a descubrir el poder de este lenguaje, y cuando Microsoft lanza la versión VB 3.0 se convirtió en el lenguaje de programación de mayor crecimiento en el mercado. Inmediatamente después de esto, Microsoft recibe pedidos de cientos de vendedores de progamas independientes (ISVs) para licenciarlo para uso de sus propias aplicaciones. En 1997, sale al mercado la versión 5.0 de Visual Basic para Aplicaciones. Ya para abril de 1999, más de 80 aplicaciones "host" de Visual Basic estaban disponibles para que los desarrolladores las adquirieran, permitien do así la creación e integración de soluciones personalizadas con una variedad de componentes horizontales y verticales. "Microsoft Visual Basic for Applications" (VBA) es una tecnología de desarrollo muy poderosa para personalizar aplicaciones enlatadas e integrarlas a sistemas y data existente. COBOL COBOL − Significa: Common Bussiness Oriented Languaje, que quiere decir: Lenguaje comun orientado a negocios. Es un lenguaje de programacion de alto nivel concebido para su aplicacion en la programacion comercial. Nacio en 1959 y utiliza el ingles comun. 8 El lenguaje COBOL fue creado por el grupo CODASYL (Conference On Data Systems Languages) que se encontraba formado por fabricantes de computadoras, empresas privadas y el gobierno. Las versiones de COBOL que han existido han sido en los años de: 1960, 1961, 1963, 1965, 1974 y 1985. Al programar en COBOL hay que seguir algunas reglas: Un programa se encuentra por divisiones, en COBOL hay cuatro divisiones para un programa: IDENTIFICATION DIVISION. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. Todo programa COBOL debe de contar con estas cuatro divisiones declaradas dentro de si. Ademas de esto, el programa se encuentra dividido en margenes: Las columnas 1 a la 6, no podemos usarla, se encuentra reservada, anteriormente se usaba para almacenar el numero de linea del programa. La columna 7, es especial, y se utiliza para dar algunas indicaciones especiales al compilador, la mas usual es: con un asterisco (*) indicamos que la linea es un comentario. Tambien con un guion (−) indicamos que la linea es una continuacion de la anterior. La columna 8 a la 11, en esta parte se utiliza para anotar las divisiones, secciones, nombres de parrafo y declaracion de variables del nivel 01 y 77. La columna 12 a la 72, donde se anontan todas las instrucciones del programa, especificamente de la PROCEDURE DIVISION, y algunas clausulas de la DATA DIVISION. La columna 73 en adelante no se utilizan, y son ignoradas por el compilador. Las columnas 8 a la 11 se conoce como AREA A, y de la 12 a la 72 como AREA B. Las reglas al estar escribiendo un programa son: 1.− Todas las instrucciones van con MAYUSCULAS. 2.− Todas las instrucciones terminan con punto. Reglas para definir un Nombre de Campo: 1.− Puede tener de 1 a 30 caracteres. 2.− Los nombres de campos pueden contener Letras, numeros y guiones, no se permite otro caracter especial en un nombre de campo. Los espacios o blancos intermedios se consideran caracteres especiales, y como tales NO son permitidos. 3.− NO debe empezar o terminar con guiones. 4.− Debe de contener almenos un caracter Alfabetico. 5.− NO debe ser palabra reservada COBOL. Clasificacion de los DATOS 9 Debido a que COBOL es un lenguaje orientado a negocios, su principal funcion sera siempre tratar con archivos de datos. CAMPO DE DATOS Es un grupo consecutivo de posiciones de almacenamiento reservado para una clase especifica de datos. Todo campo de datos tiene un nombre, y un tipo de datos que almacenara, este tipo de datos esta dado por el PICTURE. Los tipos de datos que puede almacenar un CAMPO DE DATOS son: Alfabetico, Numerico y Alfanumerico. Los campos Alfabeticos solo pueden guardar letras de (A−Z) y de (a−z). Los campos numericos pueden guardar solamente numeros del 0 al 9, el punto y el signo de menos (−). Los campos alfanumericos pueden guardar numeros, letras y todos los caracteres especiales que hay. Aun cuando un campo Alfanumerico puede tener numeros, no es posible hacer operaciones matematicas con estos, debido a su naturaleza. Con los unicos que es posible realizar operaciones matematicas son con los campos Numericos. Hay dos tipos de Campos en COBOL, los elementales y los campos Agrupados. El campo Elemental, es aquel que no tiene subdivisiones. El campo Agrupado, es aquel que se encuentra dividido en dos o mas campos. Ejemplo: FECHA YEAR MES DIA En este ejemplo, el campo FECHA es el campo agrupado, y tiene tres subdivisiones: YEAR, MES y DIA. Hay que aclarar por que el campo AÑO se llama YEAR, por que en COBOL la Ñ es un caracter especial, y como tal no es permitido en nombres de campos. El campo agrupado FECHA, se compone de tres campos elementales. En el ejemplo anterior, si necesitaramos usar la fecha completa, usariamos el campo agrupado FECHA, si solo necesitaramos el dato del dia de la fecha, usariamos el campo elemental DIA, y asi con el resto. Ahora bien, si solo tuvieramos un solo campo de datos llamado FECHA: FECHA NO seria posible extraer solo el DIA, el MES o el AÑO, de este dato, ya que la fecha estaria almacenada de manera completa. Esto quiere decir, que un campo elemental es indivisible, y no podemos extraer trozos de informacion de un campo, amenos de que este se encuentre definido. REGISTROS. Ahora bien, un tipo de datos de mayor gerarquia son los Registros, un registro es formado por una serie de 10 Campos agrupados, que contienen informacion de naturaleza especifica. Esto quiere decir, que para formar registros debemos de agrupar los campos segun la naturaleza de su contenido. por ejemplo, un registro de los datos de nuestros clientes: Registro: CLIENTES NOMBRE APELLIDOS DIRECCION TELEFONO Otro ejemplo, podria ser un registro de los datos de Articulos de una tienda: Registro: ARTICULO CODIGO DESCRIPCION EXISTENCIA COSTO ARCHIVO. Es la clasificacion mas amplia de los datos que pertenecen a una categoria especifica. Es un conjunto de registros almacenados y tratados como unidad. Los Registros, una vez que son grabados en disco en un Archivo, puede almacenar 1, 2 hasta n registros, y todos se encuentran grabados en un mismo archivo, por ejemplo el archivo de clientes del registro anterior con 5 registros podira verse de la siguiente manera: Registro: CLIENTES NOMBRE JUAN MIGUEL SERGIO JUAN APELLIDOS MARTINEZ HERNANDEZ PEREZ FRANCISCO DIRECCION HIDALGO 300 FCO. I.MADERO NO 50 MORELOS 202 MORELIA 55 TELEFONO 12−34−56 11−22−33 23−45−85 45−65−52 .NET Microsoft.NET es el conjunto de nuevas tecnologías en las que Microsoft ha estado trabajando durante los últimos años −y cuyo lanzamiento definitivo es inminente, estando ya disponible su primera versión Release Candidate− con los objetivos de: • Mejorar sus sistemas operativos. • Mejorar su modelo de componentes COM+ • Obtener un entorno específicamente diseñado para el desarrollo y ejecución del software en forma de servicios que puedan ser tanto publicados como accedidos a través de Internet de forma independiente del lenguaje de programación, modelo de objetos, sistema operativo y hardware utilizados tanto para desarrollarlos como para publicarlos. Éste entorno es lo que se denomina la plataforma.NET, y los servicios antes mencionados son a los que se denomina servicios web. El corazón de la plataforma.NET es el CLR (Common Language Runtime), que es una aplicación similar a un 11 máquina virtual que se encarga de gestionar la ejecución de las aplicaciones para ella escritas. A estas aplicaciones les ofrece numerosos servicios que facilita su desarrollo y mantenimiento y favorecen su fiabilidad y seguridad. Entre ellos los principales son: • Modelo de programación consistente y sencillo, completamente orientado a objetos. • Eliminación del temido problema de compatibilidad entre DLLs conocido como "infierno de las DLLs" • Ejecución multiplataforma • Ejecución multilenguaje, hasta el punto de que es posible hacer cosas como capturar en un programa escrito en C# una excepción escrita en Visual Basic.NET que a su vez hereda de un tipo de excepción escrita en Cobol.NET. Aunque más arriba se ha dicho que en el .NET Framework sólo se ofrecen compiladores de C#, MC++, VB.NET y JScript.NET, lo cierto es que aparte Microsoft y terceros han −o están− desarrollado versiones adaptadas a .NET de muchísimos otros lenguajes como APL, CAML, Cobol, Eiffel, Fortran, Haskell, Java, Mercury, ML, Mondrian, Oberon, Oz, Pascal, Perl, Python, RPG, Scheme o Smalltalk • Recolección de basura • Aislamente de memoria entre procesos y comprobaciones automáticas de seguridad de tipos en las conversiones • Soporte multihilo • Gestión del acceso a objetos remotos que permite el desarrollo de aplicaciones distribuidas de manera transparente a la ubicación real de cada uno de los objetos utilizados en las mismas. • Seguridad avanzada, hasta el punto de que es posible limitar los permisos de ejecución del código en función de su procedencia (Internet, red local, CD−ROM, etc.), el usuario que lo ejecuta o la empresa que lo creó. • Interoperabilidad con código preexistente, de manera que es posible utilizar con facilidad cualquier librería de funciones u objetos COM y COM+ creados con anterioridad a la aparición de la plataforma .NET • Adecuación automática de la eficiencia de las aplicaciones a las caracterísitcas concretas de cada máquina donde se vaya a ejecutar. ASP ASP (Active Server Pages) es la tecnología desarrollada por Microsoft para la creación de páginas dinámicas del servidor. ASP se escribe en la misma página web, utilizando el lenguaje Visual Basic Script o Jscript (Javascript de Microsoft). Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo antes de que se envíe la página a través de Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la página final que verá el cliente. El cliente solamente recibe una página con el código HTML resultante de la ejecución de la página ASP. Como la página resultante contiene únicamente código HTML, es compatible con todos los navegadores. El tipo de servidores que emplean este lenguaje son, evidentemente, todos aquellos que funcionan con sistema Windows NT, aunque también se puede utilizar en un PC con windows 98 si instalamos un servidor denominado Personal Web Server. Incluso en sistemas Linux podemos utilizar las ASP si instalamos un componente denominado Chilisoft, aunque parece claro que será mejor trabajar sobre el servidor web para el que está pensado: Internet Information Server. Con las ASP podemos realizar muchos tipos de aplicaciones distintas. Nos permite acceso a bases de datos, al sistema de archivos del servidor y en general a todos los recursos que tenga el propio servidor. También tenemos la posibilidad de comprar componentes ActiveX fabricados por distintas empresas de desarrollo de software que sirven para realizar múltiples usos, como el envio de correo, generar gráficas dinámicamente, y 12 un largo etc. Actualmente se ha presentado ya la segunda versión de ASP, el ASP.NET, que comprende algunas mejoras en cuanto a posibilidades del lenguaje y rapidez con la que funciona. ASP.NET tiene algunas diferencias en cuanto a sintaxis con el ASP, de modo que se ha de tratar de distinta manera uno de otro. HTML HTML es el lenguaje con el que se definen las páginas web. Básicamente se trata de un conjunto de etiquetas que sirven para definir la forma en la que presentar el texto y otros elementos de la página. El HTML se creó en un principio con objetivos divulgativos. No se pensó que la web llegara a ser un área de ocio con carácter multimedia, de modo que, el HTML se creó sin dar respuesta a todos los posibles usos que se le iba a dar y a todos los colectivos de gente que lo utilizarían en un futuro. Sin embargo, pese a esta deficiente planificación, si que se han ido incorporando modificaciones con el tiempo, estos son los estándares del HTML. Numerosos estándares se han presentado ya. El HTML 4.01 es el último estándar a febrero de 2001. El HTML es un lenguaje de programación muy fácil de aprender, lo que permite que cualquier persona, aunque no haya programado en la vida pueda enfrentarse a la tarea de crear una web. HTML es fácil y pronto podremos dominar el lenguaje. Más adelante se conseguirán los resultados profesionales gracias a nuestras capacidades para el diseño y nuestra vena artista. Una vez conocemos el concepto de HTML os vamos a adelantar algunas cosas más. Este lenguaje se escribe en un documento de texto, por eso necesitamos un editor de textos para escribir una página web. Así pues, el archivo donde está contenido el código HTML es un archivo de texto, con una peculiaridad, que tiene extensión .html o .htm (es indiferente cuál utilizar). De modo que cuando programemos en HTML lo haremos con un editor de textos, lo más sencillo posible y guardaremos nuestros trabajos con extensión .html, por ejemplo mipagina.html Por adelantar un poco cómo se utiliza el HTML os diremos que el lenguaje consta de etiquetas que tienen esta forma <B> o <P>. Cada etiqueta significa una cosa, por ejemplo <B> significa que se escriba en negrita (bold) o <P> significa un párrafo, <A> es un enlace, etc. Casi todas las etiquetas tienen su correspondiente etiqueta de cierre, que indica que a partir de ese punto no debe de afectar la etiqueta. Por ejemplo </B> se utiliza para indicar que se deje de escribir en negrita. Así que el HTML no es más que una serie de etiquetas que se utilizan para definir la forma o estilo que queremos aplicar a nuestro documento. <B>Esto está en negrita</B>. Javascript Javascript es un lenguaje de programación utilizado para crear pequeños programitas encargados de realizar acciones dentro del ámbito de una página web. 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. Con Javascript podemos crear efectos especiales en las páginas y definir interactividades con el usuario. El navegador del cliente es el encargado de interpretar las instrucciones Javascript y ejecutarlas para realizar estos efectos e interactividades, de modo que el mayor recurso, y tal vez el único, con que cuenta este lenguaje es el propio navegador. 13 Javascript es el siguiente paso, después del HTML, que puede dar un programador de la web que decida mejorar sus páginas y la potencia de sus proyectos. Es un lenguaje de programación bastante sencillo y pensado para hacer las cosas con rapidez, a veces con ligereza. Incluso las personas que no tengan una experiencia previa en la programación podrán aprender este lenguaje con facilidad y utilizarlo en toda su potencia con sólo un poco de práctica. Entre las acciones típicas que se pueden realizar en Javascript tenemos dos vertientes. Por un lado los efectos especiales sobre páginas web, para crear contenidos dinámicos y elementos de la página que tengan movimiento, cambien de color o cualquier otro dinamismo. Por el otro, javascript nos permite ejecutar instrucciones como respuesta a las acciones del usuario, con lo que podemos crear páginas interactivas con programas como calculadoras, agendas, o tablas de cálculo. Javascript es un lenguaje con muchas posibilidades, permite la programación de pequeños scripts, pero también de programas más grandes, orientados a objetos, con funciones, estructuras de datos complejas, etc. Además, Javascript pone a disposición del programador todos los elementos que forman la página web, para que éste pueda acceder a ellos y modificarlos dinámicamente. Con Javascript el programador, que se convierte en el verdadero dueño y controlador de cada cosa que ocurre en la página cuando la está visualizando el cliente. PHP PHP es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del lado del servidor gratuito e independiente de plataforma, rápido, con una gran librería de funciones y mucha documentación. Un lenguaje del lado del servidor es aquel que se ejecuta en el servidor web, justo antes de que se envíe la página a través de Internet al cliente. Las páginas que se ejecutan en el servidor pueden realizar accesos a bases de datos, conexiones en red, y otras tareas para crear la página final que verá el cliente. El cliente solamente recibe una página con el código HTML resultante de la ejecución de la PHP. Como la página resultante contiene únicamente código HTML, es compatible con todos los navegadores. Podemos saber algo más sobre la programación del servidor y del cliente en el artículo qué es DHTML. 14 Esquema del funcionamiento de las páginas PHP. Una vez que ya conocemos el concepto de lenguaje de programación de scripts del lado del servidor podemos hablar de PHP. PHP se escribe dentro del código HTML, lo que lo hace realmente fácil de utilizar, al igual que ocurre con el popular ASP de Microsoft, pero con algunas ventajas como su gratuidad, independencia de plataforma, rapidez y seguridad. Cualquiera puede descargar a través de la página principal de PHP www.php.net y de manera gratuita, un módulo que hace que nuestro servidor web comprenda los scripts realizados en este lenguaje. Es independiente de plataforma, puesto que existe un módulo de PHP para casi cualquier servidor web. Esto hace que cualquier sistema pueda ser compatible con el lenguaje y significa una ventaja importante, ya que permite portar el sitio desarrollado en PHP de un sistema a otro sin prácticamente ningún trabajo. PHP, en el caso de estar montado sobre un servidor Linux u Unix, es más rápido que ASP, dado que se ejecuta en un único espacio de memoria y esto evita las comunicaciones entre componentes COM que se realizan entre todas las tecnologías implicadas en una página ASP. Por último señalábamos la seguridad, en este punto también es importante el hecho de que en muchas ocasiones PHP se encuentra instalado sobre servidores Unix o Linux, que son de sobra conocidos como más veloces y seguros que el sistema operativo donde se ejecuta las ASP, Windows NT o 2000. Además, PHP permite configurar el servidor de modo que se permita o rechacen diferentes usos, lo que puede hacer al lenguaje más o menos seguro dependiendo de las necesidades de cada cual. Fue creado originalmente en 1994 por Rasmus Lerdorf, pero como PHP está desarrollado en política de código abierto, a lo largo de su historia ha tenido muchas contribuciones de otros desarrolladores. Actualmente PHP se encuentra en su versión 4, que utiliza el motor Zend, desarrollado con mayor meditación para cubrir las necesidades de las aplicaciones web actuales. 15 Este lenguaje de programación está preparado para realizar muchos tipos de aplicaciones web gracias a la extensa librería de funciones con la que está dotado. La librería de funciones cubre desde cálculos matemáticos complejos hasta tratamiento de conexiones de red, por poner dos ejemplos. Algunas de las más importantes capacidades de PHP son: compatibilidad con las bases de datos más comunes, como MySQL, mSQL, Oracle, Informix, y ODBC, por ejemplo. Incluye funciones para el envío de correo electrónico, upload de archivos, crear dinámicamente en el servidor imágenes en formato GIF, incluso animadas y una lista interminable de utilidades adicionales. PASCAL El lenguaje Pascal se creó en la década de los 70 con el objetivo de disponer de un lenguaje de programación de alto nivel y propósito general (se utiliza para gran diversidad de aplicaciones) orientado hacia los nuevos conceptos de programación, desarrollado por el profesor suizo Niklaus Wirth como un lenguaje para la enseñar la programación de modo disciplinado, fácil de aprender y con la complejidad suficiente para permitir una correcta preparación de los programadores futuros. Una versión preliminar del lenguaje apareció en 1968 y el primer compilador totalmente completo apareció a finales de 1970 (compilador: programa que hace posible la traducción de un lenguaje de programación al medio que solo entiende el ordenador). Desde entonces muchos compiladores han sido construidos y están disponibles para diferentes máquinas. De entre todas ellas Turbo Pascal es sin duda la versión más importante entre los compiladores desarrollados, ofreciéndonos un entorno operativo de programación en la que se integran el mismo editor de programa, el compilador y un interprete, perfectamente desarrollado para desarrollar programas en Pascal. El lenguaje estándar presenta una serie de características que lo hacen el lenguaje perfecto para aquellas personas iniciadas en la programación: • Excelente para el aprendizaje de la programación. • Lenguaje de propósito general, es decir, se puede aplicar a gran diversidad de aplicaciones. • Utilización de procedimiento (programación modular). • Lenguaje estructurado, se utilizan secuencias de control de bifurcación y bucles(if, for, while, repeat) sin necesidad de la famosa instrucción GOTO tan utilizada en muchos lenguajes como BASIC. • Soporta la recursividad, es decir, propiedad que tienen los procedimienrtos para llamarse a sí mismo. • Tipo de datos simples y estructurado, así como definidos por el usuario. • Posibilidad de trabajar con punteros (variables dinámicas), de este modo permite definir nuestras propias estructuras de datos dinámicas (lista, pilas, colas, extc). Todas estas características del lenguaje de Pascal se ven favorecidas con la utilización de Turbo Pascal 7.0 (última versión), que aunque trabaja bajo entorno de MS−DOS es la perfecta herramienta para la programación en este lenguaje, bajo un entorno gráfico potente, fácil e idóneo para el aprendizaje de profesionales o aficionados a la programación. SQL Las aplicaciones en red son cada día más numerosas y versátiles. En muchos casos, el esquema básico de operación es una serie de scripts que rigen el comportamiento de una base de datos. Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sería realmente complicada a gestionar de no ser por la existencia de estándares que nos permiten el realizar las operaciones básicas de una forma universal. 16 Es de eso de lo que trata el Structured Query Language que no es mas que un lenguaje estándar de comunicación con bases de datos. Hablamos por tanto de un lenguaje normalizado que nos permite trabajar con cualquier tipo de lenguaje (ASP o PHP) en combinación con cualquier tipo de base de datos (MS Access, SQL Server, MySQL...). El hecho de que sea estándar no quiere decir que sea idéntico para cada base de datos. En efecto, determinadas bases de datos implementan funciones específicas que no tienen necesariamente que funcionar en otras. Aparte de esta universalidad, el SQL posee otras dos características muy apreciadas. Por una parte, presenta una potencia y versatilidad notables que contrasta, por otra, con su accesibilidad de aprendizaje. Visual Basic Script Es un lenguaje de programación de scripts del lado del cliente, pero sólo compatible con Internet Explorer. Es por ello que su utilización está desaconsejada a favor de Javascript. Está basado en Visual Basic, un popular lenguaje para crear aplicaciones Windows. Tanto su sintaxis como la manera de trabajar están muy inspirados en él. Sin embargo, no todo lo que se puede hacer en Visual Basic lo podremos hacer en Visual Basic Script, pues este último es una versión reducida del primero. El modo de funcionamiento de Visual Basic Script para construir efectos especiales en páginas web es muy similar al utilizado en Javascript y los recursos a los que se puede acceder también son los mismos: el navegador. Como decimos, no debemos utilizar este lenguaje en la mayoría de las ocasiones, aunque un caso donde tendría sentido utilizar Visual Basic Script sería la construcción de una Intranet donde sepamos con toda seguridad que los navegadores que se van a conectar serán siempre Internet Explorer. En este caso, un programador habitual de Visual Basic tendría más facilidades para realizar los scripts utilizando Visual Basic Script en lugar de Javascript. Nota: El popular ASP (Active Server Pages) es una tecnología de programación del lado del servidor. Habitualmente, los scripts ASP se escriben con Visual Basic Script también y eso no nos debe liar. Visual Basic Script, por tanto, es un lenguaje que se puede utilizar para la programación en el cliente, pero también para la programación en el servidor. Estos fueron los lenguajes de programación. Espero que halla sido una buena información. 17