Alguien comentó que "a los clientes les encanta el software que cumple con los requisitos y dentro del presupuesto". Bueno, esto es cierto, pero tiene una gran influencia en el software lento, y eso, casi por definición, significa lenguajes de programación (y marcos), algoritmos y configuración más lentos. Un lenguaje de programación lento es posiblemente la parte más importante de todo lo anterior simplemente porque es una base desde la cual le resultará más difícil cambiar. Si usa un Oracle DB y necesita más rendimiento, puede optimizar las tablas / index / etc. Fácil. Si tiene un algoritmo deficiente en su código, puede escribir un código diferente. Si su marco es lento, puede reemplazarlo; eso no es tan fácil pero es factible sin volver a escribir todo. Si su idioma es demasiado lento, prácticamente debe comenzar de nuevo.
Vea en Facebook la molestia que tuvieron para hacer que PHP funcione lo suficientemente rápido cuando necesitaban escalar.
Para el resto de nosotros, los "requisitos de rendimiento no funcionales" a menudo se escriben en especificaciones, especialmente para aplicaciones web escalables. El incumplimiento de la página debe mostrarse al usuario dentro de los 2 segundos posteriores a la solicitud "y usted pierde el contrato (o paga multas). Entonces, sí, a los clientes les encanta el software que cumple con los requisitos, y esos requisitos dirán que tiene que ser rápido (es posible que no le importe cuánto tiempo pasan los usuarios mirando el reloj de arena, pero el cliente sí lo hace, es un costo enorme).
Por ejemplo, en un gran centro de atención telefónica me dijeron que habían determinado que por cada segundo que podía ahorrar en el proceso de recepción de llamadas, se podía "reducir el tamaño" de 1 receptor de llamadas. Eso es dinero real de repente, y un gran incentivo para que los jefes obtengan un software más rápido, eficiente y más utilizable.
Se pasa mucho tiempo preocupándose por los programadores que producen el código lo más rápido posible (y luego prueban y refactorizan la unidad todo el tiempo, jajaja). He descubierto que este no es un factor tan importante como la gente piensa que es: si eres un experto en tu idioma, puedes codificarlo mucho más rápido que si no tienes experiencia. Por lo tanto, un desarrollador experto de C ++ puede escribir código más rápido y con mayor precisión que un desarrollador PHP novato. Así que creo que convertirse en un experto es más importante que elegir un lenguaje 'fácil' y es por eso que no me gusta el culto de 'reescribir en las cosas nuevas y geniales' que parece estar en todas partes hoy en día.