Martin Odersky apre la sua presentazione attuale su Scala (allo ScalaDays di New York e ripreso sulla costa occidentale) con una lezione di storia.
Che cosa ha motivato la popolarità della programmazione orientata agli oggetti? "Sono un vecchio ragazzo e lo ricordo."
Suggerisce che Scala occupa un momento storico nella transizione da un paradigma orientato all'oggetto a un paradigma funzionale, o come preferirebbe, una confluenza di questi paradigmi nello stile ibrido di Scala.
Il suo tema è che c'è più di un modo per farlo in Scala, e che questa è una buona cosa perché le scelte che fai, nella programmazione quotidiana, sono informate dalla pratica storica. Ad esempio, se usi i combinatori o un ciclo while; se estendi una funzionalità sottotitolo o pattern matching per gestire casi aggiuntivi; o qualcosa di semplice come se si esprima un'operazione con un simbolo (/: con il mnemonico di un domino che cade) o un nome (foldLeft).
(Una delle sue battute è che /: sembrava così bello ma è oscuro nella pratica, mentre ??? significare "non implementato" ha chiarezza immediata per chiunque guardi il codice.)
La storia non ti dice che esiste un modo giusto per affrontare un problema, ma che ce ne sono due o tre o nove. Odersky dice - riecheggiando il famoso editto di Knuth sull'ottimizzazione prematura - che non ti devi preoccupare di farlo bene la prima volta, che in effetti uno dei vantaggi di uno stile ibrido è che puoi provare il piacere di migliorare un'espressione , ottimizzando le prestazioni o la chiarezza o cosa hai, non una volta, ma più volte. Questo è ciò che rende divertente la programmazione!
Per Scala, la tensione tra stili funzionali e imperativi o orientati agli oggetti non è una battaglia da vincere, ma un Auseinandersetzung, che non è la parola di Odersky, ma di Heidegger per l'intimo rapporto di amore-odio tra due forze storiche esistenti in una stretta abitazione .
Daniel Spiewak sul problema dell'espressione:
link
I talk di ScalaDays saranno presto pubblicati su parleys.com.
link