25 de agosto de 2008

Ruby ¿El Santo Grial de lo lenguajes de programación?

Como programador siempre estoy tratando de alcanzar como en las fábulas el "Santo Grial" de los lenguajes de programación. No es un asunto fácil, la verdad es muy complicado.

En las características más importantes que buzco hay muchas, pero las más importantes suelen ser las que tienen mucho que ver con la eficiencia y rapidez a la hora de desarrollar, así como el precio, el soporte existente, las interfaces de desarrollo que lo apoyan y por supuesto las librerías de codigo que debieran ayudarnos a producir más y mejores aplicaciones.


No es muy reciente la aparición en el ambiente de la programación de Ruby, un lenguaje de programación presentado al público por Yukihiro "Matz" Matsumoto en 1995, quien le colocó el nombre como en broma aludiendo al lenguaje de programción Perl. Puedes descargarlo en http://www.ruby-lang.org/es/.


Sin embargo es en los últimos tres años que Ruby ha entrado a formar parte de las grandes ligas del desarrollo, debido principalmente a su elegancia, eficiencia y a las utilidades o librerías que lo respaldan.

La primera cosa que me gustó de Ruby fué el hecho de que es un lenguaje de Código Abierto, lo que significa que no tiene costo, y a pesar de esto es soportado por una comunidad de desarrolladores que lo actualizan y mejoran constantemente apoyados en el tipo de licencia GPL.


También me fascinó el hecho de que el lenguaje es multiplataforma, es decir que lo que desarrollo para Linux, con pocos cambios puede servir para Windows o Mac. Bueno hay que aclarar con algo de ironía incluida ya que sabemos que una aplicación "a todo dar" siempre necesita alguno que otro ajuste al cambiar de sistema así esté hecha en Java.


También me gustó que es un lenguaje interpretado, por lo que cualquier máquina que tenga Ruby instalado puede ejecutar el código. No me preocupo en lo referente a la velocidad de procesamiento cuando veo las velocidades de los CPUs de hoy en día y las comparo con mi antigua 486Dx2 de 60 MegaHertz. (por si no lo han notado ya vamos por 3 ó 4 GigaHertz, y yo ya perdí la cuenta).


Luego, al profundizar un poco, me asombré con al gran cantidad de librerías disponibles. Todos los programadores sabemos que las librerías son ante todo una gran fuente de ayuda para no tener que reinventar la rueda. Pueden vistar http://rubyforge.org/ y percatarse de la gran cantidad de paquetes y librerías existentes para el lenguage. Tiene más de 6500 proyectos registrados al momento de redactar este artículo.


También me gustó mucho el hecho de que existe mucha bibliografía en Internet y se han publicado bastantes libros, incluso algunos de ellos completamente gratis, por lo que dejé de preocuparme por el soporte y la curva de aprendizaje. Un interesante y vasto tutorial se encuentra en http://www.rubyist.net/~slagell/ruby/index.html


Otro detalle que me pareció fascinante fué su sistema de actualización y descarga de componentes llamado GEMS. Es una utilidad (gestor de paquetes tipo linux) que una vez instalada controla los archivos y te permite descargar los paquetes y actualizaciones necesarias con una sola línea desde la interfaz de comandos. Ejemplo: Gem install rails, te descarga e instala en menos de 5 minutos toda la interfaz de desarrollo web llamada RAILS, sobre la que ya vamos a hablar.


Pero lo que realmente me terminó de impresionar fué una de las aplicaciones o componentes que están haciendo de Ruby un lenguaje de los grandes, es decir su interfaz de desarrollo web llamada Ruby on Rails (RoR o Rails para los amigos) que solo significa "Ruby sobre Rieles".


Esta interfaz se instala en menos de 5 minutos como mencionamos antes e integra toda una serie de librerías para desarrollo web y hasta su propio servidor web (Mongrel o Webrik) el cual puede manejar nuestras aplicaciones inclusive como servicios bajo Windows o usando a Apache como proxy. Si quieres saber más de RoR puedes ir a http://www.rubyonrails.org/.

5 de agosto de 2008

¿Porqué Flash sigue siendo un problema para las maquinarias de búsqueda?

El contenido en Flash y las páginas en HTML son fundamentalmente diferentes. Solo porque ahora Google puede extraer palablas e indexar algunos archivos en Flash, no significa que Flash sea amigable a los buscadores. A continuación algunas razones de lo anterior:


  1. En Flash es difícil dividir el texto en secciones representativas debido a que no utiliza tags como <h1> o <p> para separar diferentes secciones del texto. Por lo tanto se hace difícil entender que es importante y que no lo es. Para empeorar el asunto los diseñadores en Flash separan las letras de las palabras para lograr interesantes efectos lo que impide que dichas palabras puedan ser indexadas por los buscadores.

  2. Usualmente todo el contenido completo de un sitio es presentado en un solo URL. Usted no puede hacer un enlace a una parte específica de un sitio desarrollado enteramente en Flash, lo que significa que para las maquinarias de búsqueda también es difícil encontrar las zonas relevantes de un sitio desarrollado en esta tecnología. Adicionalmente los sitios en flash no enlazan entre sus secciones con enlaces comunes, lo hacen con comandos del lenguaje Activescript, por lo que no existen enlaces como los solemos conocer en la web entre sus propias páginas.


  3. La estructura de un sitio en Flash hace muy difícil poder obtener altos rankings en los buscadores. Muchos archivos en Flash enlazan desde otros archivos en Flash y no hay otros sitios que puedan enlazar a estos elementos internos. La ausencia de links externos provenientes de otros sitios hace muy difícil el posicionamiento.


  4. Flash no utiliza los métodos básicos de posicionamiento SEO (Search Engine Optimization). Normalmente usted no conseguirá enlaces con atributo "text" o imágenes con atributos "alt" en los que colocar las palabras importantes.


  5. Mucho contenido desarrollado en Flash todavía no es indexable. Y si bien Google y Yahoo lo empieza a hacer, los demás buscadores importantes aún no lo hacen.

No quiero decir con esto que la tecnología es mala o deficiente, todo lo contrario es muy buena, pero trate de evitar la creación de sitios completamente desarrollados en Flash y úselo donde realmente sea necesario, recordando las advertencias anteriores.


Entradas populares