En primer lugar, tenga en cuenta que el autor de la declaración anterior está hablando sobre el desarrollo de sitios web. Así que está preocupado por el desarrollo de la presentación , y ahí es donde cree que Scala no sería una buena opción ...
Dicho esto, tengo una buena experiencia con el desarrollo web. He trabajado durante al menos 8 años exclusivamente con él, 5 de ellos en agencias digitales.
Y, sí, en mi experiencia, un lenguaje compilado de tipo estático en la capa de presentación puede ser un gran obstáculo. El contenido debe cambiarse constantemente, con mucha más frecuencia que los requisitos comerciales. Y, por lo general, esto debe hacerlo un equipo distinto (los desarrolladores "front-end"). Normalmente saben mucho sobre HTML, JavaScript, estándares web, CSS, pero no mucho sobre lenguajes del lado del servidor como Java y C #. También asumen que cualquier tipo de cambio en una plantilla está disponible de inmediato ; no están acostumbrados a compilar y escribir errores. Y tienen razón: los lenguajes estáticamente tipados son muy buenos para requisitos difíciles y complejos, como el acceso a datos y las reglas comerciales, pero no tan buenos para el desarrollo de interfaces.
Ese es, de hecho, uno de los principales beneficios de usar un lenguaje de plantilla especializado e interpretado como Velocity . Su facilidad de uso, potencia y flexibilidad son adecuadas para los desarrolladores de la capa de presentación. Y luego, los chicos del lado del servidor son libres de usar un lenguaje serio y estático escrito en cualquier otro lugar ...
Sin embargo, también estoy de acuerdo en que Scala es algo diferente. Al ser al mismo tiempo mucho menos detallado y mucho más expresivo que Java, creo que podría usarse para el desarrollo de presentaciones, por lo que tal vez podría usarse con éxito como un lenguaje de plantilla. Y si también pudiera combinarse con un marco como Play (que compila el sitio web automáticamente después de cada cambio), podría ser un ganador en mi humilde opinión. Aún así, incluso Play ha optado por un lenguaje de plantilla tipo Groovy (dinámico), que no es una buena señal.
En resumen: el problema con Scala está mucho más relacionado con el hecho de que está compilado. De hecho, su mecanismo de inferencia de tipo casi te hace olvidar que también está tipado estáticamente.
(Y perdón por mi inglés. Avíseme si algo no está claro, intentaré arreglarlo).
Button
cuandoWebControl
contiene toda la información que necesita y todos los controles se derivan de ella.