Qualcuno ha commentato che "I clienti adorano i software che soddisfano i requisiti e nel rispetto del budget". Bene, questo è vero, ma ha una certa influenza sul software lento e questo, quasi per definizione, significa linguaggi di programmazione (e framework) più lenti, algoritmi e configurazione. Un linguaggio di programmazione lento è forse la parte più importante di tutto quanto sopra semplicemente perché è una base dalla quale troverete più difficile cambiare. Se usi un Oracle DB e hai bisogno di più perf, puoi ottimizzare le tabelle / index / etc. Facile. Se hai un algoritmo scadente nel tuo codice, puoi scrivere codice diverso. Se il tuo framework è lento, puoi sostituirlo - non è così facile ma è fattibile senza riscrivere tutto. Se la tua lingua è troppo lenta, devi praticamente ricominciare.
Vedi Facebook per la seccatura che hanno affrontato per far funzionare PHP abbastanza velocemente quando hanno dovuto ridimensionare.
Per il resto di noi, i "requisiti prestazionali non funzionali" sono spesso scritti nelle specifiche, in particolare per le app Web scalabili. La mancata osservanza della "pagina deve essere mostrata all'utente entro 2 secondi dalla richiesta" e si perde il contratto (o si pagano penalità). Quindi, sì, i clienti adorano il software che esegue le richieste - e quelle richieste diranno che deve essere veloce (potrebbe non interessarti per quanto tempo gli utenti trascorrono a fissare la clessidra, ma il cliente lo fa sicuramente - è un costo enorme).
Ad esempio, in un grande call center mi è stato detto che avevano determinato che per ogni secondo che si poteva risparmiare sul processo di assunzione delle chiamate, 1 calltaker poteva essere "ridimensionato". Si tratta di soldi veri improvvisamente e un enorme incentivo per i capi a ottenere software più veloce, efficiente e più utilizzabile.
C'è molto tempo speso a preoccuparsi che i programmatori sfornino il codice il più velocemente possibile (e quindi test e refactoring delle unità tutto il tempo, lol). Ho scoperto che questo non è tanto un fattore come la gente pensa che sia - se sei un esperto nella tua lingua, puoi codificarlo molto più velocemente rispetto a se non hai esperienza. Quindi un esperto sviluppatore C ++ può scrivere codice più velocemente e con maggiore precisione rispetto a un sviluppatore PHP alle prime armi. Quindi penso che diventare un esperto sia più importante della scelta di una lingua "facile" ed è per questo che non mi piace il culto della "riscrittura nelle cose nuove e interessanti" che sembra essere ovunque oggi.