jueves, 13 de febrero de 2014

Lenguajes de Programacion Web





HTML

La información publicada en la Web debe ser mediante un lenguaje que sea entendido universalmente. El lenguaje utilizado por la World Wide Web es el HTML, actualmente el lenguaje hipermedia más aceptado a nivel mundial. Por tanto, es uno de los lenguajes de programación web más importante y uno de los más usados para la creación de documentos. El HyperText Markup Language (HTML) es un lenguaje de marcado que se diseñó con el objetivo de estructurar documentos y mostrarlos en forma de hipertexto. El mismo brinda la información correspondiente relacionada con el contenido a mostrar en cada fragmento de información, y permite establecer relaciones unidireccionales entre documentos. Los archivos pueden tener las extensiones (htm, html). Este lenguaje cumple con dos objetivos fundamentales para el diseño y visualización de un documento digital:
  • Organiza un documento en elementos lógicos, tales como: encabezado, párrafo, etc.
  • Define las operaciones tipográficas y las funciones que debe ejecutar un programa visualizador sobre dichos elementos.
Permite además a los autores:
  • La publicación de documentos en línea con títulos, textos, tablas, listas, fotos, etc.
  • La recuperación de la información en línea mediante enlaces de hipertexto.
  • Diseñar formularios para la realización de transacciones con servicios remotos, para su uso en la búsqueda de información, hacer reservas, pedir productos, etc.
  • Insertar hojas de cálculo, videoclips, clips de sonido, y otras aplicaciones directamente en sus documentos.
  • Este lenguaje es interpretado por los navegadores de acuerdo a su criterio, esto permite que una misma página web se pueda mostrar de diferentes formas según el navegador.
JAVASCRIPT




JavaScript es un lenguaje de programación orientado a objetos. Es un lenguaje dinámico, las variables no necesitan ser introducidas antes de su uso y los tipos de variables se resuelven dinámicamente durante su ejecución. Se trata de un lenguaje de programación del lado del cliente, porque es el navegador el que soporta la carga de procesamiento. Fue creado por Brendan Eich en la empresa Netscape Communications. El código JavaScript que se encuentra dentro de las páginas web puede ser interpretado por todos los navegadores. Permite que las definiciones de funciones y otro tipo de código sean modificados mientras el programa se esté ejecutando. El modelo de ejecución de JavaScript se basa en la interpretación del código fuente. Es un lenguaje de alto nivel, multiplataforma y no necesita compilación. Está basado en objetos, admite la programación estructurada y maneja la mayoría de los eventos que se pueden producir sobre la página web. La mayoría de los navegadores en sus últimas versiones interpretan el código Javascript integrado dentro de las páginas web.
Hojas de Estilo en Cascada


Las Hojas de estilo en Cascada, en inglés Cascading Style Sheets (CSS), fueron diseñadas y desarrolladas por la World Wide Web Consortium (W3C). Una hoja de estilos CSS es el tipo de documento que utiliza un navegador Web para redefinir las propiedades de los distintos elementos y las etiquetas en el código HTML. Permite dar formato a los documentos de forma global. Proporciona al diseñador de páginas web definir un conjunto de ampliaciones HTML especiales y aplicarlas al documento. Provee la especificación e intercambio de los fondos para textos y documentos, así como sus tipos y tamaños de fuente. Las definiciones del formato de un documento se pueden colocar en archivos separados y aplicarlas a un grupo de documentos. Posibilitan además aplicar un formato modificado a documentos HTML ya existentes. Con los CSS se puede aplicar a un documento diferentes estilos de orígenes. Los CSS constituyen una herramienta poderosa para el diseño de documentos HTML, pues permiten modificar la representación del documento mediante la asignación de un nuevo estilo.

PHP

Es un lenguaje que está implementado especialmente para el desarrollo web. PHP: Hypertext Preprocessor (PHP) es un lenguaje de programación web de alto nivel que se ejecuta en el servidor.

