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
- ¿Prefieren las personas acceder al contenido basado en la ubicación en un formato de aplicación o la web con capacidad de respuesta móvil está bien?
- ¿Cuáles son las ventajas y desventajas del sistema de inicio de sesión de entrada única?
- ¿Puedo crear un sitio web o aplicación completamente estructurado usando solo Python?
- ¿Qué marco de interfaz de usuario móvil es mejor usar ahora para el desarrollo de aplicaciones híbridas?
- ¿Qué idioma es mejor aprender para el desarrollo de software, aplicaciones y sitios web en la próxima década?
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 ofrece 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?