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

INTENSIVO. EN DOS JORNADAS.

Curso Fundamental de Seguridad para Programadores

ago

24

Curso intensivo en dos jornadas completas durante el cual recorreremos las principales vulnerabilidades de sitios web reconocidas por organizaciones independientes (OWASP, CWE/SANS, etc) y veremos la forma de codificar para prevenirlas y evitarlas. Se darán ejemplos de código, se realizarán demostraciones de ataque y defensa.
 

¡ GRATIS ! UN GRAN AFTER OFFICE PARA DESARROLLADORES

ASP .Net Core así en la web como en la Nube

ago

28

Tres charlas gratuitas que nos ofrecerán un recorrido por distintas arquitecturas e implementaciones de ASP .Net Core y por algunas funcionalidades de Azure. Imperdible para desarrolladores.
 

GRATIS. AFTER OFFICE.

¿Porque implementar UX?

ago

29

La experiencia de usuario es una disciplina que se expande día a día ayudando a mejorar nuestras aplicaciones. En esta charla abierta hablaremos sobre sus alcances y cual es la forma más sencilla de implementarla dentro del proceso de desarrollo.
 

NUEVA EDICIÓN DEL WORKSHOP. 
Arquitectura de Software Adaptativa

sep

04

Taller que pone foco en el diseño de arquitectura de software desde un punto de vista iterativo, con mayor involucramiento del cliente/negocio en las decisiones. La hipótesis de trabajo es que el esfuerzo de la labor de arquitectura debe estar repartido durante todo el ciclo de vida, la toma de decisiones de alto impacto debe ser oportuna y su re-evaluación permanente. Trabajamos también el rol comunicacional y negociador del arquitecto.
 

WORKSHOP

Creación de Chatbots

sep

08

Actualmente los bots conversacionales ofrecen múltiples ventajas sobre las aplicaciones de interfaz de usuario tradicionales (Escritorio, Web). En este workshop veremos como crear chatbots paso a paso utilizando Microsoft Bot Builder y Microsoft Bot Framework.
 

JORNADA DE ACTUALIZACIÓN

Actualiza tus conocimientos de SQL Server a su versión 2016 / 2017

sep

15

En esta jornada destinada a usuarios con nivel intermedio y avanzado veremos las importantes novedades que traen estas dos versiones de SQL Server tanto para los DBA, como desarrolladores y científicos de datos.
 

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.