Quelqu'un a déclaré que «les clients adorent les logiciels qui répondent aux exigences et au budget». Eh bien, c'est vrai - mais cela a tout à fait une incidence sur les logiciels lents, et cela, presque par définition, signifie des langages de programmation (et des cadres) et des algorithmes, et une configuration plus lents. Un langage de programmation lent est probablement la partie la plus importante de tout ce qui précède simplement parce que c'est une base à partir de laquelle vous aurez du mal à changer. Si vous utilisez une base de données Oracle et avez besoin de plus de performances, vous pouvez optimiser les tables / index / etc. Facile. Si vous avez un mauvais algorithme dans votre code, vous pouvez écrire un code différent. Si votre framework est lent, vous pouvez le remplacer - ce n'est pas si facile mais c'est faisable sans tout réécrire. Si votre langue est trop lente, vous devez pratiquement recommencer.
Voir Facebook pour les tracas dans lesquels ils se sont rendus pour faire fonctionner PHP assez rapidement quand ils avaient besoin d'évoluer.
Pour le reste d'entre nous, les «exigences de performances non fonctionnelles» sont souvent inscrites dans les spécifications, en particulier pour les applications Web évolutives. Si vous ne remplissez pas la "page, l'utilisateur doit l'afficher dans les 2 secondes suivant la demande" et vous perdez le contrat (ou payez des pénalités). (vous ne vous souciez peut-être pas du temps que les utilisateurs passent à regarder le sablier, mais le client le sait, c'est un coût énorme).
Par exemple, dans un grand centre d'appels, on m'a dit qu'ils avaient déterminé que pour chaque seconde que vous pouviez économiser sur le processus de prise d'appel, 1 appelant pouvait être «réduit». C'est de l'argent réel tout à coup, et une incitation énorme pour les patrons à obtenir des logiciels plus rapides, efficaces et plus utilisables.
Il y a beaucoup de temps à s'inquiéter du fait que les programmeurs produisent du code aussi rapidement que possible (puis testent et refactorisent en permanence, lol). J'ai trouvé que ce n'était pas autant un facteur que les gens le pensent - si vous êtes un expert dans votre langue, vous pouvez le coder beaucoup plus rapidement que si vous êtes inexpérimenté. Ainsi, un développeur C ++ expert peut écrire du code plus rapidement et plus précisément qu'un développeur PHP novice. Je pense donc que devenir un expert est plus important que de choisir une langue `` facile '' et c'est pourquoi je n'aime pas le culte de la `` réécriture dans le cool, de nouvelles choses '' qui semble être partout aujourd'hui.