Tutorial Básico de Ajax

32
Definición de Lenguaje de programación Lenguaje artificial que puede ser usado para controlar el comportamiento de una máquina, especialmente una computadora. Estos se componen de un conjunto de reglas sintácticas y semánticas que permiten expresar instrucciones que luego serán interpretadas. Debe distinguirse de “lenguaje informático”, que es una definición más amplia, puesto estos incluyen otros lenguajes como son el HTML o PDF que dan formato a un texto y no es programación en sí misma. El programador es el encargado de utilizar un lenguaje de programación para crear un conjunto de instrucciones que, al final, constituirá un programa o subprograma informático. Los lenguajes de programación pueden clasificarse según el paradigma que usan en: procedimentales, orientados a objetos, funcionales, lógicos, híbridos, etc. Son ejemplos de lenguajes de programación: php, prolog, ASP, ActionScript, ada, python, pascal, c, basic, JAVA, JavaScript, etc. Orinetaods a objetos 1. Paradigma de programación. Tipo de lenguaje de programación basado en la idea de encapsular estado y operaciones en objetos. En general, la programación se resuelve comunicando dichos objetos a través de mensajes (programación orientada a mensajes). Se puede incluir -aunque no formalmente- dentro de este paradigma, el paradigma basado en objetos, que además posee herencia y subtipos entre objetos. Ej.: Simula, smalltalk, C++, Java, Visual Basic .NET, etc. Su principal ventaja es la reutilización de códigos y su facilidad para pensar soluciones a determinados problemas. 2. Gráfico orientado a objetos. Ver gráfico vectorial.

Transcript of Tutorial Básico de Ajax

Page 1: Tutorial Básico de Ajax

  Definición de Lenguaje de programación

Lenguaje artificial que puede ser usado para controlar el comportamiento de una máquina, especialmente una computadora. Estos se componen de un

conjunto de reglas sintácticas y semánticas que permiten expresar instrucciones que luego serán interpretadas.

Debe distinguirse de “lenguaje informático”, que es una definición más amplia, puesto estos incluyen otros lenguajes como son el HTML o PDF que dan

formato a un texto y no es programación en sí misma.

El programador es el encargado de utilizar un lenguaje de programación para crear un conjunto de instrucciones que, al final, constituirá un programa o

subprograma informático.

Los lenguajes de programación pueden clasificarse según el paradigma que usan en: procedimentales, orientados a objetos, funcionales, lógicos, híbridos,

etc.

Son ejemplos de lenguajes de programación: php, prolog, ASP, ActionScript, ada, python, pascal, c, basic, JAVA, JavaScript, etc.

Orinetaods a objetos

1. Paradigma de programación. Tipo de lenguaje de programación basado en la idea de encapsular estado y operaciones en objetos. En general, la

programación se resuelve comunicando dichos objetos a través de mensajes (programación orientada a mensajes). Se puede incluir -aunque no formalmente-

dentro de este paradigma, el paradigma basado en objetos, que además posee herencia y subtipos entre objetos. Ej.: Simula, smalltalk, C++, Java, Visual

Basic .NET, etc.

Su principal ventaja es la reutilización de códigos y su facilidad para pensar soluciones a determinados problemas.

2. Gráfico orientado a objetos. Ver gráfico vectorial.

Page 2: Tutorial Básico de Ajax

Los lenguajes de programación son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, etc..

Una computadora funciona bajo control de un programa el cual debe estar almacenado en la unidad de memoria; tales como el disco duro.

Los lenguajes de programación de una computadora en particular se conoce como código de máquinas o lenguaje de máquinas.

Estos lenguajes codificados en una computadora específica no podrán ser ejecutados en otra computadora diferente.

Para que estos programas funcionen para diferentes computadoras hay que realizar una versión para cada una de ellas, lo que implica el aumento del costo de desarrollo.

Por otra parte, los lenguajes de programación en código de máquina son verdaderamente difíciles de entender para una persona, ya que están compuestos de códigos numéricos sin sentido nemotécnico.

Los lenguajes de programación facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leidas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar.

Los lenguajes de programación representan en forma simbólica y en manera de un texto los códigos que podrán ser leidos por una persona.

Los lenguajes de programación son independientes de las computadoras a utilizar.

Existen estrategias que permiten ejecutar en una computadora un programa realizado en un lenguaje de programación simbólico. Los procesadores del lenguaje son los programas que permiten el tratamiento de la información en forma de texto, representada en los lenguajes de programación simbólicos.

Hay lenguajes de programación que utilizan compilador.

La ejecución de un programa con compilador requiere de dos etapas:

1) Traducir el programa simbólico a código máquina2) Ejecución y procesamiento de los datos.

Otros lenguajes de programación utilizan un programa intérprete o traductor, el cual analiza directamente la descripción simbólica del programa fuente y realiza las instrucciones dadas.

El intérprete en los lenguajes de programación simula una máquina virtual, donde el lenguaje de máquina es similar al lenguaje fuente.

La ventaja del proceso interprete es que no necesita de dos fases para ejecutar el programa, sin embargo su inconveniente es que la velocidad de ejecución es más lenta ya que debe analizar e interpretar las instrucciones contenidas en el programa fuente.

Page 3: Tutorial Básico de Ajax

8 lenguajes de programación que deberías aprender

Lo normal sería pensar que este gráfico es un indicador de las habilidades necesarias en un futuro por un desarrollador web,

pero la realidad es bien distinta aquí en España, sólo habría que darse una vuelta por algún portal de empleo y ver las

habilidades que requieren las empresas…

Por eso vamos a hacer un pequeño análisis de los 8 lenguajes de programación con más demanda en el mercado español, este

análisis consta de 3 apartados:

¿Qué es?, ¿Por qué deberías aprenderlo?, Oferta de trabajo (Fuente:Infojobs)

1.PHP

¿Qué es?

PHP usa una mezcla entre interpretación y compilacion para intentar ofrecer a los programadores la mejor mezcla entre

rendimiento y flexibilidad.

PHP compila para tu codigo una serie de instrucciones (llamadas opcodes) siempre que estas son accedidas. Estas instrucciones

son entonces ejecutadas una por una hasta que el script termina. Esto es diferente a la manera convencional de compilacion de

lenguajes como C++ donde el código es compilado a código ejecutable que es despues ejecutado. Php es recompilado cada vez

que se solicita un script.

Una ventaja importante de interpretar el código es que toda la memoria usada por tu código es manejada por PHP, y el lenguaje

automáticamente vacía esta memoria cuando el script finaliza. Esto significa que tu no tienes que preocuparte de las conexiones

a la base de datos, porque PHP lo hará por ti. leer más

¿Por qué deberías aprenderlo?

Es uno de los lenguajes de progrmación más populares, la gran fluidez y rapidez de sus scripts y su prometedor futuro,

desarrollar aplicaciones Webs utilizando lenguajes como C o COBOL son cosas del pasado.

Oferta de trabajo

Demanda de trabajo: 362 ofertas

