¿Por qué la gente odia .NET, ya sea desde la perspectiva de un desarrollador, una empresa o un usuario?

Actualmente soy desarrollador de .NET y debo admitir que puedo estar sesgado.

La gente odia a la compañía Microsoft porque tomaron muchas decisiones tontas en el pasado al mantener toda la tecnología cerrada y no hacerlo de código abierto.

Sin embargo, ahora (2015) Microsoft anunció el milagro de que .NET ahora sea de código abierto:
Repositorio de Github: Microsoft / dotnet
¿Por qué Microsoft creó el código abierto de .NET? ¿Cuáles son los beneficios para Microsoft (financieramente), Windows y teléfonos con Windows?

Acordaron con los chicos de Mono para tomar .NET en Linux y ahora puedes desarrollar aplicaciones usando .NET que se ejecutan en cualquier sistema operativo.

Crearon un editor de código fuente abierto: Visual Studio Code
Y Visual Studio en el pasado costaba mucho dinero, ahora tiene una edición comunitaria gratuita para autónomos y empresas de menos de 5 empleados.

Otra gran cosa es que C # es un lenguaje hermoso e incluso los desarrolladores de Java admiten que C # tenía una programación funcional desde 2006.

Entonces, todo el odio ahora ya no es racional y es más una cosa del pasado. 🙂

La respuesta más simple: es una tecnología de Microsoft, y se ha estigmatizado en la cultura de programación actual. Esto es desafortunado, porque hay mucho que gustar de .NET.

