¿Hay alguna prueba cuantificada de que .NET u otras tecnologías de Microsoft no son buenas para las startups web?

Hago .NET en mi trabajo diario, y he sido parte de la comunidad .NET en mi área desde hace unos años. La plataforma ha sido buena para mí, ya que volví al desarrollo después de un período en la consultoría de gestión por pura casualidad cuando me arremangué en un proyecto .NET fallido. Anteriormente, había desarrollado algo de Java tanto profesionalmente como en la universidad.

Estoy trabajando para lanzar mi propio inicio basado en la web en un futuro próximo, y a mitad de camino elegí cambiar las plataformas de ASP.NET MVC a Ruby on Rails. Mi decisión se basó en algunas cosas:

  1. ASP.NET MVC como marco web es más inmaduro que Rails o Django. A pesar de estar presente desde 2007, las tasas de adopción no son tan altas como las de los formularios web ASP.NET tradicionales, ya que es casi imposible “actualizar” un sitio WebForms a un sitio MVC. En la mayoría de los casos, esta actualización da como resultado una reescritura completa y muchas integraciones rotas con los componentes del proveedor. Sin la tasa de adopción y los comentarios posteriores, Microsoft solo puede copiar las buenas ideas que Rails y Django ya han demostrado.
  2. El código comprobable es muy importante para una startup. Cuando vaya a 100 millas / hora bombeando características, no puede preocuparse por construir una arquitectura perfectamente comprobable y compatible con DI para la que pueda escribir pruebas adecuadas para más adelante. Además, no puede permitirse un departamento de control de calidad dedicado y se ve obligado a la automatización de pruebas antes que la mayoría de las empresas. A pesar de muchos avances en esta área, .NET todavía contiene demasiada ceremonia para escribir código comprobable en comparación con Rails o Django.
  3. La implementación aún no es compatible con la automatización en comparación con las plataformas * nix. Y las nuevas empresas no pueden permitirse el lujo de que los administradores de configuración dedicados copien archivos a todos los servidores de su granja web. Una vez más, se han logrado avances en esta área, pero todavía están emulando y jugando a ponerse al día con el mundo de Unix.

¿Cómo puedes “probar” tal cosa? Puede refutar la afirmación de que “.NET no es bueno para las startups web” señalando ejemplos como Stack Overflow.

Lo siento, esto no es cuantitativo sino anecdótico … supongo que puedes contarme como +1

Brightidea cambió de ASP a PHP al principio de nuestro desarrollo.

Las nuevas empresas requieren la máxima velocidad y agilidad, a un costo mínimo.

Tengo entendido que .NET reemplazó un lenguaje de secuencias de comandos con un lenguaje compilado. Creo que el desarrollo de la prueba de concepto / 1.0 ocurre más rápido en los lenguajes de script, hay evidencia de que Facebook se desarrolla en PHP (luego se compila en C ++) por razones similares. Además, en mi experiencia, los lenguajes de secuencias de comandos son más fáciles para los desarrolladores nuevos / jr, y no todas las funciones son básicas y deben ser altamente optimizadas, por lo que el desarrollo rápido es la prioridad.

También seguimos encontrándonos con “cajas negras” de funcionalidades que nos impedían hacer lo que queríamos hacer. Una biblioteca compilada que no se comportaba como se esperaba, y no había nada que pudiéramos hacer al respecto. Incluso las diferencias sutiles, como la información de configuración que se encuentra en el registro de Windows, a diferencia de un archivo de texto (como Apache, Solr, …) hace que sea más difícil propagar cambios de configuración automatizados en grandes flotas de servidores. Sé que hay herramientas para esto en Windows, pero es más fácil simplemente modificar archivos de texto.