MicroSopa | viernes 11 de diciembre de 2015 | 14:16hs
Más notas de MicroSopa: |

Ángeles & denonios

Microsoft es el diablo

Hace varios años que vengo viviendo una situación extraña, que me encuentro en un lugar en el que parezco ser el único que está, o al menos uno de los pocos que conozco y no entiendo bien porque llegamos a esta situación. El problema que tengo es que estoy en una cruzada en pos del agnosticismo en la tecnología, pero desde un punto de vista muy especial. Este agnosticismo, a diferencia de otros, implica no solo considerar diferentes tecnologías y vendors para resolver un problema, sino, que dentro de esas opciones, también se considere a Microsoft.

Microsoft es el diablo
Documentos asociados

Por: Gabriel Kotliar - .Net Practice Lead, GlobalLogic Inc. Buenos Aires, Argentina.

Introducción

La pregunta que se harán algunos, es porque una postura agnóstica no consideraría alguna de las opciones, o en otras palabras, porque hay personas que podrían considerar cualquier solución a un problema siempre y cuando no provenga de Microsoft. Este “falso standard” de comparación se da en todos los ámbitos, productos, servicios, lenguajes de desarrollo, etc. Y aunque no estoy muy seguro de porque esto es así, lo he vivido en infinidades de oportunidades durante mi carrera en los más diversos ámbitos y casos, en forma local y en el extranjero, con managers, desarrolladores, gente de operaciones y usuarios finales.

Esta semana viví otra de estas situaciones que suman a la lista. Para que puedan comprender lo que les estoy contando, les cuento la historia. Además de arquitecto de software, soy Scrum Master. Papel que he desarrollado con más o menos intensidad durante mi carrera pero que sin lugar a dudas amo. Soy un apasionado de las metodologías ágiles y como tal aún no he encontrado un producto que me conforme en pos de tener una herramienta de soporte tecnológico para Scrum. Esto es un problema ya que tenemos equipos distribuidos entre varias locaciones, países y algunas veces incluso husos horarios lo cual hace bastante necesario contar con un soporte de este tipo, incluso a veces en el ambiente corporativo necesitamos algunas métricas o controles que los post-its y los afiches no proveen.

El hecho es que hace unos días estábamos discutiendo el cambio de la herramienta que estamos utilizando actualmente, ya que no da los beneficios que todos esperamos, y discutimos un par de opciones. De la discusión participaban, además de mí, dos personas. Una persona que yo considero realmente agnóstica de la tecnología y la otra que es el ejemplo más claro de lo que  estoy planteando en este artículo. Este último nos propone que revisemos una herramienta de una compañía muy reconocida en el ámbito de la agilidad, lo cual hicimos. No nos llevó más de dos minutos darnos cuenta de que no tenía nada que nos sirva. A partir de ese momento se complicó la situación para mí. Hace un tiempo que TFS tiene un template de SCRUM que me parece lo más cercano a lo que yo espero, y sabía que el hecho traerlo a la discusión iba a generar, al menos, una expresión del tipo “claro, a vos porque te gusta Microsoft”. Lo que conlleva la inmediata descalificación del producto solo porque fue creado por esa compañía.

No tengo muchas dudas respecto a que si el producto hubiese sido de otra compañía ya lo estaríamos implementando, o al menos sería un fuerte competidor. En este caso también lo es, pero sin dudas debe remontar una situación en la que no se encontraría, incluso si fuese un producto de una compañía

La responsabilidad de Microsoft o "Vos te lo buscaste"

Durante muchos años las opciones relacionadas con  los sistemas de información estaban claramente más reducidas que ahora. En lo que respecta a los usuarios, una vez que tuvieron opción, implicaba básicamente una PC con Windows (o DOS) o en el mejor de los casos, si contaban con suficiente dinero, acceder a una computadora de Apple. Tampoco había muchas opciones en lo que respecta a navegadores de internet, Netscape o Internet Explorer en sus versiones iniciales.

En lo que respecta a los lenguajes de desarrollo, durante los primeros años de mi carrera, para muchos la opción era Java o VB. Durante estos años de amplio dominio, Microsoft ha hecho todo lo posible por llegar a esta situación en la que se encuentra hoy, sumando grandes fracasos en varios aspectos. Todos, o la mayoría de nosotros, hemos experimentado en infinidad de ocasiones la infame pantalla azul en Windows XP o desinstalamos Windows Vista después de sufrir su “pereza” al tratar de utilizar más recursos de los que tenía disponibles.

La discusión sobre Internet Explorer 6 y sus predecesores (y varios sucesores) merecería un artículo por sí mismo, incluso analizando cómo afectaría el lanzamiento de Microsoft Edge (el nuevo navegador de la compañía). Este navegador le ha hecho tanto daño al desarrollo web y a los estándares de internet que a pesar de que se trata de un navegador que ya está por cumplir 15 años (el primer reléase de la versión 6 fue en 2001) todavía sigue impactando a los desarrolladores web, algunos de los cuales no habían terminado la primaria cuando IE6 se lanzó.

