De C #, Java o Python, ¿cuál es el mejor lenguaje y tecnología para las startups?

C # se está volviendo más y más popular. Creo que la existencia de Xamarin le ha dado un gran impulso.

Java está bien versado en todos los tipos de desarrollo … Puedes escribir servicios web (como mencionaste Play), hacer Android dev y alternativamente usar RoboVM para iOS también. Python / Django es sólido para la parte de servicios web.

Ruby / Rails es un asesino para las API de REST, al igual que PHP / Laravel.

Entonces todos tienen sus seguidores y creo que todos son sólidos, pero:

No debes elegir una pila según la popularidad o el uso de otras startups. ¿Por qué?

Debido a que, dependiendo de lo que intente hacer su inicio, probablemente necesitará elegir el mejor lenguaje / marco para ESO trabajo.

Honestamente, puedes elegir aquello con lo que te sientas más cómodo y te ayudará a crear un producto. El escalado y las optimizaciones vienen más tarde y en la medida que avanzas. Desde el principio, no hubo una gran puesta en marcha con una tecnología / pila perfecta, y la sencilla razón es que no sabes a dónde irás una vez que construyas tu producto inicial … así que eventualmente tendrás que cambiar o usar otras cosas para evolucionar. tu producto..

Facebook, Twitter y otros han cambiado sus cosas a medida que avanzaban hasta el punto en que Twitter, por ejemplo, ahora usa Scala / JVM, Facebook está haciendo algunas cosas híbridas y literalmente ha escrito su propio lenguaje Hack (aún funciona con PHP y se ejecuta en nuevos HHVM) pero comenzaron con PHP. WhatsApp está utilizando Erlang !! Rdio está utilizando C # / Xamarin.

Si desea hacerlo “correctamente”, asegúrese de evaluar qué lenguaje y marco logran los mejores resultados para lo que USTED necesita específicamente. Algunos son buenos para no bloquear / async i / o y gran volumen de sincronización de datos en tiempo real, algunos manejan bien grandes conjuntos de datos, algunos son as para servicios web RESTful, algunos interactúan y le permiten construir bien en la variedad de plataformas con poco a ninguna fricción o esfuerzo etc.

Desde mi punto de vista personal, esto es lo que más me gusta:

1. Java
2. PHP / Laravel o Ruby / Rails
3. Me encuentro explorando y trabajando más y más con C # y Xamarin

Pero mis elecciones realmente se basan en lo que me siento más cómodo, el alcance de lo que puedo hacer y la madurez, el apoyo de la comunidad, así como la capacidad de trabajar en equipo o que alguien simplemente brinde ayuda con muy poco esfuerzo.

La conclusión es esta: es mejor tener un buen producto, que funcione y esté terminado, en lugar de ir con algo que no conoces por el zumbido y lo que usan los niños geniales que harán que te estances y tengas problemas para desarrollar tu producto / Servicio.

Probablemente los 3 que mencionaste. Realice IUs de escritorio (relativamente hábiles) para la mayoría de los usuarios de Microsoft Windows usando C #. Realice integraciones de back-end rápidas y utilidades de operaciones rápidas con Python. Cree algunas soluciones sólidas y rigurosas del lado del servidor con Java.

Los 3 son prácticos. Los 3 son accesibles a los programadores. Puede aplicar los 3 con gran efecto si decide construir rápido y adaptarse rápidamente. El inconveniente es que si no tiene cuidado, se verá bien en el exterior para los inversores, pero tendrá que cargar con enormes fallas de diseño técnico. Dependiendo de quién eres, eso no te sienta bien o no te importa.

Como propietario de una startup tengo una respuesta muy clara: Python. Y la razón es muy simple. Puede desarrollar más funciones con menos código en Python (en comparación con Java o C #). Durante la fase inicial de un inicio, no está seguro si la idea volará o no, por lo que no debe preocuparse si la ejecución de su código es lo suficientemente rápida o si equipos grandes pueden trabajar simultáneamente en su código. Concentrarse en la funcionalidad y el marketing. Si la idea falla, habrás gastado mucho menos esfuerzo y costo al usar Python
No quiero decir que los otros 2 son malos (uso Java en un entorno sin inicio), pero seguir a Python acelerará su desarrollo. Como marcos, puede utilizar Django para entornos basados ​​en SQL o Flask para entornos no basados ​​en SQL.

Por favor, contrate un desarrollador profesional o una firma de desarrollo que pueda entregarle un producto sin que tenga que preocuparse por tales preguntas. Concéntrate en tu plan de negocios.

Depende de lo que quiera construir y qué habilidades están disponibles al precio que desea pagar.

Desde una perspectiva tecnológica, lo que quiera construir tendrá una gran influencia en las decisiones que tome. Por ejemplo, si desea crear aplicaciones para la Tienda Windows, es mejor que esté con .NET. Si desea crear un sitio web, es probable que se adapte a cualquiera de estos idiomas. Sería más una cuestión de demanda laboral.

Iría por la plataforma dot net por las siguientes razones

  • Programadores fácilmente disponibles
  • Fácil implementación en servidores locales / remotos o en la nube
  • Tiempos de desarrollo más rápidos con muchas bibliotecas de código abierto disponibles desde github, nuget y codeplex, etc.
  • Libertad para elegir cualquier js libs del lado del cliente e incluso cualquier dbs sql o nosql para backend
  • Fácil de crear bibliotecas reutilizables para usar con Xamarin para extender su base de código a entornos móviles con menos complicaciones

Terminará con buena libertad y menos discapacitados tecnológicos al llevar sus ideas a la implementación al elegir la plataforma dot net.

Para aplicaciones web, django y python es genial.
Para servicios (especialmente alta carga), python no es bueno. Vaya con c ++ (o c # si realmente debe hacerlo) o vaya o java (si realmente debe).

Cuando se trata de inicio, creo que el desarrollo de Java es el mejor, se mantiene durante mucho tiempo. Todo es adecuado exactamente para un nuevo inicio fresco. También puedo recomendar el uso de la seguridad de checkmarx para garantizar la detección de código, ya que Java se complica un poco a veces.
¡Buena suerte!
José.