TU ANUNCIO / YOUR PUBLICITY

AQUÍ PODRÍA ESTAR TU ANUNCIO: / HERE COULD BE YOUR AD E-mail

jueves, 22 de enero de 2015

Optimized GIS for linear projects VIII (Programming languages))/ SIG optimizado para obras lineales VIII (Lenguajes de programación)

Previamente: / Previously:

Optimization methodology to be applied for the creation of geographic information systems for linear projects VII
Optimización de la metodología a aplicar para la creación de sistemas de información geográfica para obras lineales VII


Índice Index

1.- Introducción
   1.1.- Situación actual
   1.2.- Problemática detectada y justificación del trabajo
   1.3.- Objetivos
   1.4.- Estructura del estudio
2.- Estado del conocimiento
   2.1.- La topografía en la obra lineal
      2.1.1.- Elementos básicos de documentación topográfica
      2.1.2.- Composición de los elementos básicos del trazado
      2.1.3.- Software habitual para definición de trazados en obras lineales
   2.2.- Formatos de dibujo
      2.2.1.- El formato dxf
      2.2.2.- El formato vml
      2.2.3.- El formato svg
      2.2.4.- El formato dwg
   2.3.- La información documentada de obra
   2.4.- Sistemas de información geográfica
      2.4.1.- Revisión de programas de gis estándar
      2.4.2.- Revisión de programas de gis que no siguen los estándares
   2.5.- Tipos de lenguajes de programación
      2.5.1.- Lenguajes de bajo nivel
      2.5.2.- Lenguajes de nivel medio
      2.5.3.- Lenguajes de alto nivel
   2.6.- Tipos de bases de datos
      2.6.1.- Sql, la comunicación entre bases de datos relacionales
   2.7.- Los sistemas de representación gráfica tradicionales
   2.8.- Normativa aplicable
3.- Solución propuesta
   3.1.- Lectura de elementos topográficos: trazado y estructuras
      3.1.1.- Elementos topográficos del trazado: eje
      3.1.2.- Elementos topográficos del trazado: terreno
      3.1.3.- Elementos topográficos del trazado: plataforma
      3.1.4.- Elementos topográficos anejos al trazado: las estructuras
   3.2.- Lectura de bases de datos
      3.2.1.- Bases de datos de ensayos e inspección
         3.2.1.1.- Bases de datos de ensayos, suelos
         3.2.1.2.- Bases de datos de ensayos, densidades
         3.2.1.3.- Bases de datos de ensayos, mezclas bituminosas
         3.2.1.4.- Bases de datos de ensayos, hormigones
         3.2.1.5.- Bases de datos de inspección, control
         3.2.1.6.- Bases de datos de inspección, diario
         3.2.2.- Bases de datos extras
         3.2.2.1.- Bases de datos extras, fotos
         3.2.2.2.- Bases de datos extras, definición de estructuras
         3.2.2.3.- Bases de datos extras, definición de la capa de firme
         3.2.2.4.- Bases de datos extras, localización extra
    3.3.- El dibujo del trazado
        3.3.1.- El dibujo en planta
        3.3.2.- El dibujo en perspectiva
            3.3.2.1.- El dibujo con superficies planas
            3.3.2.2.- El dibujo en el navegador
    3.4.- La unión del trazado con las bases de datos
        3.4.1.- La unión de las estructuras al trazado
        3.4.2.- La unión de los ensayos de suelos al trazado
        3.4.3.- La unión de los ensayos de densidades al trazado
        3.4.4.- La unión de los ensayos de hormigones al trazado
        3.4.5.- La unión de los ensayos de firmes al trazado
        3.4.6.- La unión de los inspecciones de control al trazado
        3.4.7.- La unión del diario al trazado
        3.4.8.- La unión de la documentación fotográfica al trazado
    3.5.- La unión de la documentación y otras inspecciones
        3.5.1.- La unión pasiva
        3.5.2.- La unión activa
    3.6.- Base matemática novedosa utilizada
        3.6.1.- Pseudo-bases de datos
        3.6.2.- Redes de taylor multidimensionales
        3.6.3.- Sintegrales
    3.7.- Consultas a la información a través de formularios
        3.7.1.- Formularios de ensayos de suelos
        3.7.2.- Formularios de ensayos de densidades
        3.7.3.- Formularios de ensayos de hormigones
        3.7.4.- Formularios de ensayos de firmes
        3.7.5.- Formulario de inspecciones, control
        3.7.6.- Formulario de inspecciones, diario
        3.7.7.- Formulario de inspecciones, fotos
        3.7.8.- Formulario de seguimiento en dxf y kml
    3.8.- Resultados finales
4.- Conclusiones, futuras lineas de trabajo
5.- Bibliografía


2.5.- TIPOS DE LENGUAJES DE PROGRAMACIÓN / TYPES OF PROGRAMMING LANGUAGES


Visto el rumbo que llevaba esta investigación se hacía indispensable conocer los lenguajes de programación disponibles para evaluar las ventajas e inconvenientes derivados de la utilización de cada uno de ellos antes de empezar a programar.


Tantos dispositivos en tan diferentes sistemas operativos internos amplían enormemente la variedad de lenguajes de programación y es fundamental un análisis previo para la elección del más adecuado para nuestras ambiciones.

Seen wearing course this research was essential to know the programming languages available to assess the advantages and disadvantages of using each of them before you start coding.

Many devices as various internal operating systems greatly expand the variety of programming languages and prior analysis is essential for choosing the most suitable for our ambitions.

2.5.1.- LENGUAJES DE BAJO NIVEL / LOW LEVEL LANGUAGES


    * Código máquina
    * Ensamblador

Este tipo de programación está orientada a dispositivos electrónicos, y procesadores PIC o similares. Dentro del ámbito de la realización de un SIG dedicado al control de calidad en obras civiles, no resultarían aconsejables ni posibles en multitud de casos. Si se utilizara algún dispositivo electrónico de toma de datos para su posterior utilización integrada en un SIG habría que volver a replantearse esta cuestión en la particularización de tal dispositivo, como lo es el caso de los procesadores PIC, BasicX, etc.

     * Machine Code
     * Assembler

This type of programming is geared to electronic devices, and PIC or similar processors. Within the scope of the embodiment of an MIS dedicated to quality control in civil works, might not be advisable or possible in many cases. If any electronic device data collection for later integrated into a GIS should be reconsidered this issue in the particularization use of such a device is used, as is the case of the PIC, BasicX processors, etc.

2.5.2.- LENGUAJES DE NIVEL MEDIO / STANDARD LEVEL LANGUAGES


En 1954, Backus comenzó a trabajar en un lenguaje que permitiese escribir fórmulas matemáticas de manera que se pudiese traducir a lenguaje máquina. Era la primera versión de FORTRAN (FORmulae TRANslator), el primer lenguaje de “alto nivel” (hasta hace 10 años, los lenguajes de medio nivel estaban incluidos en los de alto nivel). Este lenguaje permitió un ahorro  considerable de tiempo de programación.

A partir de ahí aparecieron otros lenguajes como COBOL y otras versiones de FORTRAN

En los años sesenta se esperaban grandes avances. En 1968, Dijkstra, en un célebre artículo, desarrolló lo que se llamaría la “crisis del software” debido a las cadencias del software en cuanto a eficacia, legibilidad, fiabilidad, adaptabilidad y transportabilidad. A partir de entonces comenzaron a desarrollarse los lenguajes de alto nivel y la propia actividad de programar. De todas estas ideas surgieron multitud de métodos, lenguajes y sistemas operativos. Uno de ellos fue el lenguaje C, cuyo desarrollo llevó hasta la programación de un sistema operativo.

Aunque no se utilice en nuestra tesis es importante conocerlo ya que la sintaxis de C se repite e identifica en muchos aspectos en javascript y  PHP. Este tipo de lenguaje resulta muy útil en cuanto a que una vez compilado multiplica por 1000 la velocidad de proceso.

La excepción sería para el caso de necesitar realizar una serie de operaciones con demasiados bucles, ya que podría programarse el comando al que referirse desde nuestro lenguaje de alto nivel.

In 1954, Backus began working in a language that would allow write mathematical formulas so that they could translate into machine language. It was the first version of FORTRAN (formulas TRANslation), the first language of "high level" (until 10 years ago, mid-level languages were included in the high level). This language allowed a considerable saving programming time.

From there appeared other languages such as COBOL and other versions of FORTRAN