2.C#

¿Qué es?

C# es un lenguaje de propósito general orientado a objetos creado por Microsoft para su plataforma .NET.

Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET el cual es similar al de Java aunque

incluye mejoras derivadas de otros lenguajes. C# fue diseñado para combinar el control a bajo nivel de lenguajes como C y la

velocidad de programación de lenguajes como Visual Basic.

¿Por qué deberías aprenderlo?

Es una parte esencial de la plataforma .Net, C# combina los mejores elementos de múltiples lenguajes de amplia difusión como

C++, Java, Visual Basic o Delphi. De hecho, su creador Anders Heljsberg fue también el creador de muchos otros lenguajes y

entornos como Turbo Pascal, Delphi o Visual J++. La idea principal detrás del lenguaje es combinar la potencia de lenguajes

como C++ con la sencillez de lenguajes como Visual Basic, y que además la migración a este lenguaje por los porgramadores de

C/C++/Java sea lo más inmediata posible.

Oferta de trabajo

Demanda de trabajo: 1.002 ofertas

Page 4: Tutorial Básico de Ajax

3.AJAX

¿Qué es?

AJAX no es un lenguaje exactamente su nombre viene dado por el acrónimo de Asynchronous JavaScript And XML y es

posiblemente la mayor novedad en cuanto a programación web en estos últimos años.

El corazón de Ajax es 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, estamos hablando del verdadero motor de Ajax, por ejemplo

gracias a este objeto podemos desde una página HTML leer datos de una web o enviar datos de un formulario sin necesidad de

recargar la página.

leer más

¿Por qué deberías aprenderlo?

La demanda de AJAX no sólo es amplía sino que de calidad debido a la dificultad de aprendizaje que conlleva, si la herramienta

de Microsoft, Atlas, destinada a la realización de aplicaciones AJAX tiene éxito puede suponee un aumento en la demanda de esta

tecnología.

Oferta de trabajo

Demanda de trabajo: 65 ofertas

4.JavaScript

¿Qué es?

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.

¿Por qué deberías aprenderlo?

La razón de mayor peso es que es utilizado por millones de páginas webs para validar formularios, crear cookies, detectar

navegadores y mejorar el diseño, su fácil aprendizaje lo hace un lenguaje muy demandado.

Oferta de trabajo

Demanda de trabajo: 422 ofertas

5.Perl

¿Qué es?

Perl es la alternativa más popular a PHP, seguramente porque es el lenguaje más antiguo tambien dentro de las alternativas. En

internet nos encontramos numerosos recursos que utilizan Perl, muchos de las aplicaciones “open source” requieren tener Perl

instalado correctamente. Perl tiene una ventaja y es que es muy flexible, y tambien tiene un gran cantidad de modulos ya

escritos.

Bien escritos los scripts en Perl se asemejan bastante a PHP. La principal causa de la sucía apariencia de Perl es por la afición de

sus desarrolladores a la escritura en “una línea” empaquetanto numerosas funcionalidades en una sola línea de código. leer

más

¿Por qué deberías aprenderlo?

La potencía de Perl a la hora de procesar grandes cantidades de datos lo hace realmente popular a la hora de desarrollar

aplicaciones del lado del servidor, aprender Perl o Php es básico a la hora de desarrollar aplicaciones Web.

Page 5: Tutorial Básico de Ajax

Oferta de trabajo

Demanda de trabajo: 82 ofertas

6.C

¿Qué es?

Es un lenguaje de “medio nivel” pero con numerosas características de bajo nivel.

Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que

permiten un control a muy bajo nivel.

¿Por qué deberías aprenderlo?

Aprender C es básico mientras aprendes C estas aprendiendo conceptos básicos de lenguajes cómo Java o C#, además no sólo

es mas sencillo que estos últimos sino que comporten gran parte de su sintaxis.

Oferta de trabajo

Demanda de trabajo: 312 ofertas

7.Ruby y Ruby on Rails

¿Qué es?

Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones web de código abierto escrito en el lenguaje

de programación Ruby.

Ruby apareció en el año 1995 y creo que su principal problema había sido

la falta de documentación en otro idioma que no sea japonés. Eso se ha ido

solucionando y crece la popularidad del lenguaje. Su aplicación insignia,

por decirlo de algún modo parece ser RoR. Su mecanismo de gem se me parece

al CPAN de Perl y al Pear de PHP. leer más

¿Por qué deberías aprenderlo?

Simple y funcional, el uso de Active Record de forma eficiente simplifica y agiliza el desarrollo de forma notable. Al minimizar el

trabajo con la base de datos (escribiendo triggers y procedimientos almacenados) y emplear un único lenguaje para todo el

desarrollo, se consigue acortar los tiempos de desarrollo (time2market).

Oferta de trabajo

Demanda de trabajo: 5 ofertas

8.ASP

¿Qué es?

Active Server Pages (ASP) y ASP.NET es un intendo de Microsoft para introducirse en el mercado del desarrollo Web, y viene a ser

como su estandar para su servidor Web, ISS. Asp ha sido atacado por la comunidad open source desde que este apareció, y dan

numerosas razones para ello:

El propietario, una única plataforma, la lentitud…

Me gustaría decir “Si, si, y si”, pero no me debo dejar llevar. La realidad es que ASP ha sido implementado en otras plataformas y

que cuando esta funcionando bajo su servidor predeterminado IIS es relativamente rápido. leer más

¿Por qué deberías aprenderlo?

Page 6: Tutorial Básico de Ajax

Simplemente porqué en algunas ocasiones no tienes otra opción debido a la popularidad que ha alcanzado.

Oferta de trabajo

Demanda de trabajo: 557 ofertas

Seccion Programación (TuFunción)

Tutorial básocp de AJAX

Diferencia entre PHP ASP y otros lenguajes de programación

Fácil sistema de autentificación de usuarios (PHP)

Tendencia de los lenguajes de programación

Bases de datos y PHP

Consejos para escribir código Javascript

Perl está muriendo

10 Programming Languages You Should Learn Right Now

Page 7: Tutorial Básico de Ajax

Diferencias entre PHP ASP y otros lenguajesPor el 8 de Julio de 2006

EN: DESARROLLO WEB| DISEÑO| PROGRAMACION

PHP

PHP usa una mezcla entre interpretación y compilacion para intentar ofrecer a los programadores la mejor mezcla entre

rendimiento y flexibilidad.

PHP compila para tu codigo una serie de instrucciones (llamadas opcodes) siempre que estas son accedidas. Estas instrucciones

son entonces ejecutadas una por una hasta que el script termina. Esto es diferente a la manera convencional de compilacion de

lenguajes como C++ donde el código es compilado a código ejecutable que es despues ejecutado. Php es recompilado cada vez

que se solicita un script.

Esta constante recompilación puede parecer una perdida de tiempo, pero no lo es porque no hay que preocuparse de la

recompilación cada vez que realizas cambios.

Ademas, proporciona una regeneración muy rápida durante el desarrollo. Si tienes errores en el código, PHP rechazará compilar

