Top five y Top bottom de aplicaciones

Posted on Thursday, March 27, 2008

Top five y Top bottom de aplicaciones

Selección de las aplicaciones que menos y más me gustaron como informático. Parte de un trabajo para la asignatura de Configuración de Sistemas Informáticos.

Top five

  1. Subversion

    Cualquier sistema de control de versiones de los muchos existentes como CVS, Microsoft Sourcesafe o Git aporta grandes ventajas para los desarrolladores como un control de lo que se ha modificado, cuándo y por qué, un archivo de todas las versiones por las que ha pasado el proyecto pudiendo revertirlo u obtener una determinada versión y una eficiente coordinación de las distintas personas implicadas en el proyecto.

    Yo sin embargo he escogido Subversion para usarlo en los proyectos en los que trabajo por su facilidad de uso (más claro que su predecesor más directo CVS, al cual ha sustituido rápidamente en muchos proyectos y servidores como SourceForge), porque está disponible para prácticamente cualquier sistema con una innumerable cantidad de interfaces que hace difícil encontrar una que no se adapte a un gusto particular y muchos IDEs como Anjuta, Quanta y MonoDevelop llevan incluido soporte para Subversion y porque puede trabajar sobre distintos protocolos de transporte (como file://, WebDAV o SSH) haciendo posible sortear las eventuales limitaciones técnicas de la red en la que trabajemos.

    Su rápida adaptación por parte de muchos proyectos nos permite además contar con bastante documentación en Internet.

  2. LYX

    LYX es un procesador de textos basado en LATEX, con una interfaz clara, simple y ligera aunque no por ello menos completa. Cuenta con características como control de versiones y al estar basado en LATEX nos permite aprovechar toda la potencia de éste con características como la fácil integración de fórmulas matemáticas y los componentes estructurales del documento como apéndices, tablas de contenido, bibliografia, notas al pie, etc. pudiendo centrarnos exclusivamente en el contenido del documento sin preocuparnos de su estructura.

    Está disponible para distintas plataformas con un consumo de recursos mínimo y tiene una buena documentación contando incluso con un completo tutorial de iniciación a LYX.

  3. Visual Studio

    Este producto en general no se diferencia demasiado de cualquier otro IDE como Delphi, Anjuta o MonoDevelop, pero lo que me convenció fue el autocompletado que, aunque también esta presente en otros productos, el de Visual Studio tiene un comportamiento más inteligente y me ha facilitado mucho la programación. Además consta de una extensa y detallada documentación en MSDN.

  4. gVim

    gVim es la interfaz gráfica para el editor de textos Vim, una versión mejorada de Vi. Entre las ventajas de Vim tenemos que soporta unos 500 lenguajes de programación y formatos de fichero (resaltando su sintaxis e indentándolos), autocompletado de comandos y rutas de ficheros. Usando la interfaz gráfica gVim (o cualquiera de sus alternativas como kVim o Cream) podemos tener fácilmente accesibles la mayoría de sus funciones como en cualquier editor, pero es mucho más rápido y eficiente usar sus comandos una vez que los conocemos.

  5. PHP

    El lenguaje de programación para paginas web PHP conlleva cualquiera de las ventajas para generar contenido dinámico igual que ASP o Perl. La ventaja de PHP es su facilidad de uso debido a su tipado débil y su alto nivel (características que en ocasiones también pueden ser un inconveniente). La conversión de tipos (por ejemplo, de entero a string o viceversa) se hace al vuelo sin necesidad de código adicional, cuenta con un amplio reperterio de funciones para cualquier campo, como consultas a bases de datos o manejo de arrays y ha sido portado a varias plataformas con una buena integración con el sistema.

    Al ser un lenguaje de programación server-side (que se ejecuta en el servidor) no tiene problemas de compatibilidades con distintos navegadores como puede ocurrir con JavaScript o CSS, pues el usuario sólo recibe HTML plano, al igual que si fuera una página estática sin PHP.

    Cuenta además con una amplia y detallada documentación en varios idiomas en su página web y su comunidad de usuarios es excelente, estando presente en foros, chats, comunidades virtuales o en la propia página web oficial en donde amplian y detallan la documentación con sus comentarios o responden a las dudas de otros usuarios.

Bottom five

  1. Internet Explorer

    Aparate de los inconvenientes que conlleva como usuario, tales como los fallos de seguridad y sus limitadas funciones en comparación con los productos de la competencia, como desarrollador de páginas web es el software más problemático que he encontrado.

    Por una parte, es el navegador más usado con una gran diferencia, por lo que ha de tenerse en cuenta al hacer páginas web. Sin embargo, su pobre soporte de los estándares1 y sus fallos al interpretar correctamente el código de las páginas web234 llegó a tenerme durante días rompiéndome la cabeza, obligando a estar haciendo constantemente modificaciones para que funcionen en Internet Explorer teniendo en ocasiones que incluir código que no cumpliría el estandar y que producirá problemas en otros navegadores. La solución por la que suelo optar cuando son páginas generadas dinámicamente como es el caso de PHP es usar cláusulas if que detecten el navegador que se está usando y generar código alternativo para Internet Explorer en aquellos casos en los que sea necesario. Como consecuencia en mi último proyecto de 8.500 líneas de código necesité 63 sentencias if para solventar los problemas que aparecían en Internet Explorer (frente a 11 para navegadores basados en Gecko, 6 para Safari y 4 para los basados en KHTML).

  2. Contawin

    El problema con este software es la cantidad de bugs que posee. Desde fallos de interfaz que impiden acceder correctamente a una determinada función hasta bugs al guardar y abrir documentos que hacen que algunos datos no se guarden y haya que volver a introducirlos la próxima vez que se abra el programa.

    No es digno de ser tenido en cuenta para ser usado en ningún entorno, mucho menos para un entorno de producción y menos cuando hay alternativas más estables y económicas.

  3. Quanta

    Quanta es un IDE de desarrollo de páginas web. Poco más aporta que el resaltado de sintaxis. Pero el verdadero problema son sus cuelgues, hasta hace pocas versiones era de lo más frecuente, y aún se sigue produciendo alguno de vez en cuando. Además, hasta hace poco no contaba con autoguardado de recuperación, por lo que cuando se colgaba el programa perdía todo lo que había hecho desde la última vez que habia guardado.

  4. Vi

    En el editor Vi lo que considero que falla es el interfaz. Estoy acostumbrado a usar programas en la consola, no es ese el problema, a lo que estoy menos acostumbrado es a cosas como no poder usar las flechas para desplazarme (que producen un efecto totalmente distinto del esperado) sino que hay que usar h, j, k, y l como teclas para desplazarse a la izquierda, abajo, arriba y derecha, respectivamente, que me parece una asignación de teclas de lo más extraña. O que retroceso y suprimir no sean teclas válidas para eliminar texto (una vez más, su función es totalmente distitna en Vi).

  5. Adobe Reader

    La función que tiene que cumplir Adobe Reader es muy simple: mostrar el contenido de un PDF. Sin embargo, para llevar a cabo esa única acción usa una interfaz demasiado pesada y se convierte en un devorador de recursos sin igual, además del tiempo que tarda en iniciarse y del espacio en disco que ocupa.

    Existen programas que hacen la misma función consumiendo muchos menos recursos, no entiendo qué hace Adobe Reader para necesitar tantos.

Referencias

1Pérez Rey, Jesús:«Navegadores y estándares», 2007

2Koch, Peter-Paul:Bug Reports for Explorer Windows

3Wilton-Jones, Mark:Browser problems

4Pérez Rey, Jesús:«<sarcasm>Realmente adoro el Internet Explorer</sarcasm>», 2007