jueves, 8 de diciembre de 2011

Lenguajes de programación: JSP

Lenguajes de programación: JSP: JSP: Es un lenguaje para la creación de sitios web dinámicos, acrónimo de Java Server Pages. Está orientado a desarrollar páginas web en Jav...



PHP



PHP: Es un lenguaje de programación interpretado diseñado originalmente para la creación de páginas web dinámicas. Se usa principalmente para interpretación del lado del servidor, pero actualmente puede ser utilizado desde una interfaz de línea de comandos o en la creación de otros tipos de programas incluyendo aplicaciones con interfaz gráfica usando las bibliotecas Qt o GTK+. 




CARACTERÍSTICAS 

  • Más rápido que ASP
  • Lenguaje más fácil y potente
  • Integración perfecta más de ocho servidores HTTP
  • Diseño modular de fácil ampliación
  • Licencia abierta
  • Acceso a 20 tipos de base de datos.

VENTAJAS 

  • Es un lenguaje multiplaforma
  • Capacidad de conexión con la mayoría de los manejadores  de base de datos que se utilizan en la actualidad, destaca su  conectividad con MySQL.
  • Capacidad de expandir su potencial utilizando la enorme cantidad de módulos.
  • Es libre, por lo que presenta como una alternativa de fácil acceso para todos.
  • Permite las técnicas de programación orientada a objetos.
  • No requiere  definición de tipos de variables.
  • Tiene manejo de excepciones.
DESVENTAJAS

  •  No posee abstracción de base de datos estándar, sino bibliotecas especializadas para cada motor 
  • No posee adecuado manejo de internacionalización, unicode, etcétera.
  • Por su diseño  dinámico no puede ser compilado y es muy difícil de optimizar.
  • Por sus características  favorece la creación  de código desordenado y complejo de mantener.

JAVA

Java: Es un lenguaje de programación orientado a objetos, desarrollado por Sun Mycrosystems a los principios del los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++ pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.


Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible. En el tiempo de ejecución, el bytecode  es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.


SERVLETS 


Los servlets son componentes de la parte del servidor de Java EE, encargados de generar respuestas a las peticiones recibidas de los clientes. 


Son una mezcla de código Java y código HTML. Estos programas se ejecutan en un servidor web y construyen páginas web dinámicas. Construir páginas web dinámicas es sumamente útil, ya que gracias a esto se puede interactuar con una página y no solo leer como pasa con páginas desarrolladas con simple código HTML.


VENTAJAS DE SERVLETS

Los Servlets Java son efiecientes, fáciles de usar, poderosos, portables y fáciles de implementar para cualquier persona que conozca el lenguaje de programación Java.

Conveniencia: Los Servlets tienen una gran infraestructura para análisis automático y decodificación  de datos de formularios HTML, leer y seleccionar cabeceras HTTP, manejar cookies, seguimiento de sesiones y muchas otras utilidades.

Potencia: Los Servlets se pueden comunicar directamente con el servidor web, lo cual simplifica las operaciones necesarias para buscar imágenes y otros datos almacenados en situaciones estándares. 








JSP

JSP: Es un lenguaje para la creación de sitios web dinámicos, acrónimo de Java Server Pages. Está orientado a desarrollar páginas web en Java. JSP es un lenguaje multiplataforma. Creado para ejecutarse del lado del servidor. JSP fue desarrollado  por Sun Microsystems. Comparte ventajas similares a las de ASP.NET desarrollado para la creación  de aplicaciones web potentes.  


La tecnología de JSP permite a los desarrolladores y a los diseñadores de web desarrollar rápidamente y mantener fácilmente páginas dinámicas, ricas en información como son las que soportan a sistemas de negociación. La tecnología de los JSP separa la interfaz del usuario de la parte lógica  del contenido permitiendo a los diseñadores  cambiar a su disposición las plantillas de la interfaz sin alterar  el contenido dinámico subyacente.