la página hasta que tu aregles el problema, y tendrás que ejecutar tu código línea a línea hasta encontrar el problema.

Una ventaja importante de interpretar el código es que toda la memoria usada por tu código es manejada por PHP, y el lenguaje

automáticamente vacía esta memoria cuando el script finaliza. Esto significa que tu no tienes que preocuparte de las conexiones

a la base de datos, porque PHP lo hará por ti. Tampoco quiere decir que tu debes dejar hacer todo a PHP, los bueno

programadores hacen esas funciones programándolas en código teniendo un mayor control del script.ssed.

Perl

Perl es la alternativa más popular a PHP, seguramente porque es el lenguaje más antiguo tambien dentro de las alternativas. En

internet nos encontramos numerosos recursos que utilizan Perl, muchos de las aplicaciones “open source” requieren tener Perl

instalado correctamente. Perl tiene una ventaja y es que es muy flexible, y tambien tiene un gran cantidad de modulos ya

escritos.

Bien escritos los scripts en Perl se asemejan bastante a PHP. La principal causa de la sucía apariencia de Perl es por la afición de

sus desarrolladores a la escritura en “una línea” empaquetanto numerosas funcionalidades en una sola línea de código.

Perl fue descrito por su creador Larry Wall, cuando en una portada del libro O’Reilly dijo que Perl deberia ser un camello, diciendo

que Perl era sucio pero útil y podía recorrer grandes distancias sin necesidad de mucho alimento

Perl es a menudo la mejor opción cuando tu quieres aprovecharte de algunas de las librerias que ya estan escritas de

antemano.CPAN, es un repositorio de librerias bastante grande, y con una enorme cantidad de código que tu puedes tomar,

customizar y reusar. Perl tambien tiene una grande y activa comunidad de hackers.

ASP

Active Server Pages (ASP) y ASP.NET es un intendo de Microsoft para introducirse en el mercado del desarrollo Web, y viene a ser

como su estandar para su servidor Web, ISS. Asp ha sido atacado por la comunidad open source desde que este apareció, y dan

numerosas razones para ello:

El propietario, una única plataforma, la lentitud…

Me gustaría decir “Si, si, y si”, pero no me debo dejar llevar. La realidad es que ASP ha sido implementado en otras plataformas y

que cuando esta funcionando bajo su servidor predeterminado IIS es relativamente rápido.

El hecho de que puedas escribir modulos para ASP usando Visual Basic y COM podría parecer una solución realmente atractiva si

no fuera por el hecho de que ASP solo es realmente compatible con IIS. En otras plataformas hay muchas caracteristicas de ASP

que son realmente lentas.

ColdFusion

Coldfusion se hizo popular con el boom de los .COM por el hecho de ser desarrollado usando su propi IDE a su vez bastante

propicio para desarrolladores novatos que deseaban escribir código fuente exento de una gran complejidad.

Quizás el rendimiento no es el deseado pero la velocidad de desarrollo si lo es.

La desventaja principal de usar ColdFusion es que realmente no es nada amigable, y que puede parecer raro en un primer

momento. PHP y Perl, son lenguajes realmente flexibles en los que tienes mas control de lo que sucede y porque sucede. Si algo

va mal en tu código es bastante fácil resolver el problema y tomar el control sobre lo que ha sucedido. Muchas veces ColdFusion

Page 8: Tutorial Básico de Ajax

tiene una unica manera de resolver el problema y esto reduce en gran medida el control de errores del lenguaje. Sin embargo tu

puedes utilizar ColdFusion cuando estas en un equipo con personas de aptitudes técnicas limitadas.

La mayor ventaja de ColdFusion es su IDE que utiliza “CFML” (ColdFusion Markup Language), incluso programadores juniors

pueden aprender el sistema y empezar a desarrollar sus primeras páginas.

Page 9: Tutorial Básico de Ajax

Tendencia de los lenguajes de programaciónPor el 3 de Agosto de 2006

EN: INTERNET

El crecimiento de Ruby y Javascript, debido al crecimiento de las aplicaciones Web 2.0 es un hecho.

Esto está provocando un paulatino descenso de Java y C/C++.

Cómo puedes observar en el gráfico la introdución de Rails supone el comienzo de una trayectoría ascendente de Ruby.

Es destacable tambien como sql sin ser un lenguaje de programación lleva una línea continua ascendente y sin sobresaltos.

Lo normal sería pensar que este gráfico es un indicador de las habilidades necesarias en un futuro por un desarrollador web, pero

la realidad es bien distinta aquí en España, sólo habría que darse una vuelta por algún portal de empleo y ver las habilidades que

requieren las empresas…

Page 10: Tutorial Básico de Ajax

Tutorial Básico de AjaxPor el 7 de Septiembre de 2006

EN: INTERNET

AJAX no es un lenguaje exactamente su nombre viene dado por el acrónimo de Asynchronous JavaScript And XML y es

posiblemente la mayor novedad en cuanto a programación web en estos últimos años.

El corazón de Ajax es 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, estamos hablando del verdadero motor de Ajax, por ejemplo

gracias a este objeto podemos desde una página HTML leer datos de una web o enviar datos de un formulario sin necesidad de

recargar la página.

Puedes programar numerosas nuevas aplicaciones enfocadas desde una visión distinta como es el caso de este paginador

AJAX, si esto no te convence a leer este artículo prueba a ver 10 razones para usar AJAX.

1. Basado en los estándares abiertos2. Usabilidad3. Válido en cualquier plataforma y navegador4. Beneficia las aplicaciones web5. No es dificil su utilización6. Compatible con Flash7. Adoptado por los “gordos” de la tecnología web8. Web 2.09. Es independiente del tipo de tecnología de servidor que se utilice10. Mejora la estetica de la web

La manera más fácil para comprender realmente la funcionalidad de Ajax es ver cómo funciona una aplicación web con Ajax y

cómo una sin Ajax.

Sin Ajax

Se crearía una página con un formulario, cuando el usuario envia los datos del formulario se produce una conexión a la base de

datos y se muestra por pantalla la página que el servidor devuelve, todo esto hace que se recargue la página ya sea saltando a

una diferente o a ella misma, el usuario debe esperar una nueva carga de página despues de cada envío.

Es lento porque debe descargar la información HTML por duplicado.

Con Ajax

Utilizariamos un código Javascript que que crearía el mencionado objeto XMLHttpRequest al enviar el formulario, esta llamada se

produce de forma asincrona lo que significa que se envían los datos y no se recarga la página, una vez el servidor responde una

función Javascript es la que valora la respuesta del servidor, si esta respuesta es la deseada imprimeremos el texto que indique

al usuario que sus datos fueron enviados correctamente.

El navegador no recarga la página, la experiencia desde el punto de vista del usuario es muy satisfactoria puesto que se asemeja

a la respuesta del típico software de escritorio, ya no te planteas enlazar páginas sino enviar y recibir datos en una misma página

que mediante funciones evalua las diferentes respuestas.

