Soy un gran admirador de Scala desde el punto de vista estético, y de gran parte del trabajo conceptual puesto en cosas como su sistema de tipeo y bibliotecas.¿Ser un programador de scala competente requiere que seas un programador competente de Java?
Sin embargo, como he empezado a jugar con Scala (y he visto a algunos de mis compañeros de trabajo juguetear con él) me encuentro teniendo que buscar más y más conocimiento de Java (especialmente en el camino de las bibliotecas).
Esto me presenta algunos problemas:
- Como nunca ha habido un programador de Java, no estoy familiarizado o cómodo con la biblioteca estándar de Java, o bibliotecas populares adicionales (como Apache Commons).
- Mi google-fu en Java-sphere es débil. Es difícil saber qué buscar, un problema que se ve exacerbado por la gran cantidad de tutoriales java irrelevantes o rudimentarios para programar a los novatos.
En este momento, no estoy seguro de si debo ir al grano y tratar de encontrar la ruta más rápida y completa a través de Java para ponerme al día con los 20 años de desarrollos Java, o si es razonable Continúo tratando de parchear gradualmente mi conocimiento mientras deambulo por Scala.
Cualquier sabiduría que scala heads entre nosotros podría ofrecer sería muy apreciada.
P.S. No tengo dudas sobre mi capacidad para familiarizarme con la sintaxis de Scala, y me siento perfectamente cómodo y satisfecho con la programación funcional y los paradigmas en la comunidad scala. Pero la competencia de un programador no se basa únicamente en la capacidad de uno mismo para aprender, sino también en la capacidad de aprender y adoptar herramientas y habilidades de otras personas.
* No *, me imagino que se podría aprender/usar/escribir Scala sin tocar Java en absoluto, pero ... hay cosas que puedo pensar por qué sería bueno "saber" Java: 1) Cómo crear objetos "utilizables" desde Java (si es necesario) 2) Aprovechar la API de Java sin una interfaz o reemplazo específico de Scala (pero un javadoc lo ayudará a superar esto) 3) Detalles más precisos de la semántica de bloqueo de JVM 4) Aunque cada vez es menos, cómo trabajar con las herramientas del "Ecosistema Java" como Ant/Maven/etc. - entonces ** solo hazlo ya **: p http://scala-lang.org enumera una cantidad de publicaciones. –
Seguro que ayuda. –
La primera vez que leí una publicación en SO con grandes palabras en inglés. :) –