In the sixties breakthroughs were expected. In 1968, Dijkstra, in a famous article, developed what the "software crisis" would be called due to the cadences of software in terms of efficiency, readability, reliability, adaptability and portability. Since then began to develop the high-level languages and the activity of programming. Of all these ideas multitude of methods, languages and operating systems emerged. One was the C language, whose development led to the scheduling of an operating system.

Although not used in our thesis is important to know because the syntax of C is repeated and identifies in many ways in javascript and PHP. This kind of language is useful in that once compiled multiplied by 1000 the processing speed.

The exception would be if you need to perform a series of operations with too many loops as it could program the command to which reference from our high level language.

2.5.3.- LENGUAJES DE ALTO NIVEL / HIGH-LEVEL LANGUAGES


    * ADA

Es él ultimo intento de obtener un único lenguaje para todo tipo de aplicaciones, e incluso los últimos avances de técnicas de programación. Su diseño fue encargado por el Departamento de Defensa de Estados Unidos, para su uso en servicios militares, a la empresa Honeywell−Bull después de una selección rigurosa entre varias propuestas realizadas sobre una serie de requerimientos del lenguaje y de haber evaluado negativamente veintitrés lenguajes existentes. De estos, se seleccionaron como base para la creación del nuevo lenguaje el PASCAL, el ALGOL y el PL/I. La estandarización 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 características del lenguaje se encuentran la compilación separada, los tipos abstractos de datos, programación concurrente, programación estructurada, libertad de formatos de escritura, etc. Como principal inconveniente presenta su gran extensión. Los escritores lo llamaron inflexible e ineficiente, en tanto que sus favorecedores lo consideraban un gran avance en la tecnología del software.

Is he last attempt to obtain a single language for all applications, and even the latest programming techniques. Its design was commissioned by the Department of Defense United States, for use in military, a Honeywell-Bull after a rigorous selection among several proposals made on a number of requirements of language and having evaluated negatively twenty existing languages . Of these, we selected as the basis for the creation of new language Pascal, ALGOL and PL / I. The standardization of language was published in 1983 under the name of ADA, in honor of the considered first programmer in history, Augusta Ada Byron, Countess of Lovelace. Among the features of language are separate compilation, abstract data types, concurrent programming, structured programming, freedom of writing formats, etc. As the main drawback is its large size. The writers called him inflexible and inefficient, while its patrons was considered a breakthrough in software technology.

    * ALGOL

El ALGOL (ALGOritmic Language) fue presentado en 1958. Fue el primer lenguaje de programación de proceso estructurado de alto nivel. Fue orientado al uso de quienes participan en proyectos científicos y matemáticos. Un grupo internacional de matemáticos europeos y americanos, pretendían crear un lenguaje común normalizado que les permitiera el intercambio de algoritmos, aunque esta en desuso, fue el primero que incorporo conceptos claves para la programación actual.

Algol (ALGOritmic Language) was introduced in 1958. It was the first programming language for high-level structured process. It was oriented to the use of those engaged in scientific and mathematical projects. An international group of European and American mathematicians, sought to create a common standardized language to allow them to exchange algorithms, although this into disuse, was the first to incorporate key concepts for the current programming.

    * COBOL

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 estándar fue aprobado por el ANSI en 1968. Posteriormente, en 1974, se adopta la norma ANS X3.23−1974, que ha perdurado hasta su ultima versión, COBOL ANS−85, que facilita el diseño estructurado de los programas.

Sus características más destacables son las siguientes: se asemeja al lenguaje natural (inglés), es autodocumentado y ofrece grandes facilidades en el manejo de archivos, así como en la edición de informes escritos. Puede emplear términos comúnmente utilizados en los negocios. Entre sus inconvenientes están sus rígidas reglas de formatos de escritura, la necesidad de escribir todos los elementos al máximo detalle, la extensión excesiva en sus sentencias, e incluso duplicación en algunos casos, y la inexistencia de funciones matemáticas.

Created in 1960 by a committee called CODASYL (Conference on Data Systems Languages), sponsored by the Department of Defense United States, in order to have a universal language for business applications, as its name implies (COmmnon Business Oriented Language). Throughout its existence it has undergone several updates. His first standard was approved by ANSI in 1968. Later, in 1974, ANS standard X3.23-1974 that has lasted until his latest, ANS COBOL-85, which facilitates structured program design is adopted.

Its main features are: it resembles the natural language (English), is self-documenting and offers great facilities in managing archives and in the edition of written reports. You can use terms commonly used in business. Among its disadvantages are its rigid rules of writing formats, the need to write all the elements in fine detail, the overextension in its judgments, even doubling in some cases, and the lack of mathematical functions.

    * C++, C#

El lenguaje C fue desarrollado en 1972 por Dennis Ritchie en un proyecto patrocinado por los laboratorios Bell, El desarrollo se basó en un lenguaje anterior, el B. escrito por Ben Thompson en 1970 para el primer sistema operativo UNIX, como herramienta para escribir compiladores.

El C++, es una extensión del lenguaje C, diseñada por Bjarne Stroustrup de los laboratorios At&T. La contribución más importante es la constitución de clases, que permiten agrupar funciones y datos en un mismo tipo.  La noción de clase surgió del lenguaje SIMULA (finales de los sesenta). Las variables creadas a partir de estas clases se denominan objetos y la programación con ellos se denominaría “programación orientada a objetos” (OOP, Object Oriented Programming). De esta forma, las clases son el eje central de la programación orientada a objetos.

Este punto es muy importante ya que todos los lenguajes de alto nivel comparte esta dualidad clase/objeto y será una constante en cualquier programación de alto nivel (Antonio Matas, 1995).

Durante muchos años no existieron reglas estándar para el lenguaje, pero en 1983 se decide formar un comité con el objetivo de crear el estándar ANSI (Instituto Nacional Americano de Estándares). El proceso duro seis años y a principios de los 90, el estándar es reconocido por la ISO (Organización Internacional de Estándares) y comienza a comercializarse con el nombre ANSI C.

Debido al éxito del lenguaje, en 1990 se reúnen las organizaciones ANSI e ISO para definir un estándar que formalice el lenguaje. El proceso culmina en 1998 con la aprobación del ANSI C++.

The C language was developed in 1972 by Dennis Ritchie on a project sponsored by Bell Laboratories, The development was based on an earlier language, written by Ben B. Thompson in 1970 for the first UNIX operating system as a tool for writing compilers.

The C ++ is an extension of the C language, designed by Bjarne Stroustrup of AT & T Labs. The most important contribution is the establishment of classes that allow you to group functions and data in the same type. The notion of class emerged from SIMULA language (late sixties). The variables created from these classes are called objects and programming with them "OOP" (OOP, Object Oriented Programming) be called. Thus, classes are the core of object-oriented programming.

This point is very important because all high-level languages share this duality class / object and be a constant in any high-level programming (Antonio Matas, 1995).

For many years there were no standard rules for the language, but in 1983 decided to form a committee with the goal of creating the standard ANSI (American National Standards Institute). The hard six years and early 90 process, the standard is recognized by the ISO (International Standards Organization) and begins to be marketed under the name ANSI C.

Due to the success of language, ANSI and ISO 1990 organizations meet to define a standard that formalizes the language. The process culminated in 1998 with the approval of ANSI C ++.

El lenguaje C#, desarrollado por Microsoft por un equipo dirigido por Andres Helsberj y Scott Wiltamuth, se diseñó específicamente para la plataforma .Net como un lenguaje que permitiera a los programadores migrar con facilidad hacia .Net. Tiene sus raíces en Java, C y C++; adapta las mejores características de cada uno de estos lenguajes y agrega características propias. C# está orientado a objetos y contiene una poderosa biblioteca de clases (FCL por sus siglas en Ingles; FrameWork Class Library), mejor conocida como Biblioteca de Clases de Framework, que consta de componentes preconstruidos que permiten a los programadores desarrollar aplicaciones con rapidez, además este lenguaje es apropiado para desarrollar aplicaciones de escritorio (Windows Forms), así como Smart Clients, Aplicaciones Web (ASP .Net), Aplicaciones Móviles, entre otras.

C# es un lenguaje de programación visual controlado por eventos, en el cual se crean programas mediante el uso de un Entorno de Desarrollo Integrado (IDE, Integrated Development Environment). Con un IDE un programador puede crear, ejecutar, probar y depurar programas en C#, con lo cual se reduce el tiempo requerido para producir  un programa funcional en una fracción del tiempo que llevaría sin utilizar el IDE. La plataforma .Net permite la interoperabilidad de los lenguajes: los componentes de software de distintos lenguajes pueden interactuar  como nunca antes se había hecho. Los desarrolladores pueden empaquetar incluso hasta el software antiguo para que trabaje con nuevos programas en C#. Además, las aplicaciones en C# pueden  interactuar a través de Internet mediante el uso de estándares industriales de comunicación como XML (eXtensible Markup Language) o el SOAP (Simple Object Access Protocol).