Es bastante más rápido puesto que no tiene que descargar de nuevo el código HTML de la página de confirmación del

formulario.

Ejemplo objeto XMLHttpRequest (AJAX)

En primer lugar crearemos nuestro objeto ActiveX en IExplorer y un objeto nativo en el resto de navegadores que lo soportan, y

es por ello que tendremos que ver qué objeto creamos, controlandolo con diferentes condiciones, con esto conseguimos que el

navegador cree una instancia del objeto apropiado, dependiendo del navegador usado por el usuario.

function nuevoAjax(){var xmlhttp=false;try {xmlhttp = new ActiveXObject(“Msxml2.XMLHTTP”);} catch (e) {try {

Page 11: Tutorial Básico de Ajax

xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP”);} catch (E) {xmlhttp = false;}}

if (!xmlhttp && typeof XMLHttpRequest!=’undefined’) {xmlhttp = new XMLHttpRequest();}return xmlhttp;}

Una vez hayamos comprendido y realizado este paso tendremos que tener en cuenta los métodos y propiedades que nos ofrece

AJAX:

Métodos

abort() – Detiene la petición en curso.

getAllResponseHeaders() – Devuelve todas las cabeceras de la respuesta (etiquetas y valores) como una cadena.

getResponseHeader(etiqueta) – Devuelve el valor de la etiqueta en las cabecerasde la respuesta.

open(método,URL,asíncrona,nombre,password) – Abre una conexión con esa URL mediante ese metodo (GET o POST),

aplicando los valores opcionales de la derecha (ahora se explicará).

send(contenido) – Envía el contenido al servidor.

setRequestHeader(etiqueta,valor) – Establece el valor de una etiqueta de las cabeceras de petición.

De está lista nos detendremos en el método open que es uno de los más utilizados y el que nos permitirá utilizar la mejor

característica de Ajax que es la carga de datos externos a la página sin necesidad de recargar la misma.

Método Open

El método open prepara una conexión HTTP a través del objeto XMLHttpRequest con un método y una URL especificados.

XMLHttpRequest.open ( sMetodo, sURL [, bSincronia [, sUsuario [, sPwd ] ] ] );

sMetodo es la cadena que nos indicara el tipo de conexión (GET o POST)

sURL es la url a la que realizamos la petición

bSincronia es un campo booleano con el que podemos utilizar modo asíncrono o síncrono, si lo fijamos en “false” modo síncrono

perderiamos las mejores características de AJAX, los datos sUsuario y sPwd son opcionales y sólo aplicables en caso de caída del

servidor.

Al llamar a open el atributo readyState a 1, resetea los headers de envío y los devuelve atributos responseText, responseXML,

status y statusText a sus valores iniciales

Propiedades

onreadystatechange – Contiene el nombre de la función que se ejecuta cada vez que el estado de la conexión cambie.

readyState – Estado de la conexión, puede valer desde 0 (no iniciada) hasta 4 (completado).

responseText – Datos devueltos por el servidor en formato cadena.

responseXML – Datos devueltos por el servidor en forma de documento XML que puede ser recorrido mediante las funciones del

DOM (getEementsByTagName, etc).

status – Código enviado por el servidor, del tipo 404 (documento no encotrado) o 200 (OK).

statusText – Mensaje de texto enviado por el servidor junto al código (status), para el caso de código 200 contendrá “OK”.

Conocer estas propiedades y métodos es algo muy útil a la hora de desarrollar aplicaciones utilizando Ajax debido a la gran

ayuda que muchas de ellas ofrecen a la hora de depurar errores. Y nos da una mayor idea acerca de la potencia de esta

conjunción de tecnologías.

Ejemplo de envío de datos “GET”

function cargarContenido(){var t1, t2, contenedor;contenedor = document.getElementById(‘contenedor’);t1 = document.getElementById(‘texto1′).value;t2 = document.getElementById(‘texto2′).value;ajax=nuevoAjax();ajax.open(“GET”, “ejemploajax2.php?t1=”+t1+”&t2=”+t2,true);ajax.onreadystatechange=function() {

Page 12: Tutorial Básico de Ajax

if (ajax.readyState==4) {contenedor.innerHTML = ajax.responseText}}ajax.send(null)}

Ejemplo de envío de datos “POST”

Unicamente debemos cambiar algunas cosas en nuestra función:

Adicción de una línea adicional: setRequestHeader que especifica qué tipo de datos llegarán al servidor. Cambio del parametro

que especifica el método a “POST” y por último utilizaremos parametros para el “send”.

function cargarContenido(){var t1, t2, contenedor;contenedor = document.getElementById(‘contenedor’);t1 = document.getElementById(‘texto1′).value;t2 = document.getElementById(‘texto2′).value;ajax=nuevoAjax();ajax.open(“POST”, “ejemploajax2.php”,true);ajax.onreadystatechange=function() {if (ajax.readyState==4) {contenedor.innerHTML = ajax.responseText}}ajax.setRequestHeader(“Content-Type”, “application/x-www-form-urlencoded”);ajax.send(“t1=”+t1+”&t2=”+t2)}

Diferencia entre el método GET y POST

Es aconsejable elegir “GET” para aquellas peticiones en las que se soliciten pocos datos y “POST” para aquellas en las que sea

necesario enviar información, especialmente si estos datos podrían superar los 512 bytes en total, puesto que por el método

“GET” no podremos recibir la totalidad de los datos.

Conclusión

La evolución de AJAX ha sido un hecho que ha marcado la tendencia en los lenguajes de programación en estos últimos años,

puedes obtener más información sobre tendencias de lenguajes de programación en esta gráfica.

Espero que el tutorial haya servido de ayuda no dudeis en visitar el foro si teneis alguna duda.

Para los usuarios más avanzados recomiendo el uso de la librería Prototype.

Page 13: Tutorial Básico de Ajax

Historia del lenguaje de las computadoras

Los ordenadores (computadoras) son herramientas muy útiles, pero por sí solos no pueden actuar o tomar desiciones. Los

programas que forman parte de los ordenadores, son los que nos hacen parecer que son aparatos inteligentes. ¿Pero qué son

los programas?

Los programas son un conjunto de instrucciones escritos en un lenguaje determinado, el cual consta de una sintaxis y una serie

de símbolos, donde cada uno cuenta con distintas funciones.

El lenguaje de un ordenador se lo denomina leguaje de máquina, y consiste en una codificación de instrucciones que puede

realizar un procesador, la codificación se realiza mediante la representación binaria. Es decir, cada instrucción era un conjunto

de unos y ceros.

Breve historia de los lenguajes de programación

En la década del 40, surgen representaciones para estas instrucciones. Ya no eran unos y ceros, sino que se los representaba

con palabras más fáciles de recordar (instrucciones mnemonicas) como MOVE, LDA, ADD, etc.

La relación con el código binario era directa, por cada instrucción MNEMONICA, existe una instrucción en binario y viceversa. Así

