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
- Soy un desarrollador de UI / front-end con una experiencia total de 5 años. ¿Cómo puedo solicitar en el extranjero?
- Empecé a aprender JavaScript, pero luego descubrí que JavaScript solo es inútil. Tienes que aprender HTML y CSS para JavaScript para tener alguna función. ¿Es esto cierto? Y si 'termino' de aprender JavaScript, ¿será fácil aprender HTML y CSS o los mezclaré y olvidaré qué código es para qué idioma?
- Mi sitio de WordPress recibe cientos de ataques transversales de directorios diariamente. ¿Esto es normal?
- Aprendí un poco de HTML y CSS, por lo que puedo escribir código básico. Pero, ¿cómo llego mi código al sitio web? FTP? ¿Lo escribo en mi sitio web?
- Estoy tratando de construir un backoffice para un sitio web, pero no quiero pasar por la molestia de diseñar los menús, formularios, etc. Estoy buscando una herramienta que me ayude a construir y aplicar un estilo estándar a mi páginas sin tener que escribir HTML y CSS. ¿Qué puedo usar?
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?