The C # language developed by Microsoft by a team led by Andres Helsberj and Scott Wiltamuth, was designed specifically for the .Net platform as a language that allows programmers to easily migrate to .Net. It is rooted in Java, C and C ++; adapts the best features of each of these languages and adds characteristics. C # is object-oriented and contains a powerful class library (FCL for its acronym in English; FrameWork Class Library), better known as Class Library Framework, which consists of pre-built components that allow programmers to develop applications quickly, plus this language is appropriate to develop desktop applications (Windows Forms) and Smart Clients, web Applications (ASP .Net), Mobile Applications, among others.

C # is a visual programming language controlled by events, in which programs are created using an Integrated Development Environment (IDE, Integrated Development Environment). With an IDE a developer can create, run, test and debug programs in C #, so that the time required to produce a functional program at a fraction of the time it would take without using the IDE is reduced. The .Net platform enables interoperability of languages: the software components of different languages can interact like never before been done. Developers can pack even the old software to work with new programs in C #. In addition, applications in C # can interact via the Internet using industrial communication standards like XML (eXtensible Markup Language) and SOAP (Simple Object Access Protocol).

    * Delphi 

Delphi es un entorno visual de desarrollo general. Delphi utiliza un versión de Pascal denominada Object Pascal. Es producido por CodeGear. Permite producir archivos ejecutables para Windows, GNU/Linux y la plataforma .NET.

Delphi is a visual development environment generally. Delphi uses a version of Pascal called Object Pascal. It is produced by CodeGear. Allows produce executable files for Windows, GNU / Linux and the .NET platform.

    * Java

Java surge en 1991 cuando un grupo de ingenieros de Sun Microsystems trataron de diseñar un lenguaje de programación destinado a electrodomésticos. La reducida memoria y potencia de cálculo de éstos llevó a desarrollar un lenguaje sencillo.

Debido a la existencia de diferentes CPUs y a los continuos cambios, era importante conseguir una herramienta independiente de la CPU. Desarrollaron pues un código independiente de dispositivo que se ejecutaba en una “máquina virtual” denominada Java Virtual Machine (JVM). Lo más curioso es que ninguna empresa de electrodomésticos se interesara por ello.

Java se introdujo a finales de 1.995. Se incorporó en la versión 2.0 de Netscape Navigator.

La programación en Java nunca parte desde cero ya que cualquier aplicación se apoya en una gran cantidad de clases preexistentes. El principal objeto del lenguaje Java es llegar a ser el“nexo universal” que conecte a los usuarios con la información independientemente de donde esté localizada.

Entre noviembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia GNU GPL, de acuerdo con las especificaciones del Java Community Process, de tal forma que prácticamente todo el Java de Sun es ahora software libre (aunque la biblioteca de clases de Sun que se requiere para ejecutar los programas Java aún no lo es).

Java emerged in 1991 when a group of engineers from Sun Microsystems tried to design a programming language designed to appliances. The reduced memory and computing power of these led to develop a simple language.

Due to the existence of different CPUs and continuous change, it was important to get an independent tool CPU. Therefore developed a device independent code that ran on a "virtual machine" called Java Virtual Machine (JVM). The strange thing is that no appliance company was interested in it.

Java was introduced in late 1995. He joined in version 2.0 of Netscape Navigator.

Programming in Java never part from scratch since any application is supported by a large number of existing classes. The main object of the Java language is becoming the "universal nexus" that connect users with information regardless of where it is located.

Between November 2006 and May 2007, Sun Microsystems released most of their Java technologies under the GNU GPL, according to the specifications of the Java Community Process, so that virtually all Sun Java software is now free (although the Sun class library that is required to run Java programs still is not).

    * Lisp

En informática, acrónimo de List Processing. Un lenguaje de programación para ordenadores o computadoras orientado a la generación de listas, desarrollado en 1959−1960 por John McCarthy y usado principalmente para manipular listas de datos o de símbolos. 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 expresión es una lista de llamadas a funciones.

In computing, acronym for List Processing. A programming language for computers or computers oriented list generation, developed in 1959-1960 by John McCarthy and used primarily to manipulate lists of data or symbols. The LISP was a radical change from procedural languages (FORTRAN, ALGOL) that were developed by then. The LISP is an interpreted language, in which each expression is a list of function calls.

    * Logo

En informática, lenguaje de programación de ordenadores o computadoras, desarrollado en 1968 por Seymour Papert en el MIT, que se usa frecuentemente en la enseñanza de lenguaje de programación a niños. Una característica importante de Logo son los gráficos 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 empieza a descubrir las características más sofisticadas del lenguaje, que están basadas fundamentalmente en el lenguaje de programación LISP. Logo está considerado como un lenguaje para la formación, a pesar de que algunas empresas intentaron que tuviera una mayor aceptación en los círculos profesionales de programación.

In computer science, computer programming language or computers, developed in 1968 by Seymour Papert at MIT, which is frequently used in teaching programming language for children. An important feature of Logo are turtle graphics that allow the programmer to make simple drawings directing the movements of the turtle on the screen forward, right or left. Once you master the simple setting of the drawing, the programmer begins to discover the most sophisticated language features, which are based primarily on the LISP programming language. Logo is considered as a language for training, although some companies tried that has greater acceptance in professional circles programming.

    * Modula

El lenguaje MODULA fue diseñado en 1977 bajo la dirección de Nicklaus Wirth, creador también el lenguaje PASCAL, con la intención de incluir las necesidades de la programación de sistemas y dar respuestas a las criticas recibidas respecto de las carencias del lenguaje PASCAL. En 1979 se realiza una versión que pasa a denominarse MODULA−2 y que perdura en la actualidad. Además de incluir las características de su predecesor, este nuevo lenguaje incorpora las principales carencias de aquel, como la posibilidad de compilación separada, creación de librerías, programación concurrente, mejora el manejo de cadenas de caracteres, los procedimientos de entrada/salida y la gestión de la memoria, etc. además, posee grandes facilidades para la programación de sistemas. También, debido a sus cualidades didácticas, ha sido ampliamente aceptado por la comunidad universitaria como herramienta idónea para la enseñanza de la programación.

The Modula language was designed in 1977 under the direction of Nicklaus Wirth, creator also the language PASCAL, with the intention to include the needs of programming systems and to respond to the criticisms received regarding the shortcomings of the PASCAL language. In 1979, a now called Modula-2 and endures today version is performed. In addition to including the features of its predecessor, this new language incorporates the main shortcomings of that, as the possibility of separate compilation, library creation, concurrent programming, improves handling of strings, procedures / O and management memory, etc. also has great facilities for systems programming. Also, due to their didactic qualities, has been widely accepted by the university community as a suitable tool for teaching programming.

    * PASCAL 

Fue creado por el matemático suizo Nicklaus Wirth en 1970, basándose en el lenguaje ALGOL, en cuyo diseño había participado en los años sesenta. Su nombre proviene del filosofo y matemático francés del siglo XVII, Blaise Pascal, que invento la primera maquina tipo mecánico para sumar.

Fue el primer gran lenguaje creado después de haber sido ampliamente diseminados los conceptos asociados con la programación estructurada. Aunque en principio la idea del diseñador era proporcionar un lenguaje adecuado para la enseñanza de los conceptos y técnicas de programación, con el tiempo ha llegado a ser un lenguaje ampliamente utilizado en todo tipo de aplicaciones, que posee grandes facilidades para la programación de sistemas y diseño gráfico. Aporta los conceptos de tipo de datos, programación estructurada y diseño descendente, entre otros, además de haberse convertido en predecesor de otros lenguajes más modernos, como MODULA−2 y ADA. Evolucionará a Delphi desde el TurboPASCAL.

It was created by the mathematician Nicklaus Wirth in 1970, based on the ALGOL language, whose design had participated in the sixties. Its name comes from the French philosopher and mathematician of the seventeenth century, Blaise Pascal, who invented the first mechanical adding machine for.

It was the first major language created after being widely disseminated the concepts associated with structured programming. Although in principle the designer's idea was to provide a suitable language for teaching programming concepts and techniques over time has become a language widely used in all applications, it has great facilities for system programming and graphic design. Brings the concepts of data types, structured programming and top-down design, among others, besides predecessor have become more modern languages such as Modula-2 and ADA. It will evolve from the TurboPascal Delphi.

    * RPG

