Al igual que con todas las preguntas que comienzan con “qué lenguaje de programación …”, la respuesta comienza con “Depende …”. Depende de cuál sea su propósito de preguntar (averiguar qué aprender para hacer algo, o averiguar qué aprender para conseguir un trabajo, o averiguar a quién contratar para construir un sitio web, etc.). Una vez que aclare eso, depende de las consideraciones económicas / de mercado, de la naturaleza del sitio web, de la escala de rendimiento y tráfico que necesita, la escala de complejidad en la base del código y, en cierta medida, los tipos de características que desea (algunas características son más difíciles de codificar en algunos idiomas y en algunas plataformas).
Por consideraciones de mercado. Un idioma con el que esté familiarizado es obviamente una ventaja, pero si está hablando de contratar el trabajo realizado en lugar de hacerlo, resulta “un idioma en el que puede contratar fácilmente personas para trabajar”, es decir, qué tan grande es el grupo de talentos para ese idioma en su área.
Una pregunta similar y relacionada es dónde se venderá el trabajo, a quién, etc. Si solo lo hace por usted mismo, entonces esto no importa. Si está tratando de decidir dónde invertir su tiempo de aprendizaje para que sea más comercializable, sí importa. Si planea vender un servicio, probablemente no importe, pero si está construyendo un producto (especialmente para el mercado empresarial o para cualquier mercado en el que es probable que el cliente quiera hacer mucha personalización) Podría hacer una gran diferencia.
- ¿Qué oportunidades hay para un desarrollador front-end más fresco en Bangalore?
- ¿Cómo identificar un sitio web vendible? ¿Qué es un sitio web vendible y cómo construir uno con éxito?
- ¿Dónde debo guardar las ID de usuario en una aplicación web?
- Cómo construir un sistema de validación y alerta de datos
- ¿Cuáles son algunos consejos para agregar una línea en HTML?
Para los factores más prácticos, en última instancia, PUEDES hacer casi cualquier cosa en casi cualquier idioma (siempre que Turing esté completo), pero eso no significa que DEBERÍAS (o quieras).
Los lenguajes populares para el trabajo de back-end web son PHP, Java, Ruby. En los últimos años, Python ha comenzado a ser más popular y los chicos geniales han estado haciendo mucho Javascript de back-end (node.js y similares).
Por ejemplo, PHP es un lenguaje desordenado, inconsistente y a menudo poco elegante, pero hace el trabajo bastante bien para sitios web de tamaño moderado (donde “moderado” puede ser una gran cantidad de usuarios, dependiendo de lo que esté haciendo para cada usuario)
En el otro extremo, PHP también se puede usar para sitios web muy grandes y de muy alta escala, si sabes lo que estás haciendo y tienes las herramientas y la infraestructura adecuadas. Facebook, por ejemplo, usa mucho PHP. Pero probablemente el 90% de los programadores de PHP no tienen el conocimiento y la experiencia para hacer ese tipo de trabajo. Esto no es una reflexión sobre PHP o sobre los programadores de PHP, sino más bien sobre la probabilidad de que cualquier proyecto PHP se realice a ese tipo de escala.
Sin embargo, esta no es una propuesta de todo o nada. En un extremo, tiene un único servidor apache con php y una base de datos. En el otro, tienes una loca infraestructura a nivel de Facebook. En el medio, puede hacer cosas inteligentes con el diseño de su software, lo que facilita el procesamiento de solicitudes a través de múltiples front-end de apache a un servidor de base de datos central al hacer el trabajo sin estado. Puede usar una herramienta como memcache para hacer una caché compartida y reducir la carga de la base de datos. Puede hacer cosas inteligentes con la arquitectura de la aplicación en sí misma para que sea más fácil agotar la carga en los servidores, etc.
Del mismo modo, los mundos java, ruby, python y back-end javascript tienen sus propias estrategias, plataformas y herramientas de infraestructura para este tipo de cosas.