se construyen los primeros traductores que pasarán la instrucción MNEMONICA a Binario. Estos traductores recibieron el nombre

de ensambladores, y se convirtieron en el primer lenguaje de los ordenadores. De todas maneras, la programación era

complicada y difícil, porque se acercaba mucho a la forma de operar de las computadoras y no al lenguaje humano (llamados

lenguajes de programación de alto nivel).

Entre 1954 y 1957, John Bakus y sus colegas de IBM desarrollaron FORTRAN, el cual introdujo muchas ventajas sobre el

ensamblador, e hizo mas claras las operaciones básicas. La idea era hacer la programación más cercana al lenguaje natural

humano.

Poco tiempo después en 1958, surge ALGOL-58, que unía la sintaxis de FORTRAN y mejoraba la notación.

En 1960, aparece COBOL, este lenguaje tenía como objetivo ser utilizado en el procesamiento de datos a gran escala.

Inmediatamente fue adoptado en bancos, compañías y dependencias oficiales.

También en 1960 aparece LISP, un lenguaje muy distinto a los anteriores. LISP únicamente ejecuta funciones, pero estas son

Page 14: Tutorial Básico de Ajax

recursivas, es decir que pueden llamarse a sí mismas cuantas veces sean necesarias. LISP es especialmente utilizado para crear

inteligencia artificial.

Para la misma época, también aparecen FORTH y APL, aunque pasaron algunos años para que realmente entraran en uso. A

estos los siguió PL/I, que intentó reunir en un solo programa las características de FORTRAN y COBOL, sin embargo el resultado

fue un lenguaje sumamente complicado y se dejó de utilizar.

En 1965, John Kemey y Thomas Kurtz crean BASIC, con la intención de que se convierta en un lenguaje de enseñanza.

En 1970, el profesor Niklaus Wirth crea el lenguaje PASCAL a partir del ALGOL-58, también con fines didácticos.

En la misma época nace C, un lenguaje que conjuga estructuración, formalismo y sencillez. Con el se desarrolla el sistema

operativo UNIX, también surge PROLOG, del cual se esperaba poder desarrollar inteligencia artificial.

El manejo de bases de datos llevó al desarrollo de un lenguaje proposicional llamado base de datos relacional, la

implementación del lenguaje fue desarrollado por IBM con el SQL.

En los años 80, Smalltalk, implementó la programación orientada a objetos, con el SIMULA-67, el concepto fue

revolucionario y así muchos lenguajes lo fueron incorporando como C, que con la orientación a objetos paso a llamarse C++.

De SQL surge dBase, del cual surgieron copias como por ejemplo Fox, Clipper, RBASE, Oracle, INFORMIX, etc., al conjunto de

estos programas se los denominó 4GL, (Lenguajes de Cuarta  Generación).

Actualmente los lenguajes se orientan al contenido multimedia, a internet y los dispositivos móviles.

Page 15: Tutorial Básico de Ajax

¿Qué lenguaje de programación estudiar?

Es difícil saber qué lenguaje de programación es útil para aprender, y cuál se usará más en el futuro. La informática es muy cambiante... ¿quién hubiera pensado la revolución que causaría internet hace menos de 15 años?. Incluso la gran red de redes cambió radicalmente los lenguajes que se emplean y que se emplearán. ¿y la masificación de los celulares?, la programación de aplicaciones para celulares será muy solicitada en el futuro...

Creo que para elegir los lenguajes de programación más apropiados, uno debe evaluar la tecnología actual, observar su posible evolución. Por ejemplo, evidentemente los lenguajes relacionados a la web, (la web en 3D, la animación web, la interactividad), comienzan a hacerse cada vez más populares por el aumento en la velocidad de acceso a internet de los usuarios del hogar.

Básicamente, para la web, se debería saber manejar HTML (que no es un lenguaje de programación), PHP (gratuito) o ASP (de pago), consultas SQL (es lenguaje de consultas a base de datos) y JavaScript. Las aplicaciones por web comienzan a ser cada vez más utilizadas.

Para el diseño de gráficos web, Flash y su lenguaje de programación ActionScript, y Shockwave.

También se pide mucho de Java, que tiene su versión para celulares y dispositivos móviles llamada J2ME.

En tanto, para las aplicaciones que se instalan en la computadora, Python está teniendo gran aceptación, pues es fácil de aprender, gratuito y libre. Aunque también los .NET de Microsoft pisan fuerte también.

Page 16: Tutorial Básico de Ajax

¿Qué es un Exabyte?

Unidad de medida informática simbolizada como EB. Un exabyte equivale a 1024 petabytes.

El orden de las unidades de almacenamiento es el siguiente: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte, Petabyte,

Exabyte, Zettabyte, YottaBytee, Brontobyte

Para hacernos una idea recurramos a los petabytes que nos va a facilitar la comprensión.

¿Y Cuanto es un Petabyte?

Pues mil millones de Gigabytes, que se dice pronto. Esto equivaldría más o menos a 3.500.000.000 canciones en mp3, 500.000

de horas de vídeo en DivX.

8 Bits = 1Byte1024 Bytes = 1 Kilobyte1024 Kilobytes = 1 Megabyte1024 Megabytes = 1 Gigabyte1024 Gigabytes = 1 Terabyte1024 Terabytes = 1 Petabyte1024 Petabytes = 1 Exabyte1024 Exabytes = 1 Zettabyte1024 Zettabytes = 1 YottaByte1024 YottaBytes = 1 Brontobyte1024 Brontobytes = 1 GeopByte

Para hacernos una idea:

El tráfico anual de Internet se estima en entre 5 y 8 exabytes.El tamaño de Internet (entendido como almacenamiento) se estima en cerca de 500 exabytes.

Page 17: Tutorial Básico de Ajax

The Computer Language  Benchmarks Game     HelpCompare the performance of ≈30 programming languages using ≈12 flawed benchmarks and ≈1100 programs

After all, facts are facts, and although we may quote one to another with a chuckle the words of the Wise Statesman, 'Lies--damned lies--and statistics,' still there are some easy figures the simplest must understand, and the astutest cannot wriggle out of. Leonard Henry Courtney, 1895

Programming language performance comparisons Z to A

Smalltalk VisualWorks uniform reflective environment - real live objects

Scheme PLT statically-scoped properly tail-recursive dialect of lisp

Scala higher-order type-safe programming for jvm

Ruby MRI programmer fun - everything is an object scripting

JRuby everything is an object scripting for jvm

Ruby 1.9 the new Ruby

CPython uncluttered imperative programming plus objects

Python 3 the new Python

PyPy jit compiler compatible with python 2.5

PHP scripts embedded in html and much more

Perl server-side shell & cgi scripts

Free Pascal imperative programming plus objects

OCaml modular type-safe strict functional programming plus objects

Mozart/Oz multi-multi-multi-paradigm distributed programming

LuaJIT jit compiler fully compatible with lua 5.1

Lua associative arrays for extensible embedded scripting

Lisp SBCL pioneering s-expression oriented programming