Report Program Operator fue introducido en 1960 como un lenguaje para duplicar rápidamente 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 pequeñas computadoras, generar informes comerciales o de negocios. Como su nombre lo sugiere, el RPG esta diseñado para generar los reportes de salida que resultan del proceso de aplicaciones de negocios. A pesar de las aplicaciones de actualización de archivos, el RPG es un lenguaje de propósito limitado porque los programas objeto generados por el compilador de RPG siguen sin desviación, un ciclo de procesamiento básico.

Report Operator Program was introduced in 1960 as a language to quickly duplicate the process approach used punched card equipment. This language was developed by IBM in 1964. Its use is still limited especially for business applications that are processed in small computers, generate commercial or business reports. As its name suggests, the RPG is designed to generate output reports resulting from the process of business applications. Despite update applications files, the RPG is a language of limited purpose because programs generated object RPG compiler continue without deviation, a series of basic processing.

    * Visual Basic 

El lenguaje BASIC fue inventado en 1964 por John George Kemeny y Thomas Eugene Kurtz en el Dartmouth College.

El lenguaje BASIC fue pensado para que los estudiantes pudieran escribir programas en tiempo compartido. Los ocho principios que rigieron el diseño de BASIC fueron:

1.  Ser fácil de usar..
2.  Ser un lenguaje de propósito general (no orientado).
3.  Permitir a los expertos añadir características avanzadas.
4.  Ser interactivo.
5.  Proveer mensajes de error sencillos de comprender.
6.  Responder rápido en los programas pequeños.
7.  No requerir un conocimiento del hardware.
8.  Independiente del sistema operativo (siempre que existiera el compilador adaptado).

Se basó, inicialmente, en FORTRAN II y Algol 60, con adiciones para hacerlo apropiado en sistemas de tiempo compartido y con elementos que facilitaran la operación aritmética de matrices.

La mayor precariedad caía en el excesivo uso de la sentencia GOTO, sobre todo en programadores noveles; hecho éste que fue decreciendo con la incorporación al lenguaje de otros recursos, tales como subrutinas parametradas, y posteriormente con la aparición de técnicas de programación estructurada.

The BASIC language was invented in 1964 by John George Kemeny and Thomas Eugene Kurtz at Dartmouth College.

The BASIC language was designed to allow students to write programs in timeshare. The eight principles that governed the design of BASIC were:

1. Be easy to use ..
2. Be a general purpose language (non-oriented).
3. Allow the experts add advanced features.
4. Be interactive.
5. Provide simple error messages comprehend.
6. Respond quickly for small programs.
7. Do not require knowledge of hardware.
8. Regardless of the operating system (provided that there the compiler adapted).

It was initially based on FORTRAN II and Algol 60 with additions to make it suitable for timesharing systems and elements provided by the arithmetic of matrices.

The most precarious falling into excessive use of the GOTO statement, especially novice programmers; a fact which was decreasing with the addition of language to other resources, such as parameterized subroutines, and later with the advent of structured programming techniques.

BASIC inicialmente no era un lenguaje interpretado sino compilado. Casi inmediatamente después de su lanzamiento, los profesionales de computación comenzaron a alegar que BASIC era muy lento y simple. Tal argumento, hasta no hace mucho, fue un tema recurrente. Hay que tener en cuenta que en estas fechas aún no existía el PC tal como lo conocemos.

Sin embargo, en 1975 con el Altair 8800 se extendió ampliamente. La mayoría de los lenguajes de programación eran demasiado grandes para ser albergados por las pequeñas memorias y sistemas de almacenamiento (cinta de casete).

En 1975 Microsoft (Bill Gates y Paul Allen) lanzó el Altair BASIC. Luego comenzaron a aparecer bajo licencia versiones para otras plataformas, y millones de copias y variantes pronto estarían en uso. BASIC se convirtió en uno de los lenguajes estándar en la Apple II.

En 1979 Microsoft estaba negociando, incluyendo a IBM, para licenciar un intérprete de BASIC para sus computadores. BASIC se convirtió en una característica estándar para casi todas las computadoras hogareñas (como la Commodore de 1977).

Microsoft QuickBASIC o QBasic es un descendiente del lenguaje de programación BASIC que Microsoft Corporation desarrolló para su uso con el sistema operativo MS-DOS. Estaba ligeramente basado en GW-BASIC pero añadía tipos definidos por el usuario, estructuras de programación mejoradas, mejores gráficos y soporte de disco, y un compilador además del intérprete.

BASIC initially was not an interpreted language but compiled. Almost immediately after its release, computer professionals started to deride BASIC was very slow and simple. Such an argument, until recently, was a recurring theme. Keep in mind that at this time there was not yet the PC as we know it.

However, in 1975 with the Altair 8800 was widely spread. Most programming languages were too large to be accommodated by small memories and storage systems (Cassette Tape).

In 1975 Microsoft (Bill Gates and Paul Allen) released Altair BASIC. Then they began to appear under license versions for other platforms, and millions of copies and variants would soon be in use. BASIC became one of the standard languages on the Apple II.

In 1979 Microsoft was negotiating, including IBM, to license a BASIC interpreter for their computers. BASIC became a standard feature for most home computers (such as the Commodore 1977).

Microsoft QuickBASIC or QBasic is a descendant of the BASIC programming language that Microsoft Corporation developed for use with MS-DOS operating system. Was loosely based on GW-BASIC but added types defined by the user, programming improved structures, better graphics and disk holder, a compiler and interpreter.

Microsoft publicó la primera versión de QuickBASIC el 18 de agosto de 1985, en un único disquete de 5.25". QuickBASIC usaba un entorno de desarrollo integrado (IDE) radicalmente diferente al que acompañaba a las versiones anteriores de BASIC. Los números de línea ya no eran necesarios puesto que los usuarios podían insertar y quitar líneas directamente mediante un editor de textos en pantalla.

QuickBASIC incluía el "Compilador PC BASIC", que servía para compilar los programas en ejecutables DOS. El editor poseía un intérprete con el cual el usuario podía ejecutar un programa sin tener que cerrar el editor en absoluto, y podía usarse para depurar un programa antes de crear el fichero ejecutable. Había ciertas pequeñas diferencias entre el intérprete y el compilador, por lo que programas que ejecutaban perfectamente en el intérprete no lo hacían en su versión compilada o incluso no llegaban a compilar.

La última versión de QuickBASIC fue la 4.5 aunque se siguió desarrollando como el Professional Development System (PDS), cuya última versión fue la 7.1. A la versión PDS también se le llamó a veces QuickBASIC Extendido. El sucesor de QuickBASIC y PDS fue Visual Basic 1.0, que salió en dos versiones incompatibles entre sí, una para DOS y otra para Windows. Las versiones posteriores de Visual Basic no incluían versiones para DOS, ya que Microsoft quería que los desarrolladores se concentraran en las aplicaciones para Windows.

Microsoft released the first version of QuickBASIC on August 18, 1985, on a single floppy disk 5.25 ". QuickBASIC used an integrated development environment (IDE) accompanying radically different from previous versions of BASIC. The line numbers and not were needed since users could insert and remove lines directly using a text editor screen.

QuickBASIC included the "PC BASIC Compiler", which was used to compile programs into executable DOS. The editor had an interpreter with which the user could run a program without closing the editor at all, and could be used to debug a program before creating the executable file. There were some small differences between the interpreter and compiler, so programs that were running perfectly on the interpreter did so in the compiled version or even not reach compile.

The latest version of QuickBASIC was 4.5 although it continued to develop as the Professional Development System (PDS), the latest version was 7.1. The PDS version will also sometimes called QuickBASIC Extended. The successor to QuickBASIC and PDS was Visual Basic 1.0, released in two incompatible versions together, one for DOS and one for Windows. Later versions of Visual Basic did not include DOS versions as Microsoft wanted developers to concentrate on Windows applications.

A partir de MS-DOS 5, las versiones de DOS incluían un sustituto de GW-BASIC basado en QuickBASIC 4.5. Ese sustituto se llamaba QBASIC. En comparación con QuickBASIC, está limitado ya que le faltan unas pocas funciones, sólo puede manejar programas de un tamaño limitado, no tiene soporte para módulos separados, y sólo es intérprete. Al carecer de compilador, no puede producir directamente programas ejecutables, aunque los programas desarrollados con QBASIC pueden ser compilados mediante QuickBasic 4.5, PDS 7.1 o VBDOS 1.0, si se dispone de alguno de ellos.

