¿Cuál es el lenguaje de programación del lado del servidor más apropiado para un ERP o una aplicación de comercio electrónico, Java, C #, Python o Node.js?

Suponiendo que la aplicación crezca hasta un tamaño bastante grande, seleccionaría un idioma fuertemente tipado. Definitivamente no es Python, que es recomendado por algunos a continuación (que obviamente son desarrolladores de Python y, por lo tanto, sesgados). Tampoco Node.js, que se desarrolla principalmente para backends de alto tráfico (como una plataforma de chat), no para un backend web en su mayoría sin estado.

Por lo tanto, es posible que necesite un tiempo de ejecución robusto y escalable con un lenguaje fácil de mantener (y definitivamente fuertemente tipado).

Java / JVM y C # /. NET son sus mejores opciones. PHP7 tampoco es una mala idea.

Echa un vistazo a Java y Spring Boot / Spring MVC. Se adapta perfectamente a sus necesidades (y por cierto, esta es la razón por la cual los sistemas ERP están escritos principalmente en Java). También podría considerar el lenguaje Kotlin, que es un reemplazo directo para Java, pero es un lenguaje moderno que acelera considerablemente el tiempo de desarrollo.

Puede crear una aplicación ERP o de comercio electrónico en cualquiera de los idiomas que enumeró. Los idiomas no importan en absoluto cuando se trata de la funcionalidad del usuario final.

El lenguaje es importante para otras cosas.

Seguridad, mantenibilidad, compatibilidad con tecnología de terceros, capacidad de adquisición de desarrolladores, etc.

Puedes hacer una buena tienda de comercio electrónico en cualquier idioma. ¿Tiene en cuenta la velocidad? ¿Qué parte necesita ser rápida? ¿Será necesario que el servidor sea un determinado sistema operativo? ¿Cuánto tiempo está dispuesto a invertir en la seguridad de sus datos? ¿Qué partes deben ser especialmente seguras? ¿Qué idiomas ya conocen sus desarrolladores? ¿Necesita que este servicio se inicie rápidamente o puede tomarse un tiempo adicional para planificar el plan de desarrollo con 5 años de anticipación? ¿Qué bibliotecas de tercera parte se vería obligado a usar para cada idioma en función de su funcionalidad requerida? ¿Cuáles son las más atractivas? ¿Debería crear sus propias bibliotecas para admitir ciertas funciones sin tener que preocuparse por el soporte de terceros?

Si estuviera escribiendo un nuevo sistema ERP o de comercio electrónico hoy, diría que la respuesta podría depender mucho más de los factores de la plataforma que del lenguaje en sí.

¿Alguno de estos por alguna razón es más seguro que cualquiera de los otros? No voy a responder eso, es una consideración muy importante. Si soy un proveedor de software, tengo una reputación que proteger y también problemas de responsabilidad.

¿Alguna de estas plataformas es más fácil de mantener que otra?

Dado que estos se ejecutan en un entorno de tiempo de ejecución de algún tipo, esa es una consideración clave que tiene poco que ver con la sintaxis del lenguaje.

No estoy seguro de si la existencia de buenas bibliotecas y marcos sólidos es una consideración del entorno o una consideración del lenguaje. Lo dividiré por la mitad. Pero es un factor en el costo de desarrollar el producto.

OKAY. A continuación, analizaré la disponibilidad de talento para escribir esto. Tanto a corto como a largo plazo. Y también analizaría el costo de adquirir el talento y retenerlo a largo plazo.

Luego, pondría a mi equipo a buscar cualquier motivo de ventas o marketing para seleccionar uno u otro. Si el 90% de las solicitudes de propuestas en los últimos dos años pidieron Java, podría estar inclinado a usar Java. No dictaría completamente la elección, pero sería un factor. Consideraría lo que mi base de clientes estaba usando y esperaría. Si el antiguo producto de primera generación era VB o .NET, se podría hacer un caso para C # sobre Java.

Por lo tanto, estas decisiones van mucho más allá de cualquier ventaja o desventaja en el idioma.

TL; DR Utilice el marco PHP Symphony con MySQL en su lugar.

¿Dónde lo vas a alojar? En la mayoría de los casos, el servidor de alojamiento admitirá PHP 7.X y MySQL listos para usar, lo que hace que un marco PHP con ORM sea una mejor opción que un lenguaje (Java / C # / Python) o un entorno de servidor (node.js).

Personalmente, encuentro a alguien que elige js para codificar cualquier cosa, sin verse obligado a usarlo, como incómodo. Java y C # son lenguajes muy capaces y rápidos. Sin embargo, cuando se enfoca en la base de datos y el preprocesamiento de HTML, Python y PHP proporcionan una mayor facilidad de uso, así como opciones de depuración con marcos especializados. Ahora, las personas pueden discutir sobre qué marco PHP es el mejor entre Cake, Yii, Laravel, CI, etc. pero todos estarían de acuerdo en que Symphony nunca es una mala elección.

Yo diría que cualquiera, pero depende de cuántos números y listas esté manejando.

Si está haciendo un tipo de API realmente escalable (lecturas de db / escrituras de db), vaya con node.
Si incluso toca números como decimales y otras cosas, entonces no debería usar js. No es realmente cómodo trabajar con números y comparaciones, etc.

Si hay muchos tipos y una fuerte arquitectura centrada en el modelado de tipos de datos, entonces vaya con Java / C #. Y si hay mayormente números, entonces python.

También una cosa a tener en cuenta; cualquiera de estos lenguajes se puede usar indistintamente si su arquitecto de sistemas es bueno con el énfasis en que sus requisitos comerciales deben traducirse fácilmente en conceptos de lenguaje de programación.

Parece que cualquiera de esos lenguajes sería apropiado, pero con C # estás vinculado a la plataforma de alojamiento no libre de Microsoft, a menos que algo haya cambiado en los últimos años y sea posible ejecutar una aplicación web C # en Linux.

Probablemente aconsejaría contra Node.js, pero eso es principalmente un sesgo de mi parte. Realmente podrías usar cualquier cosa. Python es popular en este momento, por lo que podría ser una buena opción dado el mercado actual.

¿Por qué no PHP? Ya se ha utilizado en muchos otros proyectos de comercio electrónico muy exitosos, incluidos Magento y WooCommerce.

Por último, ¿existe una necesidad genuina de construir una nueva plataforma de comercio electrónico o ERP desde cero? Si no, recomendaría ir con un producto existente y usar un enfoque basado en complementos.

La respuesta es Python. es simple, menos código, perfecto para construir prototipos, flexible, muchos marcos, la mayoría de los gigantes tecnológicos están usando python como google, youtube, yahoo, torrent, redhat, shopzilla. Lo mejor es que el ERP Odoo está construido en python.

Lo simplifico si codifica solo, debe usar JavaScript, ya que puede encontrar mucha información sobre el Tiempo de desarrollo, lo que menos es con JavaScript.

También aplica algunos patrones agradables como Micro Service Architecture

Yo voto por Java. Pero si estamos buscando un desarrollo rápido con menos arquitectura de sistema y modelado de datos involucrados, entonces iré con Python.

La respuesta a esa pregunta es sí. Es uno de esos.

Si desea confiabilidad y robustez, vaya a Java, si su robustez es menos preocupante y un ciclo de actualización más rápido es preocupación, vaya a Python.

Probablemente C # o Java, a menos que sea una pequeña aplicación en la que los lenguajes de scripting estarían bien.