JavaScript V8 web-browser embedded scripting

JavaScript TraceMonkey ubiquitous web-browser embedded scripting

Java 6 steady state approximate jvm steady state

Java 6 -Xint ubiquitous bytecode interpreter virtual machine

Java 6 -server ubiquitous jit server virtual machine

Haskell GHC lazy pure functional programming

Go 6g 8g types just are - Go is an experiment

Fortran Intel pioneering numeric and scientific programming

F# Mono higher-order type-safe programming (mono is not ms .net)

Erlang HiPE concurrent real-time distributed fault-tolerant software

C++ GNU c plus objects plus generics

C# Mono oo plus functional style (mono is not ms .net)

Clean lazy & strict pure functional programming

C GNU unchecked low-level programming

ATS dependent types & linear types plus theorem proving

Ada 2005 GNAT large-scale safety-critical software

Benchmarking programming languages?

How can we benchmark a programming language?We can't - we benchmark programming language implementations.How can we benchmark language implementations?We can't - we measure particular programs.Today's performance comparison.Read the source code. Contribute faster more elegant programs.

Page 18: Tutorial Básico de Ajax

Lenguajes de programación: una comparativa (más) miércoles 14 de mayo de 2008

Hoy esto va de informática y lenguajes de programación, así que agárrense.

Algo de lo que quería hablar hace un tiempo es de lenguajes de programación y

comparativas. Concretamente de la lista que se puede encontrar en esta página:

una de las comparativas más extensas (y mejores) sobre lenguajes de

programación con las que he podido dar en la red.

La comparativa está realizada sobre una misma plataforma (gentoo + pentium 4

ó debian + sempron), se han propuesto una serie de problemas algorítmicos (17 en

total) y se han programado, en cada uno de los lenguajes de programación más

famosos las 17 correspondientes soluciones. Es decir, medimos la calidad de los

lenguajes por cómo programas concretos resuelven la solución a

problemas algoritmicos.

Con las implementaciones concretas de la solución a cada problema en cada

lenguaje, se han recogido las siguientes variables:

Uso de CPU (tiempo de uso del procesador)

Uso de memoria.

Longitud del programa, en bytes tras ser comprimido

El resultado muestra una lista de lenguajes de programación ordenada por

puntuación, en la que podemos "valorar" (o "pesar") con cualquier factor cada una

de las tres variables anteriores.

La comparativa, vista en un gentoo + Pentium 4, constata los siguientes hechos

(algunos sorprendentes):

El más rápido de los lenguajes es C++, seguido de C (que es en media, un 110%

más lento). Lenguajes funcionales como Haskell y Ocaml obtienen, con un 150% y

180% rendimientos superiores o iguales a los de Java (170%) C# con mono (240%)

Page 19: Tutorial Básico de Ajax

y por supuesto que los lenguajes de script. Python, Perl, y Ruby son 18, 21 y 56

veces más lentos que C++ según este benchmark. ¡Por cierto! Fortran (lenguaje

del que hablamos hace un tiempo) con G95 es un 320% más lento que C++.

Para que luego hablen maravillas sobre ese engendro diabólico del pasado...

El que menos memoria utiliza es (¡oh cielos!) Pascal, con el compilador Free

Pascal, seguido de C que usa un 160% de la memoria de Pascal. Para llegar a C++

hay que irse a la posición séptima de la lista, con un 240% de memoria. Los

extraños OCaml y Haskell otra vez se posicionan bien (en la lista están los 10 y 14),

y Java cae hasta un triste 1700%, superado de forma clara por Python (690%), Perl

(720%) o incluso por Ruby (1400%).

Pero no es oro todo lo que parece. Escribir un programa en Python, Perl o Ruby es

casi la mitad de costoso, en tamaño del código, que hacerlo en C ó C++.

Además, no hay diferencias apreciables entre los tres lenguajes de script. OCaml en

la posición 10 y Haskell en la 18 también superan (usan menos caracteres) a