Durante la época de apogeo de Java, un lenguaje robusto, multiplataforma, poderoso y con gran contribución de la comunidad; la alternativa de Microsoft era Visual Basic. Aunque hay que reconocerle que, la  facilidad y calidad de las interfaces de escritorio para Windows desarrolladas con ese lenguaje superaba ampliamente a java, y la curva de aprendizaje que presentaba era muy baja, es cierto que es un lenguaje muy limitado, y a pesar de que Microsoft insistía en que se trataba de un lenguaje orientado a objetos no permitía utilizar herencia. Lo que inicialmente puede verse como una ventaja, en la baja curva de aprendizaje, le jugó en contra. Muchos de los desarrolladores que se acercaron al lenguaje no eran  profesionales o tenían demasiado en cuenta la calidad, lo que causo que gran parte de las soluciones que se crearon en VB fuesen de muy baja calidad, incluso grandes sistemas corporativos. Aunque java, o cualquier otro lenguaje, permite también desarrollar software de baja calidad, la necesidad de una mayor inversión de tiempo y esfuerzo a la hora de adoptar el lenguaje implicaba que los desarrolladores de esa tecnología, en general, fuesen más cuidadosos, más capacitados, o más profesionales.

Como estos podemos encontrar varios ejemplos, en los ámbitos profesionales como desarrollo u operaciones o en los personales como los sistemas operativos para PC que pusieron instalaron en los usuarios de Microsoft una cierta sensación de desconfianza, y parece claro, que no hay otro responsable que el mismo Microsoft.

Espíritu del cuerpo

“Si, esto se cuelga seguido. Pero cuando se cuelga, nadie lo dice.”

 No hay duda de que no existe una compañía en el mundo que haya hecho todo bien, siempre, sin equivocarse, sin molestar a los usuarios, sin fracasos comerciales, etc. Sin embargo no hay instalado un sentimiento con respecto a otras tecnologías o compañías en la misma línea en la que lo hay con Microsoft. En muchos casos es porque los mismos usuarios de cada uno de esas tecnologías son mucho más incondicionales de lo que ellos creen o quieren admitir.

Aunque todas las compañías y productos tengan, como mencionamos antes, algún tipo de inconveniente, los usuarios y adeptos no evalúan “sus ecosistemas” de la misma forma en la que lo hacen con Microsoft. Pareciera casi que el mundo de la tecnología, tiene, en muchos casos, más hinchas que periodistas deportivos. Los usuarios de Apple, Linux y Google se parecen más a hinchas de futbol que otra cosa. Tienen puesta la camiseta de su equipo y eso no les permite criticarlo o evidenciar sus falencias. Algunas veces pueden hacerlo, pero siempre con hinchas del mismo equipo, en cuanto viene alguien de afuera, se transforman en incondicionales y ocultan las falencias de su club ansiosos por demostrar que es, en todo, mejor que los demás. Extrañamente, no conozco ningún hincha de Microsoft.

Apple siempre fue vista como una gran compañía, sinónimo de innovación, consistencia y cuidado a los detalles. No solo esta realidad fue cambiando, el viejo dicho de que la mac no se cuelga ya no es cierto, sino que mac propone un sistema absolutamente cerrado, que no permite integrarse con nada fuera de ese mundo y condiciona a los usuarios a adquirir productos de Apple para todas sus necesidades. Es todos o nada.

Hay un video dando vueltas en internet, anterior al lanzamiento del Apple Watch, en el que la gente opina maravillas de un reloj de 5$ porque los que filmaban el video le pegaron un sticker de Apple. Tal el fanatismo de los usuarios de Apple.

Linux es un gran sistema operativo, ha derivado probablemente del más grande y sin embargo ha fallado en su intento de llegar a los usuarios finales. No conozco ningún usuario fuera del mundo de la tecnología que haya decidido instalar Linux en lugar de Windows o MacOS. Es, en mi opinión, un sistema operativo para expertos. Está en la esquina opuesta de Apple en este sentido. Apple es simple desde el punto de vista que no presenta ninguna opción y nada se puede personalizar o cambiar. Linux es el paraíso del experto, todo se puede cambiar, personalizar, cambiar por otro, prender o apagar. Sin embargo estas ventajas tienen un costo asociado. En la mayoría de los casos se requiere un conocimiento bastante específico para manejar el sistema operativo, y aunque durante los últimos tiempos hay varias distribuciones de Linux que no adolecen de estos problemas, los usuarios siguen percibiendo este sistema operativo como complejo. Esto se deba probablemente a que al adoptar el sistema operativo, junto con él, adoptamos un ecosistema bastante complejo y que no siempre es muy estable o tiene opciones para cubrir todas las necesidades.

