La elección del idioma tiene muchas razones. Algunos se enumeran a continuación:
1) Aplicación o característica que se está creando
2) Infraestructura utilizada
- ¿Qué es mejor para el desarrollo web: GWT o Ruby on Rails? ¿Cuáles son las fortalezas y debilidades? ¿Cuándo debo usar uno sobre el otro?
- Cómo expandir todos los contenidos ocultos (que necesitan un clic explícito para expandirse) en una página web HTML con un solo clic
- ¿Qué es la pila de tecnología de Docker?
- ¿Por qué los desarrolladores de sitios web no le darán el código fuente para construir su sitio sino que le dirán que es el propietario del sitio web al 100%?
- ¿Por qué usamos promesa en los métodos de devolución de llamada en Node.js?
3) Presupuestos para el proyecto
4) Disponibilidad de recursos
5) Curva de aprendizaje de nuevos recursos.
Según las cinco razones anteriores, estas son las opciones:
1) Aplicación o característica que se está creando:
Go / NodeJS: requisitos de concurrencia muy alta, sistemas basados en eventos y tareas de procesamiento asíncrono para admitir un gran número de usuarios de múltiples operaciones o aplicaciones intensivas en datos.
Python: trabajar con datos, minería de datos, matemática, algoritmo o aplicaciones basadas en ML / AI.
Java: Multi-threading estable o maduro o big data
PHP: aplicaciones generales que se utilizan para operaciones CRUD simples o escalables.
2) Infraestructura utilizada:
NodeJS: haga más con menos infraestructura (infraestructura baja) para admitir una mayor concurrencia.
Python / Java / PHP: aplicaciones generales o empresariales con disponibilidad de infraestructura normal a alta. PHP es actualmente el más rápido, pero Java brinda cierta seguridad de código y las aplicaciones bien diseñadas pueden ser más rápidas ya que el código es código binario compilado.
3) Presupuestos para el proyecto:
NodeJS / Python / Go: los presupuestos deben estar por encima del promedio o por encima.
Java: promedio a alto.
PHP: bajo a promedio a alto dependiendo de las características de la aplicación y la optimización necesaria.
4) Disponibilidad de recursos:
NodeJS / Python / Go: los desarrolladores realmente buenos también son difíciles de encontrar.
Java: la disponibilidad de recursos es abundante de encontrar, pero tendrá que evaluar a los desarrolladores.
PHP: los desarrolladores de PHP realmente buenos son difíciles de encontrar. Todas las demás personas son desarrolladores de PHP sin conocer los estándares de codificación PHP escalables y actuales.
5) Curva de aprendizaje de nuevos recursos:
NodeJS / Go: Tiempo medio a alto. Algunas personas no solo lo entienden (Async / Concurrency)
Python: marco de tiempo medio a alto. Algunas personas no solo lo entienden (ML / AI)
Java: plazo medio
PHP: marco de tiempo bajo
Así que elija su infraestructura, decida las características, decida las necesidades de optimización / volumen de usuario / escalabilidad, presupuesto, mantenibilidad y opciones de recursos.
¿Puede PHP manejar sitios de nivel empresarial y Java?