Prima di tutto, tieni presente che l'autore della suddetta dichiarazione parla dello sviluppo del sito web. Quindi è preoccupato per lo sviluppo della presentazione , ed è lì che pensa che Scala non sarebbe una buona scelta ...
Detto questo, ho una buona esperienza con lo sviluppo web. Ho lavorato per almeno 8 anni esclusivamente con esso, di cui 5 in agenzie digitali.
E, sì, nella mia esperienza un linguaggio compilato staticamente e digitato a livello di presentazione può essere un grosso ostacolo. Il contenuto deve essere modificato costantemente, molto più spesso dei requisiti aziendali. E di solito questo deve essere fatto da un team distinto (gli sviluppatori "front-end"). Normalmente sanno molto su HTML, JavaScript, standard web, CSS, ma non molto sui linguaggi lato server come Java e C #. Suppongono inoltre che qualsiasi tipo di modifica in un modello sia immediatamente disponibile; non vengono utilizzati per compilare e digitare errori. E hanno ragione: i linguaggi tipizzati staticamente sono ottimi per requisiti difficili e complessi, come l'accesso ai dati e le regole aziendali, ma non altrettanto buono per lo sviluppo dell'interfaccia.
Questo è, in effetti, uno dei principali vantaggi dell'utilizzo di un linguaggio di template specializzato e interpretato come Velocity . La sua facilità d'uso, potenza e flessibilità sono adeguate per gli sviluppatori del livello di presentazione. E poi i ragazzi lato server sono liberi di usare un linguaggio serio, tipicamente statico, ovunque ...
Tuttavia, concordo anche sul fatto che Scala sia leggermente diversa. Essendo allo stesso tempo molto meno prolisso e molto più espressivo di Java, credo che potrebbe essere usato per lo sviluppo di presentazioni, quindi forse potrebbe essere usato con successo come linguaggio modello. E se anche potesse essere combinato con un framework come Play (che compila il sito web automaticamente dopo ogni modifica), potrebbe essere un IMHO vincitore. Tuttavia, anche Play ha optato per un linguaggio modello (dinamico) simile a Groovy, che non è un buon segno.
Per riassumere: il problema con Scala è molto più legato al fatto che è stato compilato. In effetti il suo meccanismo di inferenza del tipo ti fa quasi dimenticare che è anche tipizzato staticamente.
(E scusami per il mio inglese. Fammi sapere se qualcosa non è chiaro, proverò a sistemarlo.)
Button
quandoWebControl
contiene tutte le informazioni necessarie e tutti i controlli sono derivati da esso.