Questa potrebbe sembrare una domanda strana per alcuni di voi.
Sono un programmatore di hobby per Java. Ho sviluppato diversi giochi, un programma AI che crea musica, un altro programma per la pittura e cose simili. Questo per dirti che ho un'esperienza nella programmazione, ma non nello sviluppo professionale di applicazioni aziendali.
Vedo molti discorsi su questo sito sulle prestazioni. Le persone spesso discutono su quale sarebbe l'algoritmo più efficiente in C # per eseguire un'attività, o perché Python è lento e Java è più veloce, ecc.
Quello che sto cercando di capire è: perché è importante?
Ci sono aree specifiche dell'informatica in cui vedo perché le prestazioni contano: giochi, in cui decine di migliaia di calcoli avvengono ogni secondo in un ciclo di aggiornamento costante o sistemi a basso livello su cui fanno affidamento altri programmi, come sistemi operativi e macchine virtuali, ecc.
Ma per la normale e tipica app aziendale di alto livello, perché le prestazioni sono importanti?
Riesco a capire il motivo per cui importava, decenni fa. I computer erano molto più lenti e avevano molta meno memoria, quindi hai dovuto riflettere attentamente su queste cose.
Ma oggi abbiamo così tanta memoria da risparmiare e i computer sono così veloci: importa davvero se un particolare algoritmo Java è O (n ^ 2)? Farà davvero la differenza per gli utenti finali di questa tipica app aziendale?
Quando si preme un pulsante della GUI in una tipica app aziendale e dietro le quinte si richiama un algoritmo O (n ^ 2), in questi giorni dell'informatica moderna , si sente effettivamente l'inefficienza?
La mia domanda è divisa in due:
- In pratica, oggi le prestazioni contano in un normale programma aziendale normale?
- In tal caso, ti prego di darmi esempi reali di luoghi in tale applicazione, in cui le prestazioni e le ottimizzazioni sono importanti.