JSP también permite introducir código para la generación dinámica  de HTML dentro de una página we. Esta surge  por la necesidad de crear aplicaciones dinámicas para web de forma fácil, ya que la mejor parte del resultado de un programa CGI es estático. Se podría pensar entonces en JavaScript, pero este genera HTML dinámicamente en el cliente y no puede accesar a los cursos  del servidor. 


CARACTERÍSTICAS

  •  Conjunta el poder de Java  en el servidor y la flexibilidad de HTML en el browser.
  • No sólo se puede utilizar HTML, sino también XML o WML.
  • Hace más fácil reusar componentes con JavaBeans los cuales realizan tareas más especificas. 
  • Su función  es saber como procesar una solicitud para crear una respuesta.
  • Soporta contenido dinámico que refleja las condiciones del mundo real.
  • Es más rápido y fácil crear aplicaciones de web
  • Capaz de instanciar cualquier clase de Java

¿Cómo se accesa a JavaServer Pages?

Para la realizar una petición de una página JSP se sigue una forma similar al de una página HTML estática, aunque el demás procesos, el cual es transparente  para el usuario es diferente.
Para una página no dinámica se teclea un URL en el browser y éste usando un protocolo HTTp mandará una petición del archivo con extensión HTML a un servidor web y dominio determinado. Posteriormente el servidor extraerá el archivo y lo mandará al browser, el cual hace uso de las etiquetas de HTML del archivo para ser presentado al usuario final.


VENTAJAS 

Contra los Servlets, JSP no nos da nada que no pudiéramos hacer con un servlet, pero no es mucho más conveniente escribir y modificar HTML normal que tener un gran número de sentencias "print" que generen HTML. Además, es posible agregar código Java una página que fue anteriormente diseñada con puro HTML.

Contra  JavaScript puede generar HTML dinámicamente en el cliente; esta es una capacidad  útil, pero sólo maneja situaciones donde la información dinámica está basada en el entorno del cliente. Con la excepción de las cookies, el HTTP y el envío de formularios no están diponibles con  JavaScript. Debido a que se ejecuta en el cliente,  JavaScript no puede acceder  a los recursos en el lado del servidor, como bases de datos y catálogos. 

Sin embargo, es posible aprovechar las ventajas de JSP y  JavaScript si se utilizan conjuntamente. Una de las principales ventajas de  JavaScript es el manejo de entornos visuales; y la mayor ventaja de JSP sobre  JavaScript es la capacidad de comunicación dentro de un servidor; por lo cual se pueden mezclar para validar formularios que han de ser enviados al servidor. Con esto, se logra una rápida y fácil validación de los datos que el usuario del sistema introduce.






JAVASCRIPT

JavaScript: Es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico. 


Se utiliza principalmente en su forma del lado del cliente implementado como parte de un navegador web  permitiendo mejoras en la interfaz de usuario y páginas web dinámicas aunque existe una forma de JavaScript del lado del servidor.


Su uso en aplicaciones externas a la web, por ejemplo en documentos PDF, aplicaciones de escritorio es también significativo.


JavaScript se diseño con una sintaxis simular al C, aunque adopta nombres y conveciones del leguaje de programacion Java. Sin embargo Java y JavaScript no están relacionados  y tienen semánticas y propósitos diferentes.


JavaScript es muy fácil de aplicar para el desarrollo de un sitio web, pues las funciones básicas de este lenguaje son soportadas por la mayoría de los navegadores que se utilizan diariamente. 




VENTAJAS Y DESVENTAJAS 

El lenguaje de scripting  es seguro y fiable, porque está claro que debe ser interpretado, por lo que puede ser filtrado para el mismo JavaScript. La seguridad es casi total y sólo en su primera versión el CIAC (Computer Incident Advisory Committee) señalo problema de leve entidad, entre ellos la lectura de la caché y los sitios visitados, de la dirección e-mail y de los archivos presentes en el disco.