Visual Basic, es un lenguaje de desarrollado por Alan Cooper para Microsoft. Su primera versión data de 1991. Sistema bastante simplificado de programación pero  completamente gráfico lo que facilita la creación de programas en entornos Windows  basado en la API Win32, A partir de la versión 6.0 se modifica este estilo para pasar a trabajar sobre un framework o marco común de librerías independiente de la versión del sistema operativo: .NET.

From MS-DOS 5, the DOS versions included a substitute for GW-BASIC based on QuickBASIC 4.5. That substitute was called QBASIC. Compared to QuickBASIC, it is limited as it lacks a few functions, can only handle programs of a limited size, lacks support for separate modules, and only interpreter. Lacking compiler, you can not directly produce executable programs, although developed with QBASIC programs can be compiled using QuickBasic 4.5, PDS 7.1 or 1.0 VBDOS, if you have any of them.

Visual Basic is a language developed by Alan Cooper for Microsoft. Its first version dates from 1991 rather simplified but fully graphical programming system which facilitates the creation of programs in Windows environments based on the Win32 API, From version 6.0 modifies this style to go to work on a framework or context common independent bookstores operating system version: .NET.

Lenguajes de scripts

    * ActionScript

    * Python

A finales de los ochenta, en algunos textos aparece el año 1990 como año de nacimiento, Python nace de la mano de Guido van Rossum al abrigo del National Research Institute for Mathematics and Computer Science, (CWI), en los Países Bajos (desde el año 2005 trabaja en Google), como un sucesor del lenguaje de programación ABC. Capaz de manejar excepciones e interactuar con el sistema operativo Amoeba (Amoeba es un sistema operativo distribuido de investigación, basado en una arquitectura de micronúcleo. Fue desarrollado por Andrew S. Tanenbaum y otros en la Universidad Libre de Amsterdam. El objetivo del proyecto Amoeba era construir un sistema de tiempo compartido que hiciera que una red entera de computadores pareciera a los ojos de un usuario como una máquina única).

El nombre del lenguaje proviene de la afición de su creador original, Guido van Rossum, por los humoristas británicos Monty Python.

Python es un lenguaje interpretado. Se ahorra un tiempo considerable en el desarrollo del programa pues no es necesario compilar ni enlazar. Como contrapartida representa mayor lentitud mientras se ejecuta el programa, ya que cada vez que se ejecute debe ser interpretado por el intérprete. En cambio, al compilar, se ahorra eso al pasar a código máquina.

Otra ventaja es que el intérprete se puede utilizar de modo interactivo, esto facilita experimentar con características del lenguaje, escribir programas desechables o probar funciones durante el desarrollo del programa. También es una calculadora muy útil.

Es un lenguaje de programación multiparadigma. Esto significa que más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos: programación orientada a objetos, programación imperativa y programación funcional. Otros paradigmas están soportados mediante el uso de extensiones.

In the late eighties, in some texts 1990 appears as year of birth, Python comes from the hand of Guido van Rossum sheltered from the National Research Institute for Mathematics and Computer Science (CWI) in the Netherlands (from the 2005 works at Google) as a successor to the ABC programming language. Capable of handling exceptions and interact with the operating system Amoeba (Amoeba is a distributed operating system research, based on a microkernel architecture. It was developed by Andrew S. Tanenbaum and others at the Free University of Amsterdam. The aim of the project was to Amoeba build a timesharing system that would make an entire network of computers appear in the eyes of a user as a single machine).

The name of the language comes from the hobby of its original creator, Guido van Rossum, by British comedians Monty Python.

Python is an interpreted language. It saves considerable time in program development it is not necessary to compile or link. In return represents more slowly while the program is running, because each time it runs must be interpreted by the interpreter. Instead, to compile, save that to happen to machine code.

Another advantage is that the interpreter can be used interactively, this facilitates experimenting with language features, writing programs or disposable test functions during program development. It's also a handy calculator.

It is a multi-paradigm programming language. This means that rather than forcing programmers to adopt a particular style of programming, allows several styles: object-oriented programming, functional programming and imperative programming. Paradigms are supported by using extensions.

    * Shell (Los incluidos en los intérprete de comandos: sh, ksh, bash, etc.)

En realidad no se trata de un lenguaje de programación propiamente dicho, sino en la reunión de un conjunto de comandos del sistema operativo para la realización de un trabajo reuniendo el proceso de una serie de comandos en un solo programa. En el sistema operativo Windows su equivalente sería el archivo de lotes con la extensión bat. En Linux la extensión suele ser sh si la primera línea es “#!/bin/sh”, por ejemplo e indicará cual es el programa (en este caso sh de shell) sobre el que deben ejecutarse los siguientes comando.

Actually there is a programming language itself, but meeting a set of operating system commands to perform a job gathering process a series of commands in a single program. In the Windows operating system would be the equivalent batch file with the bat extension. In Linux usually sh extension if the first line is "#! / Bin / sh" for example and indicate which program (in this case sh shell) on which the following command should be executed.

    * PHP:

En 1995 Rasmus Lerdorf crea PHP/FI  como un simple conjunto de scripts de Perl para controlar el acceso a su curriculum por la red. Lo denominó 'Personal Home Page Tools'. Rasmus fue añadiendo más funcionalidad escrita en C que era capaz de comunicarse con bases de datos y permitía a los usuarios desarrollar sencillas aplicaciones Web dinámicas.
Rasmus decidió liberar el código fuente de PHP/FI. Tenía variables como las de Perl, interpretación automática de variables de formulario y sintaxis incrustada HTML. La sintaxis por sí misma era similar a la de Perl, aunque mucho más limitada, simple y algo inconsistente.

En 1997, PHP/FI 2.0, la segunda vez que se escribió la implementación en C, tuvo un seguimiento estimado de varios miles de usuarios en todo el mundo, aproximadamente 50.000 dominios tenían PHP/FI instalado, sumando alrededor del 1% de los dominios de Internet. Mientras había mucha gente contribuyendo con líneas de código a este proyecto, en su mayor parte era todavía el proyecto de una sola persona.

En 1997 se libera PHP/FI 2.0 y poco tiempo después aparecen las primeras versiones de PHP 3.0. PHP 3.0 era la primera versión que más se parece al PHP actual. Fue reescrito completamente por Andi Gutmans and Zeev Suraski en 1997, después de que dieran cuenta que PHP/FI no era suficiente para el desarrollo de una aplicación eCommerce cuando estaban trabajando para un proyecto universitario. Una de las mejores características de PHP 3.0 era su gran extensibilidad. Además de proveer a los usuarios finales de una sólida infraestructura para muchísimas bases de datos, protocolos y APIs, las características de extensibilidad de PHP 3.0 atrajeron a docenas de desarrolladores a unirse y enviar nuevos módulos de extensión. Sin duda, ésta fue la clave del enorme éxito de PHP 3.0. Otras características clave introducidas en PHP 3.0 fueron el soporte de sintaxis orientado a objetos y una sintaxis de lenguaje mucho más potente y consistente.

In 1995 Rasmus Lerdorf created PHP / FI as a simple set of Perl scripts to control access to their curriculum through the network. He called it 'Personal Home Page Tools'. Rasmus was adding more functionality written in C that was able to communicate with databases, and enabled users to develop simple dynamic Web applications.
Rasmus decided to release the source code for PHP / FI code. It had Perl-like variables, automatic interpretation of form variables and HTML embedded syntax. The syntax itself was similar to that of Perl, albeit much more limited, simple, and somewhat inconsistent.

In 1997, PHP / FI 2.0, the second time that the C implementation was written, had an estimated tracking several thousand users worldwide, about 50,000 domains were PHP / FI installed, accounting for about 1% of the domains Internet. While there were several people contributing lines of code to this project, for the most part was still the project of a single person.

In 1997 PHP / FI 2.0 is released and shortly after the first versions of PHP 3.0 appear. PHP 3.0 was the first version that is most like the current PHP. It was completely rewritten by Andi Gutmans and Zeev Suraski in 1997, after noticing that PHP / FI was not sufficient for developing an eCommerce application they were working for a university project. One of the best features of PHP 3.0 was its strong extensibility. In addition to providing end users with a solid infrastructure for lots of different databases, protocols and APIs, extensibility features of PHP 3.0 attracted dozens of developers to join in and submit new extension modules. No doubt this was the key of the enormous success of PHP 3.0. Other key features introduced in PHP 3.0 were the bracket syntax and object-oriented syntax much more powerful and consistent language.