Otros golpes en .NET, como su costo y su naturaleza cerrada, son cada vez menos relevantes. Consulte Microsoft BizSpark y el reciente código abierto de la plataforma web ASP.NET MVC ( http://weblogs.asp.net/scottgu/a …) para ver ejemplos.

No creo que la gente odie .net
Simplemente lo ven como en gran medida irrelevante, porque la comunidad de desarrolladores ya tiene una gran variedad de alternativas de código abierto, entonces, ¿por qué querrían aprender otra plataforma?

Además, Microsoft tiene un historial de perder el bote, luego arrojar una rama de olivo y luego renunciar a esa rama de olivo mientras aquellos que los tomaron con su palabra impotentemente lo ven flotar por la corriente de indiferencia corporativa. Piensa en mono.

Entonces, ¿por qué debería ser diferente?
.Net es básicamente el mismo principal que la JVM. Se trata menos de los idiomas y más de tener una capa común entre muchos idiomas potenciales diferentes y el sistema operativo utilizando algún tipo de código de bytes.

Una vez que Microsoft no ve la tracción, lo abandonará y pasará a la próxima buena idea. Es una corporación. Así funcionan las corporaciones. En una burbuja autopropulsada de publicidad interna que pronto aparece, y luego el corralito pasa a la próxima gran idea.

Más interesante es el esquema para hacer que las aplicaciones de Android e iOS se ejecuten en su plataforma móvil para evitar la indiferencia general hacia su plataforma móvil (que en realidad es bastante buena). Ahora eso es sorprendente franqueza, y da algo de esperanza.

Es una pena. Microsoft estaba allí al principio de la escena de los teléfonos inteligentes, mucho antes que el iPhone, pero simplemente no podía entenderlo usando un dedo en lugar de un lápiz.

Sospecho que esto es más de lo mismo. Al final de la escena, no puedo entender el hecho de que no se trata de ubicuidad, sino de elección (incluso Oracle aprendió esa lección). Y ahora hay muchas opciones fuera de Microsoft.

Lo mejor que pueden esperar es ser otro jugador más pequeño en este espacio.

Quizás cuando comiencen a regalar Visual Studio para desarrolladores profesionales en lugar de como un estímulo para desarrollar sus plataformas menos apreciadas, obtendrán cierta tracción en mercados fuera de los llamados países “desarrollados”. Eso simplemente no es donde va a estar la acción en las próximas décadas, así que, como siempre, muy por detrás de la curva, Microsoft. Muy por detrás de la curva.

Hay dos tipos de personas en el mundo de la programación (ingeniería de software): puristas y no puristas (hipotéticamente hablando)

No tome el siguiente párrafo en un sentido discriminatorio:

Los puristas son probablemente personas inteligentes que tienen el conocimiento de cómo una computadora computa y realiza las tareas que hace, etc. El purista “ideal” sería una persona con una formación adecuada en informática. Trata de entender el tipo de educación que él ha tenido para obtener ese título. Ha aprendido sobre diseño de compiladores, análisis de algoritmos, robótica, programación de microchips, etc. Cualquiera puede ser un purista: debe tener un profundo interés en la informática, pero aún así no necesita tener un título en ciencias. .

Ahora pregúntate: ¿qué tipo de trabajo crees que a esa persona le gustaría “hacer”? Si esa persona tiene que diseñar un software para componentes eléctricos complejos que va a un teléfono celular, por ejemplo, necesitaría su conocimiento de cosas de “bajo nivel”, porque eso es lo que lo ayuda a superar.

Ahora trate de comprender su naturaleza laboral y las “herramientas” con las que tiene que interactuar para hacer su trabajo. Estas “herramientas” ayudan a la persona a alcanzar su objetivo. Se debe realizar un análisis cuidadoso de la naturaleza del trabajo y las herramientas necesarias para realizar el trabajo. En definitiva, ¿qué es una plataforma, una herramienta!

Ahora, si está tratando de fabricar dicha “herramienta”, debe comprender la “naturaleza del trabajo”. Un análisis cuidadoso de la naturaleza del trabajo lo ayudará a crear mejores herramientas, por lo tanto, puede comercializar mejor.

Ahora, ingrese a los no puristas (nuevamente, no hay tono discriminatorio previsto aquí):

Los no puristas pueden o no tener un grado cs. Pero, no obstante, son programadores, personas que pueden escribir código complejo. Supongo que la mayoría de las personas que trabajan en la industria de la venta de software trabajan para bancos, telecomunicaciones, redes, etc., etc. Estas instituciones están gobernadas por otros organismos poderosos como el gobierno. Aquí las reglas del negocio cambian desenfrenadamente. Por lo tanto, necesita software para ser realmente flexible aquí. Entonces, para alguien que está trabajando para una preocupación como desarrollador de software, está mucho menos preocupado por las cosas de bajo nivel.

¿Pero de qué se preocupa entonces? Él / ella debería poder incorporar cambios en las reglas de negocio realmente rápido. Por lo tanto, él / ella estaría interesado en los “patrones” de diseño de arquitectura de software, o, escribir código, y hacer que se parezca más a un modelo que sea más sostenible. Puede argumentar que así es como nacieron los principios orientados a objetos.

Ahora trate de comprender la “naturaleza del trabajo” y las “herramientas” que usaría esa persona. Aquí es donde ves una gran cantidad de editores e IDE que entran en escena. Hay tantas marcas y sabores diferentes. Le ayudan a lograr el objetivo de escribir programas más rápido.

Hay escenarios en los que un desarrollador de este tipo querría lidiar con cosas de “bajo nivel”. Pero no es algo muy frecuente.

La plataforma .net es una herramienta. Puede compararlo con Java, Python, etc. Todas estas herramientas tienen en común que pretenden ejecutarse en un entorno virtual que se encarga de ejecutar el programa que ha creado en cualquier dispositivo informático.

Hay una gran cantidad de abstracción que oculta la imagen aquí. Un programa (en una de esas industrias) normalmente tendría que lidiar con IO, solicitudes de memoria, etc. a lo largo de su ciclo de vida. El entorno virtual creado en realidad se encarga de esto. Entonces, el desarrollador promedio tiene que centrarse simplemente en escribir código para lograr su objetivo final, en lugar de comprender la forma correcta de asignar o desasignar memoria para su programa.

Ahora suponga que un purista termina trabajando en una industria de venta de software, ¡recuerde cómo esa persona llegó allí en primer lugar! Suponiendo que él / ella fuera un graduado exitoso de CS y desafortunadamente aterrizó en tal industria, piense, cuánto tiene que desaprender para prosperar en dicha industria.

En última instancia, es una cuestión de intereses del individuo, formación académica y perfil de trabajo actual o experiencia laboral, lo que lo convierte en una herramienta / plataforma en particular.

La mayoría de estas respuestas son muy seguras y educadas y básicamente solo dicen que es una cuestión de preferencia. Si bien esto es cierto, creo que hay un tema común en .NET y la mayoría de las tecnologías de Microsoft en general que perjudican a los desarrolladores de la manera incorrecta. Las tecnologías de Microsoft son muy polarizadoras. Usted usa todos los productos de Microsoft o no usa ninguno. Este es el resultado de decisiones comerciales intencionales de Microsoft.

Antes de que existiera Microsoft, existía el sistema operativo Unix. Es de código abierto y de uso gratuito y, bueno, es realmente genial y todavía se usa hoy en día. En aras de la compatibilidad y no reinventar la rueda, la mayoría de todos los que desarrollan un sistema operativo comienzan con un poco de sabor de Unix. OSX está construido en Unix. Linux está construido en Unix. Android está construido en Unix (Linux). Casi todos los sistemas operativos modernos se basan en Unix en un grado u otro. Esto facilita a los desarrolladores porque pueden usar la misma línea de comando, los mismos compiladores, las mismas codificaciones, etc. en todas sus máquinas. Desde las computadoras de sus hogares hasta sus servidores de producción, todo tiende a funcionar bien y su software es portátil. A menos, por supuesto, que esté utilizando Windows.

La forma más básica en que un ingeniero de software interactúa con su computadora es la línea de comando. Todos los sabores de Linux y OSX vienen estándar con un shell bash y esta es, con mucho, la experiencia de línea de comandos más común. Microsoft desarrolló su propio (DOS) y no son compatibles. Esto se puede comparar con tener que aprender un teclado completamente nuevo, donde las teclas están en diferentes lugares (y a veces no existen), para un usuario novato de la computadora. Si conoces el teclado de Microsoft, te gusta más. Pero si aprendió algo más, odia el teclado de Microsoft porque no es como todos los demás y no sabe cómo usarlo.

Esta misma idea se aplica a .NET. Si creció con las tecnologías de Microsoft y .NET, probablemente le encantará. Si creciste con algo más, probablemente lo odies. Ahora trabajo para una compañía que se creó en .NET desde el principio, pero hoy creo que todos están más o menos de acuerdo en que desearíamos no haberlo hecho. Aquellos de nosotros que no crecimos en Microsoft nos encontramos escribiendo software en nuestra zona de confort (generalmente en OSX o Linux) y luego intentando hacerlo funcionar en un entorno Windows. Este paso adicional puede ser doloroso y frustrante.

En resumen, Microsoft tiene una mentalidad de “nuestro camino o la autopista”, mientras que el resto de la industria de la computación parece ser más colaborativa y comparte un objetivo común de hacer avanzar la industria, en lugar de simplemente enganchar a todos con las tecnologías de una empresa y haciendo avanzar esa compañía. Solo mis dos centavos. Ahora las personas que crecieron con las tecnologías de Microsoft van a intentar quemarme en la hoguera, pero eso está bien porque solo ayudará a probar mi punto 🙂

Personalmente, no me gusta “.NET” en sí. Hay aspectos particulares, como WebApi 2.0, que hacen que ciertas tareas sean tan indoloras como cualquier marco en el que haya trabajado. Por favor, toma mi publicación con un poco de sal. Solo hablo desde mi experiencia como contratista que asiste regularmente a reuniones de desarrollo patrocinadas por Microsoft, charlas y convenciones para mantenerse al día con mi oficio, así como también como un contratista que ha trabajado con varias compañías estrictamente .Net. Lo que sigue es una generalización general, léalo como tal.

Lo que odio en particular es la actitud cerrada de las personas con las que trabajo en las tiendas .Net. Todos tienden a tener la misma pista, comenzando con qbasic, ASP clásico, c ++. Por lo general, son mayores y han perdido su entusiasmo por aprender algo sobre procesos, metodología o cualquier innovación técnica fuera de los últimos marcos .Net. Por lo general, son detractores en el mejor de los casos y combativos de ideas sobre las que no leyeron en Microsoft. Esperan a que su información sea alimentada con cuchara, pero solo de Microsoft, y preferiblemente de una conferencia, para que puedan obtener mierda gratis, o sentarse en una sala de conferencias viendo la conferencia todo el día, cobrando por sentarse. Tienen mentes de ingeniería extremadamente entusiastas, lo que C # les permite satisfacer con toda la complejidad innecesaria que crean ciertos patrones de diseño, paradigmas y filosofías que encuentro comunes entre todas las tiendas .Net. A menudo le dirán que solo hay 1 forma de hacer algo, y dibujarán 15 cuadros de un diagrama para resolver problemas simples. Nunca he conocido a tantos desarrolladores que no les gusta Python, tienen sudores nocturnos por miedo a Javascript, o necesitan más convencimiento sobre el diseño de API de manera tan unánime como los desarrolladores de .NET.

(Barra lateral: en una reunión de Denver a la que me enviaron, vi cómo una sala llena de desarrolladores de .Net sacudía una computadora, mirándolo como hombres de las cavernas descubriendo fuego tratando de entender javascript … el orador que estaba dando la charla, parecía tan sorprendido comportamiento de JavaScripts como todos los demás, y admite que realmente no entiende cómo usar el lenguaje o depurar en un navegador, pero Microsoft le pagó para que hablara sobre el tema).

Sin embargo, esto no es su culpa. Como profesional, debe aprender la tecnología que realmente utiliza profesionalmente por dentro y por fuera , y Microsoft hace un muy buen trabajo al hacer que los desarrolladores se sientan completamente dependientes de ellos para recibir noticias, soluciones y soluciones alternativas. Cuando todo está integrado en su plataforma, utiliza lo que está incorporado, sea bueno o no. Además de eso, las tiendas .Net generalmente han existido por un tiempo. Con la inversión empresarial en los más de 10-15 años, tiempo , dinero , productos , clientes , nadie se siente particularmente motivado para hacer esa actualización de .Net 3.5 (o 2.0 en algunos casos … sí, de verdad …) a 4.5 o 5 porque puede Desestabiliza fundamentalmente el producto por décadas, la base de su negocio. ” Entonces, no, nos sentaremos muy bien en 3.5, gracias”. Por no hablar de la documentación EXTENSIVA para .NET. No se puede decir lo suficiente sobre documentación coherente, exhaustiva y completa para las tecnologías, y Microsoft proporciona esto en picas.

Personalmente, veo que el período anterior a Windows 10 de Microsoft es completamente ajeno a las tendencias y prácticas del resto de la industria. Tenían la reputación de afirmar que ” así es simplemente cómo se hace el software empresarial de calidad” . Facebook, Twitter, Spotify, Google y similares aparecen, diciendo: ” No, en realidad hay una gran cantidad de formas con las que puedes construir un software exitoso a escala empresarial”. Ahora Microsoft adaptándose al mercado:

  1. C # ahora es de código abierto,
  2. Visual Studio y Visual Studio Code ahora admiten varias tecnologías de código abierto
  3. despidieron internamente a la mayoría del personal de diseño de Windows 8
  4. Han hecho avances para estar cada vez más abiertos a la comunidad de desarrollo

Pero para mí, ¿por qué voy a esperar a que se modernicen cuando hay muchas comunidades maduras, e incluso provocando comunidades que han aprendido de las deficiencias de estos paradigmas rígidos, e incorporar filosofía para cortocircuitar los malos hábitos de la comunidad? industria en general integrada en la tecnología? Para mí, hasta que trabajo para una tienda .Net que abarca pruebas unitarias, revisión de código, cualquier práctica recomendada de la industria, TL; DR Estoy convencido de que es un problema con la mentalidad inherente a los usuarios de la tecnología, no la tecnología en sí.

Se han perdido razones y la mayoría de ellas se nombran aquí o allá.

Déjame decirte el mío.

Las bibliotecas de objetos no están lo suficientemente optimizadas y no son “delgadas”. Lo que significa, el desarrollo en .Net es fácil, ese era el propósito, eso es bueno.

Pero cuando se trata del tiempo de ejecución que las bibliotecas de objetos “gruesos” de revés consumen todos los recursos sin ninguna optimización, la mayoría de las veces aparecen problemas de rendimiento y pérdidas de memoria, no es fácil deshacerse de él.

El proyecto comienza de nuevo …

Si decide utilizar .Net en su tecnología, será mejor que tenga un presupuesto adicional para hardware adicional para compensar, para que un miembro del equipo de mayor calidad optimice y el soporte para la duración extendida del proyecto.

Todo lo mejor

Realmente no creo que la gente lo odie. Microsoft es una gran compañía y .NET es uno de los mejores productos. Lo que creo es que cuando observa un escenario hipotético en el que una startup ha tenido una gran idea para desarrollar un producto, la mayoría de las opciones disponibles para él se basarán en recursos como desarrolladores y costos, y también en el costo de implementar o pagar a los desarrolladores. Cuando profundiza en estas opciones, .NET es la primera plataforma que deja la lista de emprendedores, excepto que tiene mucho dinero o ya tiene una plataforma .NET y un producto en funcionamiento.

Esto los dejará con opciones en el mundo de código abierto. Desde Linux, a Node / Go / Python / PHP / Java / Ruby / y muchos más. Ahora piense en estas opciones, que en realidad son gratuitas y fáciles de configurar en comparación con .NET.

¿Le gustaría trabajar por su cuenta y pagarle a alguien diciendo que usé sus datos, así que aquí está el dinero de la lealtad?
Este mundo ahora está llevando al código abierto. Use .NET y pague a Billy Gates en lugar de esto, ¿por qué no debería usar JAVA, PHP, Android u otro código abierto?
Todas las aplicaciones desarrolladas en código abierto son compatibles con Windows, pero las aplicaciones de Windows no son para Linux ni para ningún otro sistema operativo de código abierto.
Entonces, ¿por qué limitarse solo a Windows?

1. Perspectiva del desarrollador

* No le pagaré a nadie por mi propio trabajo
* ¿Por qué debería limitar su software / aplicación al usuario de Windows? Solo las personas del campo no técnico son adictas a las ventanas, pero también están usando una pirateada
* Desarrollo del juego = Usar la unidad (código abierto) compatible con Windows
* Desarrollo web = Usar php / python / JAVA / Ruby (código abierto) compatible con Windows
* Aplicación de escritorio = compatible con Windows JAVA (código abierto)
* Aplicación móvil = Android, todo el mundo está ahora en él. (Código abierto) compatible con Windows

Incluso MICROSOFT proporciona aplicaciones de Android para escritorio remoto, uso compartido de archivos, generación de código, etc.

2.B perspectiva de negocios

* Una vez más, tendrá que proporcionar lealtad a Windows para usar su plataforma
* Solo tendrá un usuario de Windows como cliente
* Pague por SQL Server, SO, lealtad, actualizaciones y todo lo demás
* Proporcionar una aplicación de Android para el software .net vuelve a cambiar a código abierto

3. Perspectiva del usuario

* OK .net tiene una buena interfaz de usuario, pero OpenSource también tiene UI / UX que podría diseñarse en un aspecto mayor

Es posible que haya obtenido la respuesta. Espero que eso haya ayudado.

ACTUALIZACIÓN: –
En realidad, no hay odio por .NET, pero la prioridad y las fuentes gratuitas lo convierten en opciones secundarias que conducen a “No quiero usarlo” y desarrollan un sentimiento de odio.
Ahora que .NET es de código abierto y ofrece múltiples capacidades de plataforma, creo que puede superar el campo muy pronto.

No soy consciente del odio. .net es solo una opción de desarrollo. Se puede usar para desarrollar

  • Aplicaciones de Windows. Windows es más del 90% del mercado de computadoras de escritorio.
  • Móvil. Se pueden construir aplicaciones nativas de iOS y Android.
  • Mac. Puedes crear aplicaciones nativas para Mac. Mac es un porcentaje bastante bajo del mercado, pero está ahí y funciona.
  • Web. Construye todo tipo de aplicaciones web. Estas aplicaciones se pueden ver en varios sistemas operativos.
  • Datos. Puede conectarse a Oracle, MySQL, DB2, SQL Server, varios almacenes de datos Nosql.
  • Muchas otras plataformas de las que me he olvidado.

¡Buena suerte con tu desarrollo!

En mi experiencia, la mayoría de los prejuicios que los desarrolladores tienen a favor o en contra de las plataformas tiene muy poco que ver con los hechos, y mucho con las percepciones y lo que es “elegante”. He estado viviendo esto durante 30 años, escuchando a los programadores de C basura en FORTRAN, C ++ y los programadores de Java discuten entre sí, todos mierda en Visual Basic.

Seamos claros. La plataforma .NET no es perfecta. Tiene fallas. Tiene decisiones de diseño integradas con las que no todos están de acuerdo. Las herramientas de desarrollo, aunque buenas, tienen sus propias peculiaridades e idiosincrasias. En ocasiones, mientras desarrollé en .NET, lo odié por completo y juré que nunca lo volvería a tocar.

Sin embargo, tome ese párrafo anterior y reemplace .NET con CUALQUIER otra plataforma que exista, y seguirá siendo cierto. He usado demasiados, y sé que fundamentalmente todos tienen fallas, y todos tienen sus fortalezas y debilidades.

Sin embargo, una gran cantidad de desarrolladores tienden a aferrarse a una idea, una plataforma, una metodología e insisten en que es mejor que todos los demás para todos los fines, en todo momento y que no tiene problemas.

Lamentablemente, están equivocados.

Desde la perspectiva del desarrollador, .net se ha convertido en una tecnología muy agradable en los últimos años. Ahora es de código abierto, multiplataforma, y ​​los idiomas son de especificación abierta y están estandarizados por ECMA e ISO.

PERO, el nombre que comienza con ‘.’ es demasiado desagradable.

Creo que mucha gente lo odia, porque odian a Microsoft.

Es bastante difícil encontrar una razón técnica para odiar a .NET.

Sin embargo, de acuerdo con Rick Juang, ese nombre es molesto y confuso. Recuerdo cuando apareció por primera vez y no pude averiguar qué era, el “.” lo hace sonar como parte de la dirección de red, y ‘NET’ simplemente lo complica. Básicamente, es un nombre que grita ‘Soy una tecnología de red’ pero no lo es.

Una de las razones muy válidas para odiar cualquier tecnología es tener que trabajar muchas horas para lograr muy pocos resultados. Para colmo, no te pagan en proporción a los esfuerzos que pones. Algunas tecnologías no tienen suficientes herramientas para facilitar el trabajo con ellas.
No he trabajado en .net, pero he pasado por el dolor de hacer que las cosas funcionen en Internet Explorer. Creo que como las tecnologías de Microsoft no son de código abierto, es difícil para los desarrolladores de terceros crear herramientas que faciliten la vida de los desarrolladores.

De hecho, .NET se parece más a Java (quizás mejor que Java), pero a ‘mucha gente’ no le gusta.

Por qué ? porque .net no es completamente multiplataforma, creo, ‘a muchas personas’ les encanta el freeware y el código abierto, pero .net framework solo funciona bien en el sistema operativo Windows; Ya sabes, Windows no es un programa gratuito. por lo que no puede obtener el soporte oficial del software de código abierto (como hadoop u otra cosa)

En mi humilde opinión, la calidad del software no tiene relación con el lenguaje del programa, depende del Programador.

Por cierto, amo .net y C # desde el fondo de mi corazón, .net es un buen marco, C # es un buen lenguaje y Visual Studio es un IDE maravilloso 🙂

no diría que lo odio, de hecho, he estado haciendo algo de codificación C # últimamente y ha sido agradable, históricamente, aunque .net era bastante defectuoso y cada nueva actualización a .net solía introducir alguna posibilidad nueva de bloqueo aleatorio en su código , también estaba bastante hinchado, por lo que los programas escritos en .net tendieron a ejecutarse mucho más lento de lo que deberían, aunque parece haber mejorado mucho en los últimos años. Muchos programadores hardcore prefieren no usar lenguajes administrados por memoria, ya que esto les permite ajustar su código para que sea mucho más eficiente y con menos errores.

una respuesta rápida en stackoverflow podría explicar esto mejor …

¿Diferencia entre código nativo y administrado?

Realmente no odiaba dot net, simplemente estaba un poco frustrado con la política que Microsoft ha estado siguiendo durante años con extensiones patentadas, estándares cerrados, etc.

Luego me acerqué a .NET comenzando a usar C # para vivir y de hecho descubrí un entorno muy poderoso.

Así que supongo que la gente odia a Microsoft (muchos de ellos aún) y Microsoft tardará un tiempo en cambiar este sentimiento, aunque la última evolución parece orientar la apertura de Microsoft al mundo de los estándares.

Era de fuente cerrada durante la mayor parte de su existencia.

Perspectiva del desarrollador

Es propietario (no es un estándar abierto)

Perspectiva del desarrollador
Perspectiva empresarial (sin competencia).

Se prometió demasiado (incluso Microsoft no pudo usarlo como se prometió)

Perspectiva del desarrollador

Se ha agregado a DLL-hell a través de problemas de versiones

Perspectiva del desarrollador
Perspectiva empresarial
Perspectiva del usuario

Mundo de código abierto, existen opciones, aunque generalmente es costoso ir con MS desde el sistema operativo hasta las herramientas / entorno de desarrollo. Tiendo a pensar que las personas simplemente ignoran y omiten cosas relacionadas con la EM de lo que odian

No soy desarrollador, pero odio .NET. Lo que odio es que cuando estás instalando un programa y recibes un mensaje de que necesitas instalar .NET. Y luego, después de pasar todo este tiempo descargando, no se instalará.