los lenguajes "tipo C" (c/c++/java/c#).

Conclusión: (casi) nada nuevo bajo el sol: C y C++ son de lo más rápido (y usan

poca memoria) al ejecutar. Con Perl, Python y Ruby se escriben los programas

muy rápido y los lenguajes funcionales son bastante equilibrados en todo.

Respecto a estos últimos, por mi parte ya estoy cacharreando en ellos desde

hace un tiempo (aunque no todo lo que me gustaría).

¿Qué opináis? ¿Echáis en falta algún lenguaje en la lista? ¿Qué usáis vosotros y

por qué? ¿Preferíis sacrificar expresividad por velocidad? ¿Y sobre el uso de

memoria (algo tan sumamente obviado)? ¿Os pica la curiosidad por aprender un

nuevo lenguaje de programación? ¿Os sentíis buenos programadores sabiendo

(sólo) lo que sabéis? ¿No os convence ningún lenguaje? Queda abierta la

discusión...

Page 20: Tutorial Básico de Ajax

Comparación de lenguajes de programación

Lenguajes de programación se utilizan para controlar el comportamiento de una máquina (a

menudo a computadora). Como idiomas naturales, los lenguajes de programación se

conforman con las reglas para sintaxis y semántica.

Hay millares de lenguajes de programación[1] y los nuevos se crean cada año. Pocas idiomas

llegan a ser siempre suficientemente populares que son utilizadas por más que algunos personas,

pero mucho profesional programadores utilice las docenas de diversas idiomas durante su

carrera.

Contenido

1 Comparación general

2 Mecanografíe los

sistemas

3 Uso

4 Expresividad

5 Pruebas patrones

6 Vea también

7 Referencias

8 Acoplamientos

externos

Comparación general

La tabla siguiente compara la información general y técnica para una selección de de uso general

lenguajes de programación. Vea los artículos de las idiomas individuales para la

información adicional. Observe por favor que la tabla siguiente puede faltar una cierta

información.

Lengua Paradigma(s) Estandardizado?

ActionScript 3.0 imprescindible, orientado al objeto, event-driven Sí, ECMA

Adaconcurrente, distribuido, genérico,

imprescindible, orientado al objetoSí, ANSI, ISO

ALGOL 58 imprescindible No

ALGOL 60 imprescindible Sí, ISO

ALGOL 68 concurrente, imprescindible No

Page 21: Tutorial Básico de Ajax

APL poner en orden-orientado Sí, ISO

BASIC procesal Sí, ANSI

DICHA procesal No

Boo No

C imprescindibleSí, ANSI C89, ISO

C90/C99

C++ imprescindible, orientado al objeto, genérico Sí, ISO

C#imprescindible, orientado al objeto, genérico,

reflexivoSí, ECMA, ISO

Cromo imprescindible, orientado al objeto, genérico No

Limpio funcional, genérico No

COBOL imprescindible, orientado al objeto Sí

ColdFusion procesal, orientado al objeto No

Lisp común imprescindible, funcional, orientado al objeto Sí

Enrollamientoevent-driven, funcional, imprescindible,

orientado al objeto, genérico, reflexivoNo

D imprescindible, orientado al objeto, genérico No

Dylan funcional, orientado al objeto No

Eiffel imprescindible, orientado al objeto, genérico Sí, ECMA, ISO[2]

Erlang funcional, concurrente, distribuido No

Punto de

congelaciónfuncional No

F#funcional, orientado al objeto, imprescindible,

genéricoNo

Adelante imprescindible, apilar-orientado Sí, ANSI

FORTRAN imprescindible, procesal, orientado al objeto Sí

GraphTalk lógica-orientado, orientado al objeto No

Maravillosoimprescindible, orientado al objeto, aspecto-

orientadoNo

Haskell funcional, genérico, evaluación perezosa No

Io imprescindible, orientado al objeto No

J poner en orden-orientado, función-nivel, tácito No

Javaimprescindible, orientado al objeto, genérico,

reflexivoNo

Javascriptimprescindible, orientado al objeto, funcional,

reflexivoSí

Page 22: Tutorial Básico de Ajax

Alegría funcional, apilar-orientado No

Lisp funcional, reflexivo; otros varían por dialecto solamente lisp común

Lua procesal, imprescindible, reflexivo No

Mathematica funcional, procesal No

M-código de MATLAB imprescindible No

Modula-2 imprescindible, genéricoSí, ISO/IEC 10514-1:

1996

Modula-3 imprescindible, orientado al objeto, genérico No

Oberon imprescindible, orientado al objeto No

Objetivo-c imprescindible, orientado al objeto, reflexivo Sí

Caml objetivoorientado al objeto, funcional, imprescindible,

genéricoNo

PASCAL del objeto

(Delphi)imprescindible, orientado al objeto, genérico No

Onzalógica, funcional, imprescindible, orientado al

objeto, concurrente - multi paradigmaNo

PASCAL imprescindible, procesal Sí

Perlimprescindible, procesal, reflexivo, funcional,

orientado al objeto, genéricoNo

PHP imprescindible, orientado al objeto, reflexivo No

Prólogo lógica Sí, ISO

Pythonimprescindible, orientado al objeto, funcional,

aspecto-orientado, reflexivoNo[3]

Rubíimprescindible, orientado al objeto, aspecto-

orientado, reflexivoNo

Argot imprescindible, procesal No

Scala orientado al objeto, funcional, genérico No

Esquema funcional Sí

Paliqueorientado al objeto, concurrente, event-driven,

imprescindible, declarativoSí, ANSI

Tcl imprescindible, procesal, event-driven No

Básico visual componente-orientado, event-driven No

.NET básico visual orientado al objeto, event-driven No

Prólogo visuallógico, orientado al objeto, funcional, event-

driven, imprescindible, declarativoNo

Windows PowerShell imprescindible, orientado al objeto, funcional, No

Page 23: Tutorial Básico de Ajax

tubería, reflexivo

XL

programación del concepto, imperativo (por

defecto), orientado al objeto (modelos

múltiples),

No

Lengua Paradigma(s) Estandardizado?

Mecanografíe los sistemas

LenguaMecanografíe

la fuerza

Mecanografíe la

seguridad

Expresión de

tipos“Compatibilidad”

Mecanografíe la

comprobación

ActionScript 3.0 fuerte seguro estático

Ada fuerte seguro explícito nominativo estático

ALGOL 58 fuerte seguro estático

ALGOL 60 fuerte seguro estático

ALGOL 68 fuerte seguro estructural

estático o

dinámico (unión

marcada con

etiqueta)

APL fuerte seguro dinámico

BASICvaría por

dialecto

DICHA ningunos n/a n/a n/a n/a

Boo fuerte implícito

C débil inseguro explícito nominativo estático

C++ fuerte

caja fuerte

(solamente

inseguros

permitidos)

explícito,

parcialmente

implícito

nominativo,

estructural

parásitos

atmosféricos,

dinámicos

C# fuerte

caja fuerte

(solamente

inseguros

permitidos)

implícito nominativo estático

Limpio fuerte implícito estático

COBOL fuerte estático

ColdFusion débil implícito dinámico

Lisp común fuerte seguro dinámico

Enrollamiento fuerte seguroimplícito,

explícitonominativo dinámico, estático

Page 24: Tutorial Básico de Ajax

D fuerte inseguro explícito estático

Dylan fuerte seguro dinámico

Eiffel fuerte seguro nominativo estático

Erlang fuerte dinámico

F# fuerte seguro implícito nominativo estático

Adelante ningunos n/a n/a n/a n/a

FORTRAN fuerte seguro nominativo estático

GraphTalk débil

Maravilloso fuerte seguro implícito dinámico

Haskell fuerte implícito estructural estático

Io fuerte dinámico

J fuerte seguro dinámico

Java fuerte seguro explícito nominativo estático

Javascript débil dinámico

Alegría fuerte seguro dinámico

Lisp fuerte dinámico

Lua fuerte seguro implícito dinámico

Mathematica fuerte dinámico

M-código de

MATLABdinámico

Modula-2 fuerte

caja fuerte

(solamente

inseguros

permitidos)

explícito estructural estático

Modula-3 fuerte

caja fuerte

(solamente

inseguros

permitidos)

explícito estructural estático

Oberon fuerte seguro explícito estático

Objetivo-c fuerte explícito estático

Caml objetivo fuerte seguro implícito estructural estático

PASCAL del

objeto (Delphi)fuerte

caja fuerte

(solamente

inseguros

permitidos)

explícito nominativo estático

Oxygene fuerte caja fuerte implícito estático

Page 25: Tutorial Básico de Ajax

(solamente

inseguros

permitidos)

Onza dinámico

PASCAL fuerte seguro explícito estático

Perl débil implícito dinámico

PHP débil dinámico

Prólogo fuerte dinámico

Python fuerte seguro implícito dinámico

Rubí fuerte implícito dinámico

Argot fuerte seguro dinámico

Scala fuerteparcialmente

implícitoestático

Esquema fuerte dinámico (latente)

Palique fuerte seguro implícito dinámico

Tcl dinámico

Básico visual fuerte seguro nominativo estático

.NET básico

visualfuerte estático

Prólogo visual fuerte seguro nominativo estático

Windows

PowerShellfuerte seguro implícito dinámico

XL fuerte seguro nominativo estático

LenguaMecanografíe

la fuerza

Mecanografíe la

seguridad

Expresión de

tipos“Compatibilidad”

Mecanografíe la

comprobación

UsoLengua Uso previsto Metas del diseño

ActionScript 3.0 Diseño del Web

AdaUsos encajados, en tiempo

realConfiabilidad

ALGOL Uso Legibilidad, estructura

APL De proceso de datos Brevedad, expresividad

AutoIt Automatización, Scripting Desarrollo muy rápido

BASIC Educación Simplicidad

DICHA Sistema Mecanografíe libremente

Page 26: Tutorial Básico de Ajax

Boo Uso Python-como sintaxis, extensibilidad

C Sistema Acceso del nivel bajo, constreñimiento mínimo

C++ Uso, sistema Abstracción, eficacia, compatibilidad

C# Uso Desarrollo rápido del uso

Cromo UsoAmplía PASCAL del objeto al trabajo

sobre .NET

Limpio General Corrección, modularidad

COBOL Negocio y usos financieros Legibilidad

ColdFusion Desarrollo del Web Desarrollo rápido del uso, facilidad de empleo

Lisp común General Estandardice Lisp

Enrollamiento Usos ricos del Internet Eficacia, compilación rápida, expresividad

D Uso, sistema Compilability, corrección, eficacia

Dylan Uso, generalDinámico pero bien adaptado para el software

comercial

Eiffel Uso Corrección, eficacia, “diseño por el contrato”

ErlangTelecomunicación y usos

distribuidosTolerancia de avería, Scalability

F# Uso

Adelante Uso, sistemas encajados Puestas en práctica compactas

FORTRAN Usos científicos y numéricos Eficacia Runtime, sintaxis simple

GraphTalk

Maravilloso Uso Compatibilidad de JVM

Haskell UsoEvaluación perezosa, efecto secundario

explícito

Io Uso, Scripting Host-driven

J De proceso de datosBrevedad, expresividad, manipulación de

datos de gran alcance

Java Uso“Escriba una vez el funcionamiento

dondequiera”

JavascriptTela lateral del cliente

scripting

AlegríaInvestigación de la

programación funcionalConcatenative

Lisp GeneralNotación simple para el cálculo de la lambda,

Homoiconicity

Lua Scripting Host-driven Pequeño, encajado, configuración.

Page 27: Tutorial Básico de Ajax

MathematicaCómputo y visualización

numéricos

M-código de MATLABCómputo y visualización

numéricos

Modula-2Uso, programación de

sistemasMódulos de fuente, Co-rutinas, brevedad.

Modula-3 Extensión de OO de Modula-2

OberonUso, programación de

sistemas Tipo-segura

Simplicidad, seguridad y eficacia; Simplifed

Modula-2

Objetivo-c UsoEl palique tiene gusto, reutilización basada

componente del código, compatibilidad de C

Caml objetivo Uso Eficacia, robustez, corrección

PASCAL del objeto

(Delphi)Uso, sistema

Legibilidad, desarrollo rápido del uso,

modularidad

Onza Educación

PASCAL Educación Legibilidad, disciplina, modularidad

Perl Proceso de texto, Scripting Brevedad, expresividad

PHP Uso del Web, CLI Robustez y simplicidad

PrólogoEl solucionar de problema,

inteligencia artificialProgramación declarativa

Python Uso, educación, ScriptingSimplicidad, legibilidad, expresividad,

modularidad

REALbasic UsoDesarrollo rápido del uso, simplicidad, Multi-

plataforma

Rubí Uso, Scripting Expresividad, legibilidad

Argot Uso, numérico, ScriptingHuella pequeña, caracteres numéricos

encajados, rápidos

Scala Educación

Esquema General, educación Minimalistic, Scoping léxico

Palique Uso, educación Uniformidad, orientado al objeto puro

SNOBOL Proceso de texto

Tcl Uso, Scripting

Básico visual Uso Desarrollo rápido del uso, simplicidad

.NET básico visual Uso Desarrollo rápido del uso, simplicidad

Windows PowerShell Automatización, ScriptingAplicabilidad, “una lengua para programarlos

todos”

Page 28: Tutorial Básico de Ajax

XL

Lengua Uso previsto Metas del diseño

Expresividad

La literatura en

lenguajes de

programación

contiene una

abundancia de

demandas informales

sobre su energía

expresiva relativa,

pero no hay marco

para formalizar tales

declaraciones ni para

derivar consecuencias

interesantes.[6] Esta carta proporciona dos medidas de expresividad a partir de dos diversas

fuentes. Una medida adicional de expresividad, en los octetos de GZip, se puede encontrar con

Compare a herramienta en El juego de las pruebas patrones del lenguaje de programación.

Pruebas patrones

Pruebas patrones se diseñan mímico un tipo particular de carga de trabajo en un componente o

un sistema. Los programas de computadora usados para compilar algunos de los datos de la

prueba patrón en esta sección no pudieron haber sido optimizados completamente, y la

importancia de los datos se disputa. Las pruebas patrones más exactas son las que se modifican

para requisitos particulares a su situación particular. Los datos de la prueba patrón de la gente

pueden tener cierto valor a otras, pero la interpretación apropiada trae muchos desafíos. Vea

esto página sobre pruebas patrones y comparaciones dañadas. El juego de las pruebas

patrones del lenguaje de programación el sitio contiene una gran cantidad de micro-pruebas

patrones de los snippets lector-contribuidos del código, con un interfaz que genere varias cartas y

las tablas que comparan lenguajes de programación y tipos específicos de pruebas.

Vea también

Lista alfabética de lenguajes de programación

Comparación de instrucciones básicas de lenguajes de programación

LenguaCociente de las

declaraciones[4]Alinea cociente[5]

C 1 1

C++ 2.5 1

FORTRAN 2.5 0.8

Java 2.5 1.5

MS básico visual 4.5  ?

Perl 6 6

Palique 6 6.25

Python 6 6.5

Page 29: Tutorial Básico de Ajax

Lenguaje de programación educativo

Crestomatía del programa

Lenguaje de programación

Referencias

1. ^ En fecha mayo 2006 Diarmuid Pigott Enciclopedia de los lenguajes de

programación recibido en Universidad de Murdoch, Australia listas 8512 lenguajes

de programación.

2. ^ ECMA-367; ISO/IEC 25436:2006

3. ^ Se hacen los cambios de la lengua usando un procedimiento formalmente

documentado, comenzando con una oferta del realce del Python (PEP) S. Los lanzamientos

de la versión del Python se acompañan con un manual de referencia de la lengua que

demuestra sintaxis y la semántica; una puesta en práctica de la referencia, y habitación

de la prueba. Éstos se utilizan para generar otras puestas en práctica del Python tales

como Jython e IronPython

4. ^ Datos de Cifre completo. Cociente de las declaraciones la columna “demuestra

cocientes típicos de las declaraciones de la fuente en varios idiomas de alto nivel al código

equivalente en la C. Un cociente más alto significa que cada línea del código en la lengua

enumerada logra más que cada línea del código en la C.

5. ^ El cociente de la línea pruebas de la cuenta ganó por cada lengua al número ganado por

C al usar Compare a característica en

http://shootout.alioth.debian.org/debian/c.php. El mayo de 2006 actualizado pasado.

El GCC de C fue utilizado para C, C++ g++ fue utilizado para C++, el FORTRAN G95 fue

utilizado para el FORTRAN, el servidor del JDK de Java fue utilizado para Java, y el palique

GST fue utilizado para el palique.

6. ^ De En la energía expresiva de lenguajes de programación, Matthias Felleisen, 3ro

simposio europeo de ESOP '90 sobre la programación.