El nuevo lenguaje fue liberado bajo un nuevo nombre, PHP: Hypertext Preprocessor. A finales de 1998, PHP  3.0 estaba instalado en aproximadamente un 10% de los servidores Web en Internet. PHP 3.0 se liberó oficialmente en Junio de 1998, después de unos 9 meses de testing público. PHP 4

En 1999 aparece PHP 4.0 con el nuevo motor, apodado 'Motor Zend' (Andi Gutmans y Zeev Suraski). Además de la mejora de rendimiento de esta versión, PHP 4.0 incluía otras características clave como el soporte para la mayoría de los servidores Web, sesiones HTTP, buffers de salida, formas más seguras de controlar las entradas de usuario y muchas nuevas construcciones de lenguaje.

PHP 5 fue lanzado en Julio del 2004 y actualmente se espera la 6ª versión de este lenguaje.

The new language was released under a new name, PHP: Hypertext Preprocessor. In late 1998, PHP 3.0 was installed on approximately 10% of the Web servers on the Internet. PHP 3.0 was officially released in June 1998, after about 9 months of public testing. PHP 4

PHP 4.0 appears in 1999 with the new engine, dubbed 'Zend Engine' (Andi Gutmans and Zeev Suraski). In addition to improved performance of this version, PHP 4.0 included other key features such as support for most Web servers, HTTP sessions, output buffering, more secure ways of handling user input and several new language constructs.

PHP 5 was released in July 2004 and is currently awaiting the 6th version of the language.

    * JavaScript

Inicialmente los autores lo llamaron Mocha y más tarde LiveScript pero fue rebautizado como JavaScript en un anuncio conjunto entre Sun Microsystems y Netscape, el 4 de diciembre de 1995.  Brendan Eich adaptó otras tecnologías existentes (como ScriptEase) al navegador Netscape Navigator 2.0, que iba a lanzarse en 1995. Inicialmente, Eich denominó a su lenguaje LiveScript.

Posteriormente, Netscape firmó una alianza con Sun Microsystems para el desarrollo del nuevo lenguaje de programación. Además, justo antes del lanzamiento Netscape decidió cambiar el nombre por el de JavaScript. La razón del cambio de nombre fue exclusivamente por marketing, ya que Java era la palabra de moda en el mundo informático y de Internet de la época. Java y Javascript no tienen ningún parecido ni formal ni interno.

La primera versión de JavaScript fue un completo éxito y Netscape Navigator 3.0 ya incorporaba la siguiente versión del lenguaje, la versión 1.1. Al mismo tiempo, Microsoft lanzó JScript con su navegador Internet Explorer 3. JScript era una copia de JavaScript al que le cambiaron el nombre para evitar problemas legales.

Para evitar una guerra de tecnologías, Netscape decidió que lo mejor sería estandarizar el lenguaje JavaScript. De esta forma, en 1997 se envió la especificación JavaScript 1.1 al organismo ECMA (European Computer Manufacturers Association).

JavaScript es un lenguaje de scripting basado en objetos, o más bien prototipos, utilizado para acceder a elementos, sus métodos y propiedades en aplicaciones web. Principalmente, se utiliza integrado en un navegador web permitiendo el desarrollo de interfaces de usuario mejoradas y páginas web dinámicas. JavaScript es un dialecto de ECMAScript y se caracteriza por ser un lenguaje basado en prototipos, con entrada dinámica y con funciones de primera clase. JavaScript ha tenido influencia de múltiples lenguajes aunque más fácil de utilizar para personas que no habituadas a  programar.

Initially the authors called Mocha and later LiveScript but was renamed JavaScript in a joint announcement between Sun Microsystems and Netscape, on 4 December 1995. Brendan Eich adapted other existing technologies (such ScriptEase) the browser Netscape Navigator 2.0, which was to be launched in 1995. Initially named his language Eich LiveScript.

Subsequently, Netscape signed an alliance with Sun Microsystems for the development of new programming language. Also, just before the launch Netscape decided to change the name to JavaScript. The reason for the name change was only by marketing, since Java was the buzzword in the computer world and the Internet at the time. Java and Javascript have no formal or similar procedure.

The first version of JavaScript was a complete success and Netscape Navigator 3.0 and incorporated the following language version, version 1.1. Meanwhile, JScript Microsoft launched its Internet Explorer browser 3. JScript JavaScript was a copy of which changed its name to avoid legal problems.

To avoid a war of technologies, Netscape decided it best to standardize the JavaScript language. Thus, in 1997 the agency JavaScript 1.1 specification ECMA (European Computer Manufacturers Association) was sent.

JavaScript is a scripting language based on objects, or rather prototypes used to access elements, methods and properties for web applications. Mainly used integrated in a web browser enabling the development of enhanced user interfaces and dynamic websites. JavaScript is a dialect of ECMAScript and is characterized as a prototype-based, with dynamic input and first class functions language. JavaScript has been influential in multiple languages even easier to use for people not used to program.

Todos los navegadores modernos interpretan el código JavaScript integrado dentro de las páginas web. Para interactuar con una página web se provee al lenguaje JavaScript de una implementación del DOM.

El Modelo de Objetos de Documento o DOM, es la interfaz que te permite acceder y manipular, mediante la programación, los contenidos de una página web (o documento). Proporciona una representación estructurada, orientada a objetos, de los elementos individuales y el contenido de una página, con métodos para recuperar y fijar las propiedades de dichos objetos. Además, proporciona métodos para agregar y eliminar dichos objetos, permitiéndote crear contenido dinámico.

El DOM proporciona también una interfaz para trabajar con eventos, permitiéndote capturar y responder a las acciones del usuario o del navegador.

El DOM está fijado por el Word Wide Web Consortium. El DOM1 que fue adoptado en 1998.

All modern browsers interpret integrated into web pages JavaScript code. To interact with a web page is the JavaScript language provides an implementation of the DOM.

The Document Object Model or DOM, is the interface that lets you access and manipulate, by programming, the contents of a web page (or document). It provides a structured representation, object-oriented individual elements and content of a page, with methods to retrieve and set the properties of these objects. Further provides methods for adding and removing such objects, allowing you to create dynamic content.

The DOM also provides an interface for working with events, allowing you to capture and respond to user actions or browser.

The DOM is set by the World Wide Web Consortium. The DOM1 which was adopted in 1998.

    * Platonic

