¿Puedo aprender Scala sin leer ningún libro y trabajar en proyectos de producción directamente?

Seguir este camino probablemente lo llevará a escribir Java con sintaxis Scala. Escribirás for-loops y usarás colecciones de Java y valores nulos y mutables. Y te perderás totalmente el punto / beneficio / alegría de Scala.

Si no quiere leer, y tener tiempo, tome el curso Odersky: Principios de programación funcional en Scala – École Polytechnique Fédérale de Lausanne | Coursera

Si está dispuesto a leer, y aún tiene tiempo, le sugiero la Programación Funcional en Scala (el sitio de Manning está en mantenimiento mientras escribo esto, pero vuelva a consultarlo más tarde o búsquelo en Amazon: el libro es rojo, no se lo puede perder eso).

Si no está dispuesto a hacerlo, o no tiene mucho tiempo, entonces Scala School es un buen lugar para comenzar.

Nota al margen : cuando use Scala, también necesitará aprender sbt casi de inmediato. Asegúrate de dejar algo de tiempo para esto porque, unas pocas horas de lectura por adelantado te ahorrarán muchas veces más tarde.

Si. No tienes que leer libros para aprender un nuevo idioma. De hecho, si sabes codificar, es bastante fácil aprender un nuevo idioma. Esto es lo que suelo hacer cuando decido aprender un nuevo idioma:

  1. Aprenda la sintaxis básica de un sitio web
  2. Lee los documentos.
  3. Escribo un programa de muestra donde practico todas las cosas diferentes relacionadas con la sintaxis del lenguaje. Cómo funciona un bucle, cómo definir una variable, cómo crear una clase, etc.
  4. Asume un proyecto real y hazlo.

Tal vez, si ya conoces Haskell (o algún otro lenguaje FP).

Absolutamente no en todos los demás casos. Si solo está familiarizado con la programación procesal / orientada a objetos, aprender Scala será una experiencia similar a aprender su primer lenguaje de programación (y probablemente necesitó alguna orientación para aprenderlo, ¿verdad?); tal vez incluso un poco más difícil, porque hay un montón de cosas que necesitarás aprender primero.

Aunque he escuchado que algunos proyectos usan Scala como un Java mejor; quizás puedas sobrevivir en ellas. Así que tal vez échale un vistazo, y si te confundes irremediablemente, recuerda esta respuesta, despeja tu mente e intenta aprender FP.