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
- Cómo crear una arquitectura de servicio web que pueda funcionar cuando el servidor de base de datos está inactivo
- Como desarrollador web, ¿debería crear primero una estructura alámbrica o simplemente construir? ¿Cuáles son tus pensamientos?
- ¿Cuál es la mejor pila de tecnología para una aplicación web / móvil?
- ¿Puedo usar Microsoft Access Database para una aplicación web PHP?
- ¿Cómo funciona el almacenamiento en caché en una aplicación web?
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?