Platonic es una librería en JavaScript para dibujar y manipular objetos 3D en páginas HTML utilizando SVG o VML (figura 2.5.3.a). El código JavaScript que tiene que ser escrito en la página HTML para definir la escena (objetos 3D, Visor de posición, luz, …). Es el mismo para SVG y VML. Si el navegador es Internet Explorer se iniciará VML, en caso contrario se utilizará SVG. (http://www.lutanho.net/svgvml3d/index.html)

Platonic is a library in JavaScript to draw and manipulate 3D objects in HTML pages using SVG or VML (Figure 2.5.3.a). The JavaScript code that must be written in the HTML page to set the scene (3D objects viewer position, light, ...). It is the same for SVG and VML. If the browser is Internet Explorer starts VML, SVG otherwise be used. (http://www.lutanho.net/svgvml3d/index.html)


Figura 2.5.3.a: Ejemplos con platonic
Figure 2.5.3.a: Examples with platonic
Puede accederse incorporando el código platonic.js de la forma:
Is accessible with the next code:

<script src=".../platonic.js" type="text/javascript"></script> 

    * AJAX

AJAX no es un lenguaje exactamente su nombre viene dado por el acrónimo de Asynchronous JavaScript And XML, basado en el objeto XMLHttpRequest que nos permite realizar una conexión al servidor y al enviarle una petición y recibir la respuesta que procesaremos en nuestro código Javascript. Es, por tanto, una pequeña parte de javascript pero es la puerta de interacción cliente-servidor desde el HTML del navegador (Zakas, McPeak & Fawcett, 2006).

AJAX is not a language exactly its name comes from the acronym for Asynchronous JavaScript And XML, based on the XMLHttpRequest object that allows us to make a connection to the server and send a request and receive the response that will process our Javascript code. It is, therefore, a small part of the door javascript but client-server interaction from the HTML browser (Zakas, McPeak & Fawcett, 2006).

Puede accederse a través del método HttpRequest o incorporando el código ajax.js de la forma:
You can be accessed through HttpRequest ajax.js method or by incorporating the next code:

<script src=".../ajax.js" type="text/javascript"></script>

    * Prototype

Prototype es un Framework de JavaScript que tiene como objetivo facilitar el desarrollo de aplicaciones web dinámicas.
Con una única y fácil de usar de herramientas para el desarrollo de clases impulsada y la mejor colección de alrededor de Ajax, Prototype está convirtiendo rápidamente en el código base de elección para los desarrolladores de aplicaciones Web en todas partes (Stephenson, 2008 http://www.prototype.org).

Prototype is a JavaScript Framework that aims to ease development of dynamic web applications.
With a unique and easy to use tool for class-driven development and the best collection of about Ajax, Prototype is quickly becoming the choice code base for web application developers everywhere (Stephenson, 2008 http://www.prototype.org).

Puede accederse incorporando el código prototype.js de la forma:

<script src=".../prototype.js" type="text/javascript"></script>

    * Perl

En 1987, Larry Wall de Unisys anuncia la versión 1.0 de Perl (Su propio autor señala que combina algunas de las mejores capacidades de C, sed, awk y sh, por lo que programadores familiarizados con estos lenguajes tendrán gran facilidad para trabajar con él sobretodo en administración de sistemas.) . Debido a su enfoque a la administración de sistemas tiene que ser a la fuerza interpretado. Su evolución llega a nuestros días con Perl4 desde 1991. Para contextualizarse en este año es cuando el Finlandés Linus Benedict Torvalds anuncia la primera versión de Linux.

La siguiente versión, y en definitiva, la más utilizada en la actualidad es Perl 5. Esta versión contenía grandes novedades como la orientación a objetos y los módulos.

Perl es un lenguaje interpretado optimizado para la lectura y extracción de información de archivos de texto, generando reportes basados en la información proporcionada por ellos. Es también un lenguaje bastante utilizado para muchos sistemas manipuladores de tareas como lenguaje de contenido dinámico. Este lenguaje tiene una orientación mas práctica (facilidad de uso y eficiencia) que estética (elegancia, minimalismo).

Perl tiene hoy en día una gama muy amplia de usos, en una gran variedad de arquitecturas, bajo varios sistemas operativos. Es con seguridad uno de los lenguajes más utilizados para tareas pequeñas y de tamaño mediano, dada la rapidez de aprendizaje y ubicuidad que ostenta, si bien su capacidad para modularización lo hace también un candidato factible para tareas de mayor envergadura.

In 1987, Larry Wall Unisys announces version 1.0 of Perl (The author himself notes that combines some of the best capabilities of C, sed, awk, and sh, so programmers familiar with these languages will ease to work with especially system administration.). Because of its approach to systems management has to be interpreted force. Its evolution reaches our days with Perl4 since 1991. To contextualize this year is when the Finnish Linus Benedict Torvalds announced the first version of Linux.

The next version, and ultimately, the most used today is Perl 5. This version contains major new features like object orientation and modules.

Perl is optimized for reading and extracting information from text files interpreted language, generating reports based on the information provided by them. It is also a language quite manipulator systems used for many tasks such as language dynamic content. This language has a more practical orientation (ease of use and efficiency) than aesthetics (elegance, minimalism).

Perl nowadays has a very wide range of uses in a variety of architectures, under various operating systems. It is certainly one of the most used languages for small tasks and medium sized, given the speed of learning and ubiquitous that it holds, although their ability to modularity also makes it a viable candidate for larger tasks.

    * Ruby y Ruby on Rails

Como curiosidad los caracteres ruby son pequeñas anotaciones que pueden colocarse encima o a la derecha cuando se escriben lenguajes ideogramáticos como el chino o el japonés  para mostrar la pronunciación. Llamados ruby o rubi, estas anotaciones son usualmente utilizadas como guía para caracteres poco conocidos.

En la figura 2.5.3.b se incluye un ejemplo de caracteres ruby japoneses, llamados furigana, de la palabra Tokio ("東京"):

Curiously the ruby characters are small annotations that can be placed above or right when ideogramáticos languages like Chinese or Japanese is written to show the pronunciation. Called ruby or ruby, these annotations are usually used as a guide for obscure characters.

An example of Japanese ruby characters called furigana, word Tokyo ("東京") is included in Figure 2.5.3.b:
Figura 2.5.3.b Anotaciones ruby
Figure 2.5.3.b Roby annotations.
Ruby se originó en Japón en los inicios de los 90's, su creador Yukihiro Matsumoto combinó la elegancia característica de SmallTalk, la facilidad de uso de Phyton y el pragmatismo de Perl. Como resultado obtuvo un lenguaje muy eficiente, poderoso y con una sintaxis muy limpia.

Rails es un framework Open Source escrito en Ruby, creado para el desarrollo de aplicaciones WEB con comunicación hacia bases de datos. Esta basado en la arquitectura Modelo Vista Controlador (MVC), lo sorprendente de este framework y lo que lo hace diferente de otros, es, que el desarrollo de aplicaciones sobre él es increíblemente rápido, esto, debido en parte a la estructura del lenguaje. Existen muchas cosas que en Ruby se pueden realizar en forma muy sencilla y que en otros lenguajes ni siquiera es posible llevar a cabo.

En los últimos años, Ruby y Rails han cobrado mucha fuerza, y ya existe una buena cantidad de recursos en la WEB, además de que las grandes compañías como Sun Microsystems, le están apostando fuerte a este lenguaje que ya es considerado como parte de la WEB 2.0.

Ruby es un genuino lenguaje de scripting orientado a objetos, que por su estructura permite un desarrollo mas rápido, con menos líneas de código y menos errores. En general es fácil de usar, rápido de implementar y la experiencia de programación es muy placentera.

Ruby es portable hacia múltiples plataformas: Unix, Linux, DOS, Windows, OS/2, etc. y se ejecuta en todas ellas sin que sea necesario modificar el código.

Ruby was originated in Japan in the early 90's, its creator Yukihiro Matsumoto combined the characteristic elegance of SmallTalk, ease of use of Python and Perl's pragmatism. As a result he obtained a highly efficient, powerful and with a very clean syntax language.

Rails is an open source framework written in Ruby, created for developing web applications with communication with databases. This architecture-based Model View Controller (MVC), the amazing thing about this framework and what makes it different from others is that the development of applications on it is incredibly fast, this, partly due to the structure of language. There are many things that Ruby can be performed very easily and in other languages is even possible to perform.

In recent years, Ruby and Rails have taken hold, and there is already a lot of resources on the web, in addition to big companies like Sun Microsystems, we are betting big on this language which is already considered as part of the WEB 2.0.

Ruby is a genuine scripting language, object-oriented structure that allows for faster development with fewer lines of code and fewer errors. In general it is easy to use, fast to implement and programming experience is very pleasant.

Ruby is portable to multiple platforms: Unix, Linux, DOS, Windows, OS / 2, etc. and runs on all of them without having to modify the code.

    * ASP

La tecnología ASP surge en diciembre de 1996 con el lanzamiento del service pack 3 de Windows NT 4.0 como parte del IIS 3.0.

Este fue el primer acercamiento de Microsoft hacia la tecnología scripting en internet. Sin profundizar en detalles, la gran ventaja que tenía ASP era que uno podía diseñar su página y programar la lógica que haría que su página desplegara datos.

Esto no se ve más como una ventaja, en aquel entonces permitía dibujar una tabla (<table>) y para cada fila de un recordset ir dibujando las filas correspondientes (<tr>), todo en el mismo archivo.

A la larga los archivos se empezaban a tornar imposibles de mantener, sin contar que la herramienta que había para ello era el Visual InterDev, el cual tenía varios bugs (comportamientos extraños). Con el resurgimiento de la tecnología .NET surgió ASP.Net que paliaría estos problemas.

ASP.Net fue escrito completamente desde cero, es una tecnología completamente distinta que incluye, entre otras cosas, la posibilidad de separar el diseño gráfico de la lógica de negocio. Otro gran aporte por parte de .NET a ASP.net fue ADO.net con sus DataSets, DataTables y DataSources en la versión 2.0.

En la actualidad ASP.net es cada vez más parecido a programar una aplicación WinForm con cualquier lenguaje soportado, uno puede arrastrar botones sobre la página y al hacer doble click sobre estos uno queda posicionado en el evento que se va a disparar al hacer click en el botón (igual que en WinForms). Por otra parte el código escrito en el método (ya sea VB.Net o C#) puede ser adosado en un evento de una aplicación WinForm.

ASP technology emerges in December 1996 with the release of service pack 3 for Windows NT 4.0 as part of IIS 3.0.

This was the first approach of Microsoft scripting technology to the internet. Without going into details, the big advantage that ASP had was that one could design your page and program logic that would make your page will display data.

This is no longer seen as an advantage, then allowed to draw a table (<table>) and for each row in a recordset be drawing the corresponding rows (<tr>), all in the same file.

Ultimately files are beginning to turn impossible to maintain, not to mention that the tool had to do was the Visual InterDev, which had several bugs (strange behavior). With the resurgence of technology ASP.Net .NET came to palliate these problems.

ASP.Net was completely written from scratch, it's a completely different technology that includes, among other things, the possibility of separating the graphic design business logic. Another major contribution by .NET ASP.net was ADO.net with DataSets, DataTables and DataSources in version 2.0.

At present ASP.net is increasingly resembling schedule a WinForm application with any supported language, one can drag buttons on the page and double-click on this one is positioned in the event that will fire when clicking on button (as in WinForms). Moreover the code written in the method (either VB.Net or C #) can be attached at an event in a WinForm application.

    * XML

Este lenguaje de marcado apareció impulsado por el World Wide Web Consortium (W3C) a finales de los años 90, y se puede decir que ha supuesto una revolución en el mundo de la informática, ya que está siendo aplicado en multitud de campos y para diversos fines1. Por citar sólo algunos: archivo electrónico y gestión de contenidos, publicación Web, intercambio electrónico de documentos, formato interno de herramientas, software, comercio electrónico, educación, química, sanidad, turismo, derecho, etc. XML es un estándar que nació dentro del mundo Web para representar datos que van a circular por la red.

Ahora, cualquiera puede definir su propio lenguaje de marcas (siguiendo un conjunto breve de reglas simples) que cubra las necesidades de representación del contenido que quiere transmitir, y acompañarlo de un archivo DTD (Document Type Definition), notación estandarizada por el W3C el 10 de Febrero de 1998, o alternativamente, de un archivo XML Schema, notación estandarizada en Mayo de 2001, que es mucho más expresiva, potente y completa para especificar esos lenguajes concretos que usa cada colectivo o editor.

De una manera algo más formal XML consiste en una serie de reglas, pautas o convenciones, para planificar formatos de texto para mostrar datos, de manera que produzcan archivos que sean fácilmente generados y leídos (por un ordenador) que sean inequívocos, y que evitan escollos comunes como la falta de extensibilidad, falta de soporte para la internacionalización o localismo, y la dependencia de una determinada plataforma (Gutiérrez, 1999)

Físicamente, el documento está compuesto de unidades llamadas entidades. Una entidad puede referirse a otras entidades con el fin de causar su inclusión en el documento. Un documento comienza en una "raíz" o entidad documento.

Lógicamente, el documento está compuesto de declaraciones, elementos, comentarios, referencias de carácter e instrucciones de proceso.  Todo lo anterior está indicado en el documento mediante marcas explícitas.  Las estructuras lógicas y físicas deben anidarse apropiadamente.

This markup language appeared driven by the World Wide Web Consortium (W3C) at the end of the 90s, and you can tell that has brought a revolution in the computer world as it is being applied in many fields and for different fines1. To cite just a few: electronic archive and content management, Web publishing, electronic exchange of documents, internal format of tools, software, e-commerce, education, chemistry, health, tourism, law, etc. XML is a standard Web was born into the world to represent data to circulate on the web.

Now, anyone can define your own markup language (following a brief set of simple rules) to meet the needs of representation of the content you want to convey, and accompanied by a DTD file (Document Type Definition), standardized by the W3C notation 10 February 1998, or alternatively, a file XML Schema, standardized notation in May 2001, which is much more expressive, powerful and complete to specify those particular languages used by each group or editor.

In a more formal way XML is a set of rules, guidelines or agreements to plan text formats for displaying data, so as to produce files that are easy to generate and read (by a computer) are unambiguous, and that avoid common problems such as lack of extensibility, lack of support for internationalization or localism, and dependence on a particular platform (Gutiérrez, 1999)

Physically, the document is composed of units called entities. An entity may refer to other entities to cause their inclusion in the document. A document begins in a "root" or document entity.

Logically, the document is composed of declarations, elements, comments, character references, and processing instructions. All this is indicated in the document by explicit markup. The logical and physical structures must nest properly.

    * HTML

En 1980, cuando el físico Tim Berners-Lee del CERN propuso un nuevo sistema de "hipertexto" para compartir documentos. Los sistemas de "hipertexto" habían sido desarrollados años antes. En el ámbito de la informática, el"hipertexto" permitía que los usuarios accedieran a la información relacionada con los documentos electrónicos que estaban visualizando. De cierta manera, los primitivos sistemas de "hipertexto" podrían asimilarse a los enlaces de las páginas web actuales.

Tras finalizar el desarrollo de su sistema de "hipertexto", Tim Berners-Lee lo presentó a una convocatoria organizada para desarrollar un sistema de "hipertexto" para Internet. Después de unir sus fuerzas con el ingeniero de sistemas Robert Cailliau, presentaron la propuesta ganadora llamada World Wide Web (W3).

El primer documento formal con la descripción de HTML se publicó en 1991 bajo el nombre "HTML Tags"(Etiquetas HTML) y todavía hoy puede ser consultado online a modo de reliquia informática. La primera propuesta oficial para convertir HTML en un estándar se realizó en 1993 por parte del organismoIETF (Internet Engineering Task Force). Aunque se consiguieron avances significativos (en esta época se definieron las etiquetas para imágenes, tablas y formularios) ninguna de las dos propuestas de estándar, llamadas HTML y HTML+ consiguieron convertirse en estándar oficial.

En 1995, a pesar de su nombre, HTML 2.0 es el primer estándar oficial de HTML. En 1987 el W3C se publica el HTML 3.2, primera recomendación de HTML publicada por el W3C. Esta revisión incorpora los últimos avances de las páginas web desarrolladas hasta 1996, como applets de Java y texto que fluye alrededor de las imágenes.

HTML 4.0 se publicó el 24 de Abril de 1998, aporta las hojas de estilo (CSS), la posibilidad de incluir pequeños programas o scripts en las páginas web, mejora de la accesibilidad de las páginas diseñadas, tablas complejas y mejoras en los formularios.
HTML 5 está a las puertas de publicarse con novedades en cuanto a dibujo y otros estándares de objetos multimedia embebidos.

In 1980, when physicist Tim Berners-Lee at CERN proposed a new system of "hypertext" document sharing. Systems "hypertext" had been developed years earlier. In the field of computing, the "hypertext" allowed users from accessing information related to electronic documents that were displayed. In a way, the primitive systems of "hypertext" could be likened to the links of current web pages.

After completing the development of its system of "hypertext", Tim Berners-Lee introduced him to a call organized to develop a system of "hypertext" to the Internet. After joining forces with systems engineer Robert Cailliau, submitted the winning proposal called World Wide Web (W3).

The first formal document with the description of HTML was published in 1991 under the name "HTML Tags" (HTML tags) and today still can be consulted online computer as a relic. The first official proposal to convert HTML into a standard was conducted in 1993 by the organismoIETF (Internet Engineering Task Force). Although significant progress was made (at this time the labels were defined images, tables and forms) either proposed standard, called HTML and HTML + managed to become an official standard.

In 1995, despite its name, HTML 2.0 is the first official standard HTML. In 1987, the W3C published HTML 3.2, HTML first recommendation published by the W3C. This revision incorporates the latest advances in web pages developed in 1996 as Java applets and flowing text around images.

HTML 4.0 was published on April 24, 1998, provides style sheets (CSS), the ability to include small programs or scripts on web pages, improving the accessibility of pages designed, complex tables and improved forms.
HTML 5 is on the verge of publication with news about drawing and other standards embedded multimedia objects.

2.6.- TIPOS DE BASES DE DATOS / TYPES OF DATABASES


Una base de datos se basa en un modelo o representación de la realidad. Un modelo es una colección de herramientas conceptuales para describir los datos, las relaciones que existen entre ellos, semántica asociada a los datos y restricciones de consistencia.
Los modelos de datos se dividen en tres grupos:


  •  Modelos lógicos basados en objetos.
  •  Modelos lógicos basados en registros.
  •  Modelos físicos de datos.


A database is based on a model or representation of reality. A model is a collection of conceptual tools for describing data, the relationships between them, semantics associated with the data and consistency constraints.
Data models are divided into three groups:


  •   Logical models based on objects.
  •   Logical models based on records.
  •   Physical data models.


Continuará ...
To be continued ...

No hay comentarios:

Publicar un comentario