La programmazione funzionale, che sta diventando sempre più mainstream ogni giorno, in particolare Erlang e i linguaggi basati su JVM, è saldamente basata sulla "programmazione nel piccolo". Per essere gestibili le funzioni devono essere piccole, come dozzine di linee o giù di lì. I programmi in generale tendono ad essere piccoli a causa della sintassi concisa e delle librerie standard incorporate.
Le lingue sono una cosa più difficile su cui mettere una metrica. Python ha così tanto integrato e può fare tante cose in una o due righe a causa della libreria standard "batterie incluse" la maggior parte dei programmi può essere piccola. Si possono avere molte funzionalità in 100 linee di Python se si conoscono i moduli di libreria standard e le funzionalità avanzate della lingua. Lo stesso vale per Groovy, Lua e Ruby e qualsiasi altro linguaggio scritto in modo dinamico.
Tolleranza! = leggibile o mantenibile. Un sacco di cose che possono essere considerate "concise" come lambda, list comprehensions e altre caratteristiche "magiche", sono proprio questo per gli sviluppatori di livello junior. Chi potrebbe essere quello che deve mantenere il tuo "piccolo" programma dopo di te.
Detto questo, l'uso di linee di codice come metrica per qualsiasi cosa di solito è, nel migliore dei casi, una perdita di tempo e, nel peggiore dei casi, è solo sbagliato.
Gli oggetti non sono richiesti per progetti su larga scala, Erlang alimenta switch telefonici con Nove Nove up time , (99.9999999% ) che è 31 ms, sì millisecondi, di tempi di inattività all'anno, che consistono in milioni di righe di codice.