Los script tienen capacidades limitadas, por razones de seguridad, por lo cual no es posible hacer todo con JavaScript, sino que es necesario usarlo conjuntamente con otros lenguajes evolucionados, posiblemente más seguros, como Java. Dicha limitación es aún más evidente si queremos operar en el hardware  por la computadora, como, por ejemplo la fijación en automático de la resolución vídeo o la impresión de un documento.

El código es visible y puede ser leído por cualquiera, incluso si está protegido con las leyes del copyright.

El código JavaScript se ejecuta por el cliente por lo que el servidor no es solicitado más de lo debido.

El código JavaScript debe descargase completamente antes de poderse ejecutar. Si los datos que un Script  utiliza son muchos (por ejemplo, una recopilación de citas que se mostrará de manera casual), el tiempo que tardará en descargarse será muy largo, mientras que la interrogación de la misma base de datos en el servidor seria más rápida.


Una desventaja, es que su aparente simplicidad se basa en una disponibilidad de objetos limitada, por lo que algunos procedimientos, aparentemente muy sencillos, requieren scripts bastante complejos.

CARACTERÍSTICAS


  •  Es simple, no hace falta tener conocimientos de programación para poder hacer un programa en JavaScript
  • Maneja objetos dentro de nuestra página web y sobre ese objeto se pueden definir diferentes eventos. Dichos objetos facilitan la programación de páginas interactivas, a la vez que se evita la posibilidad de ejecutar comandos que puedan ser peligrosos para la máquina del usuario, tales como formateo de unidades,modificar archivos, etcétera. 
  • Es dinámico, responde a eventos  en tiempo real. Eventos como presionar un botón, pasar el puntero del mouse sobre un determinado texto  o el simple hecho de cargar la página o caducar un tiempo. Con esto se puede cambiar totalmente el aspecto de nuestra página  al gusto del usuario, evitando así tener en el servidor una página para cada gusto, hacer cálculos  en base a variables cuyo valor es determinado por el usuario.
  • La característica principal  de JavaScript es la de ser el lenguaje de "scripting" por excelencia y sin lugar a dudas, el más usado. Esta particularidad conlleva una notable serie de ventajas y desventajas según el uso que se le deba dar, teniendo en cuenta la relación que se establece entre el mecanismo cliente-servidor.









miércoles, 7 de diciembre de 2011

PERL

Perl: Es un lenguaje de programación  diseñado por Larry Wall en 1987. Perl toma características del lenguaje C, del lenguaje interpretado bourne shell (sh), AWK, sed, Lisp, y en un grado inferior, de muchos otros lenguajes de programación.


Estructuralemente, Perl está basado en un estilo de bloques como los del C o AWK, y fue ampliamente adoptado por su destreza en el procesado de texto y no tener ninguna de las limitaciones de los otros lenguajes de script


CARACTERÍSTICAS

La estructura completa de Perl deriva ampliamente del lenguaje C. Perl es un lenguaje imperativo, con variables, expresiones, asignaciones, bloques de código delimitados por llaves, estructuras de control y subrutinas.


Perl también toma características de la programación shell. Todas las variables son marcadas con un sigilo precedente (sigil). Los sigilos identitifican inequívocamente los nombres de las variables, permitiendo a Perl tener una buen sintaxis.


Perl toma las listas de Lisp, hash, del AWK y expresiones regulares del sed. Todo esto simplifica y facilita todas las formas del análisis sintáctico, manejo de texto y tareas de gestión de datos.



  • Fácil de usar
  • Se le considera como un lenguaje que no tiene fronteras
  • Es rápido
  • Se puede utilizar en varios entornos
  • Tiene variedad de características como estructural, funcional y orientado a objetos.

DISEÑO

El diseño de Perl puede ser entendido como una respuesta a tres amplias tendencias de la industria informática: rebaja de los costes en el hardware, aumento de los costos laborales y las mejoras en la tecnología de compiladores. Este lenguaje es diseñado para hacer un uso  eficiente de los costosos programadores de ordenador.

Perl tiene muchas características que facilitan la tarea del programador a costa de unos requerimientos de CPU y memoria mayores. Estas incluyen gestión de memoria automática; tipo de dato dinámico; strings, listas, hashes, etcétera.

Perl se enfoca en las siguientes áreas:


La administración de sistemas operativos, debido a que, por sus características Perl es muy potente en la creación de pequeños programas que pueden ser usados como filtros para obtener información de ficheros, realizar búsquedas, entre otras cosas.


Se ha usado desde los primeros dias del web para escribir guiones (scripts). Es una de las "tres pes" (Perl, Python y PHP), que son los lenguajes más populares para creación de aplicaciones web, y es un componente integral de la popular solución LAMP.


VENTAJAS


Perle es software libre y esta licenciado bajo la Licencia Artística y la GNU. Existen distribuciones disponibles para la mayoría de sistemas operativos. Está especialmente extendido en Unix y en sistemas similares, pero ha sido portado a las plataformas más modernas.



RUBY

Ruby: Es un lenguaje de programación interpretado, reflexivo y orientado a objetos, creado por el programador japonés Yukihiro "Matz" Matsumoto, quien comenzó a trabajar en Ruby en 1993, y lo presentó públicamente en 1995.
Combina una sintaxis inspirada en Python y Perl con caracteristicas de programacion orientada a objetos similares a Smalltalk. Comparte tambien funcionalidad con otros lenguajes de programación como Lisp, Lua, Dylan y CLU.
Ruby es un lenguaje de programación interpretado en una sola pasada y su implementación oficial es distribuida bajo una licencia de software libre


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 sigue el "principio de la menor sorpresa", lo que significa que el lenguaje debe comportarse de tal manera que minimice la confusión de los usuarios experimentadps.

SEMÁNTICA

Ruby es orientado a objetos: todos los tipos de datos son un objeto, incluidas las clases y tipos que otros lenguajes definen como primitivas, (como enteros, booleanos, etcétera). Este lenguaje soporta herencia con enlace dinámico, mixins y métodos singleton (pertenecientes y definidos por una sola instancia más que definidos por la clase).
A pesar que Ruby no soporta herencia múltiple, las clases pueden importar módulos como mixins.

Ruby ha sido descrito como un lenguaje de programación multiparadigma: permite programación procedural, con orientada a objetos o funcionalmente. Además de soporte para hilos de ejecución gestionados por el intérprete.

Este lenguaje tiene tipado dinámico y soporta polimorfismo de tipos (permite tratar a subclases utilizando la interfaz de la clase padre). No requiere polimorfismo de funciones al no ser fuertemente tipado.

CARACTERÍSTICAS 

  • Orientada a objetos
  • Cuatro niveles de ámbito de variable: global, clase, instancia y local
  • Manejo de excepciones
  • Altamente por table
  • Amplia librería estándar
  • Soporta alteración de objetos en tiempo de ejecución
SINTAXIS

La sintaxis de Ruby es similar a la de Perl y Python. La definición de clases y métodos está definida por palabras claves. Sin embargo, en Perl, las variables no llevan  prefijos. Cuando se usa, un prefijo indica el ámbito de las variables. La mayor diferencia con C y Perl es que las palabras clave son usadas para definir bloques de código sin llaves. Los saltos de línea son significativos y son interpretados como el final de una sentencia; el punto y coma tiene el mismo uso. De forma diferente que Python, la indentación no es significativa

¿POR QUÉ USAR RUBY?

  • Ruby es un lenguaje de scripts, moderno y orientado a objetos, que combina una importante flexibilidad con alta productividad
  • Su alcance parece ilimitado y hoy se encuentra presente en aplicaciones que van desde el desarrollo web hasta la simulación de ambientes complejos.
  • Promueve las mejores prácticas de programación sin perder usabilidad.
  • Mediante su uso se pueden complementar las características  de la lógica imperativa con la lógica funcional.
  • Permite utilizar la más simple expresión para un programa o algoritmo; esto sumado a las actuales prácticas ágiles permite desarrollar en forma amigable.