PHP 5

PHP 5 se lanzó oficialmente en septiembre del 2004, utilizando el motor Zend Engine 2.0 (o Zend Engine 2). El objetivo principal de PHP 5 ha sido perfeccionar los mecanismos de la Programación Orientada a Objetos para dar solución a las carencias de las versiones anteriores. Incluye modificadores de control de acceso para implementar el encapsulamiento y el manejo de excepciones, lo cual no existía en versiones anteriores. En PHP 5, no es necesario pasar objetos por referencia. Incluye numerosas funcionalidades explícitas como constructores y destructores, objeto de clonación, la clase de abstracción, herencia, no requiere definición de tipos de variables ni manejo detallado del bajo nivel. Se pueden aplicar tantas interfaces como quiera y brinda un mejor soporte para la programación orientada a objetos y la lectura de archivos XML. Es un lenguaje que se caracteriza por ser Open-Source y de obtención gratuita, lo que lo convierte en una alternativa de fácil acceso para todos. Su flexibilidad lo convierte en un lenguaje muy sencillo de aprender; principalmente para los desarrolladores que han trabajado con lenguajes como Perl, C o Java, ya que posee similitudes de sintaxis con los mismos. Es portable y multiplataforma (Linux, Windows, entre otros). Trabaja sobre la mayoría de servidores web y está preparado para interactuar con la mayoría de Sistemas de Gestión de Bases de Datos (MySQL, PostgreSQL, Oracle, SQL Server, entre otros).
PERL



Perl es un lenguaje de programación diseñado por Larry Wall creado en 1987. Perl toma características del C, del lenguaje interpretado shell (sh), AWK, sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación.
Perl es un lenguaje interpretado, Perl compila los programas antes de ejecutarlos. Por eso se habla de “scripts”, y no de programas. Perl significa “Practical Extraction and Report Language”, algo así como “Lenguaje Práctico de Extracción y de Informes”
Perl es un lenguaje de propósito general originalmente desarrollado para la manipulación de texto y que ahora es utilizado para un amplio rango de tareas incluyendo administración de sistemas, desarrollo web, programación en red, desarrollo de GUI y más.

Ventajas
Tiene muchas características que facilitan la tarea del programador a costa de unos requerimientos de CPU y memoria mayores. Éstas incluyen gestión de memoria automática; tipo de dato dinámico; strings, listas y hashes; expresiones regulares; introspección y una función eval().
La sintaxis de Perl refleja la idea de que "cosas que son diferentes deben parecer diferentes". Por ejemplo, escalares, arrays y hashes tienen diferente sigil. Índices de array y claves hash usan diferentes clases de paréntesis. Strings y expresiones regulares tienen diferentes delimitadores estándar. Esta aproximación puede contrastarse con lenguajes como Lisp, donde la misma construcción S-expresión y sintaxis básica se usa para muchos y variados propósitos.
Perl tiene características que soportan una variedad de paradigmas de programación, como la imperativa, funcional y la orientada a objetos. Al mismo tiempo, Perl no obliga a seguir ningún paradigma en particular, ni obliga al programador a elegir alguna de ellas.


Desventajas
El prefacio de Programming Perl comienza con, "Perl es un lenguaje para tener tu trabajo terminado". Una consecuencia de esto es que Perl no es un lenguaje ordenado. Incluye características si la gente las usa, tolera excepciones a las reglas y emplea la heurística para resolver ambigüedades sintácticas.
A veces los errores pueden ser difíciles de encontrar.

Ruby

Ruby es un lenguaje con un balance cuidado. Su creador, Yukihiro “matz” Matsumoto, mezcló partes de sus lenguajes favoritos (Perl, Smalltalk, Eiffel, Ada, y Lisp) para formar un nuevo lenguaje que incorporara tanto la programación funcional como la programación imperativa.

 Algo de historia
