Probabilmente la mia risposta non si espanderà troppo sulle risposte esistenti, ma ritengo che i miei due centesimi potrebbero essere utili.
Prima di tutto; sì, per la modularità, di solito si rinuncia a un certo livello di tempo di esecuzione. Scrivere tutto nel codice assembly ti darà la migliore velocità. Detto questo ...
Conosci YouTube? Probabilmente il sito con la maggiore larghezza di banda esistente o secondo su Netflix? Scrivono una grande porzione del loro codice in Python, che è un linguaggio altamente modulare non abbastanza costruito per prestazioni di alto livello.
Il fatto è che quando qualcosa va storto e gli utenti si lamentano del caricamento lento dei video, non ci sono molti scenari in cui tale lentezza verrà in definitiva attribuita alla lenta velocità di esecuzione di Python. Tuttavia, la rapida ricompilazione di Python e la sua capacità modulare di provare cose nuove senza il controllo dei tipi probabilmente permetteranno agli ingegneri di eseguire il debug di ciò che sta andando male abbastanza rapidamente ("Wow." Il nostro nuovo stagista ha scritto un ciclo che fa una nuova sotto-query SQL per OGNI risultato. ") o (" Oh, Firefox ha deprecato quel vecchio formato di intestazione della cache e hanno creato una libreria Python per configurare facilmente quella nuova ")
In questo senso, anche in termini di tempo di esecuzione, un linguaggio modulare può essere pensato come più veloce perché una volta individuati i colli di bottiglia, sarà probabilmente più facile riorganizzare il codice per farlo funzionare nel modo migliore. Così tanti ingegneri ti diranno che i colpi massacranti non erano dove pensavano di essere (e in effetti le cose che OTTIMIZZANO erano davvero necessarie, o non funzionavano nemmeno nel modo in cui si aspettavano!)