El otro grande que podríamos mencionar en esta lista es, extrañamente, el que durante los últimos años se está pareciendo más al viejo Microsoft. A pesar de haber nacido con un halo de modernidad basado en la web2.0, el cloud y los estándares, Google ha perdido últimamente la potestad de ser el mejor en los campos en los que participa. No creo por el momento que exista alguien que pueda cuestionar la superioridad del buscador de google y su hegemonía en ese campo. Es, sin duda, un gran producto y poco a poco siguen incorporando funcionalidades que le van agregando valor. En esa categoría de indiscutible estaba también Google Chrome, como usuario y como desarrollador yo no tenía dudas hasta hace un tiempo de que ese era el navegador que había que usar, en todos los casos, para todas las tareas. Sin embargo últimamente Chrome ha decidido disponer de toda la memoria de las computadoras en las que funciona y ha promocionado la aparición de cosas que solo funcionan en Chrome, hacer funcionar Google Hangouts en Firefox es algo que a pesar de mis esfuerzos no he podido lograr. En este sentido Chrome está alejándose de los estándares y promoviendo que los desarrolladores creen sitios y aplicaciones que solo funcionan en Chrome, incluso han creado un inicio dentro de Windows para las aplicaciones de Google, un sistema operativo dentro de otro. ¿Les suena parecido de alguna manera a lo que generó Internet Explorer 6 en la web, a los ActiveX, etc.?

Google como compañía ha tenido grandes fracasos también, hace falta mencionar Google+?

Antropología o Marketing

He llegado al punto donde los conocimientos que adquirí durante mi carrera ya no me pueden ayudar a resolver el problema que se me presenta. Probablemente hubiese sido necesario un grado de Marketing o Antropología para poder comprender porque pasa lo que pasa. O algunas empresas tienen y han tenido un excelente marketing (sin duda Apple lo ha tenido), o es muy difícil para las masas olvidar los traumas de su infancia (IE6, pantallas azules, etc.).

Seguramente exista más de una razón por la cual nos encontramos en esta situación, por las cuales Microsoft se encuentra en esta situación. Por mi parte, aunque no exclusivamente, la mayor parte de mi carrera he trabajado con tecnologías de Microsoft. Sin embargo me gustaría pensar, igual que a todos, que soy tecnológicamente agnóstico.

Imagen: Diablo III Ultimate Evil Edition for Xbox One

Más leidas de MicroSopa

11.12.2015 | Microsoft es el diablo

A DISTANCIA - CURSO TEÓRICO PRÁCTICO

SQL Server y MySQL para desarrolladores

abr

27

Curso de introducción en las bases de datos relacionales y en el conocimiento de los sistemas de gestión de datos mas populares. Con ambos instalados en tu notebook aprenderás las similitudes y diferencias entre ambos lenguajes de consulta.
 

MEDIA JORNADA CON PRÁCTICA

PowerShell para IT Pros

may

09

Un encuentro introductorio para IT Pros que quieran iniciarse en el mundo de PowerShell. Orientado a administradores Windows y técnicos de soporte. No es obligatorio concurrir con notebook, pero quienes la traigan podrán correr los scripts de práctica.
 

TEÓRICO PRÁCTICO EN DOS SESIONES CON NOTEBOOK

Desarrollo multiplataforma con ASP .NET CORE

may

17

Curso en dos sesiones, de introducción en ASP .NET CORE. Veremos los conceptos clave del desarrollo multiplataforma con ASP .NET Core, la integración con Azure y deploy en Docker y finalizaremos implementando una aplicación real partiendo de un modelo de clases dado. 
 

A DISTANCIA - CURSO EN TRES SESIONES

DataWarehousing y Business Intelligence con SQL Server Standard

may

24

SQL Server es una excelente plataforma para la construcción de soluciones de DW y BI. Durante esta jornada veremos como con la versión Estándar tenemos todas las herramientas para el armado de un DW/BI robusto. El bajo costo de esta versión pone las soluciones de DW/BI al alcance de un espectro importante de empresas y organizaciones.

GRATIS. AFTER OFFICE.

Introduccion a Azure Functions

may

29

Azure Functions es una solución que nos permite ejecutar pequeños fragmentos de código, o funciones, en la nube, posibilitando además que interactúen entre múltiples componentes lo que hace más productivo nuestro desarrollo. En esta charla veremos una introducción sobre arquitectura serverless y ejemplos de como llevarla a cabo en Azure integrando distintos servicios.
 

Así es. ¿No lo cree?

Microsoft ama a Linux

Satya Nardella

¿.Net Open Source y .NET Framework en Linux y OSX? Ya no podemos decir que una noticia nos sorprende. Lo que ayer no era, hoy puede que sea, y mañana será. El giro de Microsoft en sus negocios continua generando novedades, sobre todo para los desarrolladores.

Codificando para todas las plataformas

Visual Studio Code

Visual Studio Code

Está disponible para descarga la versión última de Visual Studio Code. Por lo que se ve, la nueva herramienta de programación multimplataforma está cumpliendo con lo prometido hace unos meses.

 

Base de datos | SQL Server

Mejorando la performance usando columnas calculadas

20.08.2013 | Las columnas calculadas (Computed Column) son útiles para varias cosas. Sabemos que nos permiten tener una formula sobre ellas, pero muy pocos saben que a estos campos también se les pueden crear índices. Veamos cómo podemos mejorar la performance de algunas querys con el uso de estas columnas calculadas y sus índices.