El lenguaje fue creado por Yukihiro "Matz" Matsumoto, quien empezó a trabajar en Ruby el 24 de febrero de 1993, y lo presentó al público en el año 1995. Desde su liberación pública en 1995, Ruby ha atraído devotos desarrolladores de todo el mundo. En el 2006, Ruby alcanzó reconocimiento masivo, formándose grupos de usuarios activos en las ciudades más importantes del mundo y llenando las capacidades de las conferencias relacionadas a Ruby. El índice TIOBE, que mide el crecimiento de los lenguajes de programación, ubica a Ruby en la posición #13 del ranking mundial. Refiriéndose a su crecimiento, predicen, “Todo indica que Ruby llegará a estar entre los 10 primeros en menos de 6 meses”. Gran parte de su crecimiento se atribuye a la popularidad alcanzada por aplicaciones desarrolladas con Ruby, en particular el Framework de desarrollo web Ruby on Rails.
Objetivo
El creador del lenguaje, ha dicho que Ruby está diseñado para la productividad y la diversión del desarrollador, siguiendo los principios de una buena Interfaz de usuario. Sostiene que el diseño de sistemas necesita enfatizar las necesidades humanas más que las de la máquina. Ruby es totalmente libre. No sólo gratis, sino también libre para usarlo, copiarlo, modificarlo y distribuirlo. En Ruby, todo es un objeto. Se le puede asignar propiedades y acciones a toda información y Código. La programación orientada a objetos llama a las propiedades variables de instancia y las acciones son conocidas como métodos. La orientación a objetos pura de Ruby se suele demostrar con un simple código que aplica una acción a un número. Ruby sigue la influencia del lenguaje Smalltalk pudiendo poner métodos y variables de instancia a todos sus tipos de datos. Esto facilita el uso de Ruby, porque las reglas que se aplican a los objetos son aplicables a todo Ruby. Ruby es considerado un lenguaje flexible, ya que permite a sus usuarios alterarlo libremente.

Funcionalidades

  • Manejo de excepciones, como Java y Python, para facilitar el manejo de errores.
  • Un verdadero mark-and-sweep garbage collector para todos los objetos de Ruby. No es necesario mantener contadores de referencias en bibliotecas externas. Como dice Matz, “Esto es mejor para tu salud”.
  • Escribir extensiones en C para Ruby es más fácil que hacer lo mismo para Perl o Python, con una API muy elegante para utilizar Ruby desde C. Esto incluye llamadas para embeber Ruby en otros programas, y así usarlo como lenguaje de scripting. También está disponible una interfaz SWIG.
  • Puede cargar bibliotecas de extensión dinámicamente si lo permite el sistema operativo.
  • tiene manejo de hilos (threading) independiente del sistema operativo. De esta forma, tienes soporte multi-hilo en todas las plataformas en las que corre Ruby, sin importar si el sistema operativo lo soporta o no, ¡incluso en MS-DOS!
  • Ruby es fácilmente portable: se desarrolla mayoritariamente en GNU/Linux, pero corre en varios tipos de UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, etc.

Características generales del lenguaje

  1. Orientado a objetos
  2. Cuatro niveles de ámbito de variable: global, clase, instancia y local.
  3. Manejo de excepciones
  4. Iteradores y clausuras o closures (pasando bloques de código)
  5. Expresiones regulares nativas similares a las de Perl a nivel del lenguaje
  6. Posibilidad de redefinir los operadores (sobrecarga de operadores)
  7. Recolección de basura automática
  8. Altamente portable
  9. Hilos de ejecución simultáneos en todas las plataformas usando green threads
  10. Carga dinámica de DLL/bibliotecas compartidas en la mayoría de las plataformas.
  11. Introspección, reflexión y metaprogramación
  12. Amplia librería estándar
  13. Soporta inyección de dependencias
  14. Soporta alteración de objetos en tiempo de ejecución
  15. Continuaciones y generadores

Referancias: