miércoles, 29 de septiembre de 2010

8 lenguajes de programación que deberías aprender.

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.

¿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.

C#

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.

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.

¿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.

JavaScript

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.

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.

¿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.


C

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.

Ruby y Ruby on Rails

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.

¿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).

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, IIS. 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.

¿Por qué deberías aprenderlo?
Simplemente porqué en algunas ocasiones no tienes otra opción debido a la popularidad que ha alcanzado.

viernes, 17 de septiembre de 2010

Canvas y HTML5

Anteriormente hablábamos de las novedades que trae consigo HTML5, una de esas es el API para generar y renderizar dinámicamente gráficos, imágenes y animaciones a través de su elemento Canvas.

Cuando introducimos el elemento Canvas, se creará por defecto un área de color blanco de 300 pixels de ancho por 150 pixels de altura cuyos valores pueden ser modificados a través de sus atributos.

Exceptuando Internet Explorer, todos los navegadores actuales dan soporte para el Canvas HTML5, como podemos ver en la siguiente tabla:

ChromeSoportado desde la versión 1.0
FirefoxSoportado desde la versión 1.5
OperaSoportado desde la versión 9.0
SafariSoportado desde la versión 1.3
Internet ExplorerNo soportado. Se espera a partir de la versión 9.0


Si quisieramos poder utilizar la nueva funcionalidad del Canvas API de HTML5 en IE, podremos utilizar el proyecto explorercanvas. Luego añadir el siguiente codigo:
<!--[if IE]><mce:script mce_src="excanvas.js"></mce:script><![endif]-->

Para incluir el elemento Canvas simplemente tendremos que añadir la siguiente etiqueta: <canvas></canvas>

Es posible que algún navegador no interprete correctamente la etiqueta canvas, por lo que si qusisieramos mostrar algún mensaje, o imagen alternativo podremos hacerlo incluyendo las etiquetas HTML que consideremos dentro del elemento canvas:

<canvas>
Tu navegador no soporta HTML5, por qué no lo actualizas?
</canvas>


Si queremos chequear si el navegador interpreta o no el elemento canvas de HTML5 podemos utilizar el siguiente script en Javascript:
try{
document.createElement("canvas").getContext("2d");
alert("HTML5 es soportado en tu navegador");
} catch(e) {
alert("HTML5 no está soportado en tu navegador");
}


Este código intenta crear un elemento canvas, y acceder a su contexto. Si hubiera algún error, se capturaría y se mostraría el mensaje de alerta.

Un ejemplo sencillo de las API del canvas el cual pinta una línea:
<script>
function pintarLinea() {
// obtenemos el canvas y su contexto
var canvas = document.getElementById('mycanvas');
var context = canvas.getContext('2d');

context.beginPath();
context.moveTo(0, 50);
context.lineTo(200, 50);
//Refrescamos el canvas con lo que hemos pintado
context.stroke();
}
window.addEventListener("load", pintarLinea, true);
</script>

Firefox 4.0

Actualmente Firefox 4 sigue en beta, pero en las últimas versiones de prueba los programadores ya están pudiendo acceder a versiones casi definitivas de JaegerMonkey, uno de los componentes más esperados de esta nueva versión.

La explicación técnica de lo que es JaegerMonkey y cómo interactúa dentro del programa es compleja, pero se puede simplificarse diciendo que es una variante del motor de JavaScript que va incorporado en el navegador, y algo que casi todas las páginas web usan.



Muchas páginas web utilizan el lenguaje JavaScript para su correcta visualiación y para diversas funciones, especialmente algunas aplicaciones web «intensivas» (como Gmail, Google Docs, Google Maps, etc.). Este componente, que tradicionalmente había tenido una relevancia sólo, es ahora un cuello de botella por el que pasa gran parte del código durante la navegación. Lo que hacen JaegerMonkey es básicamente compilar ese código de forma instantánea para que se ejecute más rápido. Mediante diversas técnicas de optimización el código programado por los webmasters se recibe, compila y se ejecuta como un rayo en el navegador del usuario, ahorrándose así tiempo y ganándose en velocidad.

Diversos navegadores como Opera, Chrome de Google y también Explorer 9 de Microsoft, que será lanzado en breve, han estado realizando avances en este terreno para mantenerse competitivos en cuanto a rendimiento.

Se espera que Firefox 4 vea la luz en versión definitiva en noviembre de este año.

miércoles, 8 de septiembre de 2010

Leccion Geek #10

¡No me fío de la gente que está más de 24h desconectada. A saber qué vidas extrañas tienen ahí fuera!.