Estrictamente hablando, las tres bibliotecas tienen objetivos y aplicaciones muy diferentes.
El álgebra comenzó como una unificación de Spire y Algebird y ahora cubre el subconjunto central de las abstracciones de la teoría de categorías. Los gatos interactúan con Álgebra a través del módulo “cats-kernel” y proporcionan algunas cosas adicionales relacionadas con las categorías además de eso. ScalaZ es el más antiguo de estos tres proyectos. Ya que no se limita a las cosas de la teoría de categorías, también incluye algunas cosas más de propósito general como tareas, actores, validaciones, etc.
Ahora a la segunda pregunta, que no es tan simple como parece. Cuando estaba escribiendo Mastering Advanced Scala, decidí usar Cats como una biblioteca de teoría de categorías y ScalaZ como una biblioteca de propósito más general que ofrece algunas mejoras sobre la biblioteca estándar. Esto probablemente funcionará mejor para la mayoría de las personas, y muchas bibliotecas creadas inicialmente sobre ScalaZ (por ejemplo, http4s) ya comenzaron una transición hacia Cats. Sin embargo, si necesita usar el proyecto construido sobre ScalaZ ahora, elegir ScalaZ tiene sentido.
- ¿Realmente necesitamos aprender un segundo idioma en el futuro? Es demasiado lento.
- ¿Debemos aprender las líneas de comando (por ejemplo, Make, Bash o -o)?
- Cómo ganar dinero siguiendo mi pasión por aprender cosas nuevas.
- ¿En qué es una buena guitarra eléctrica para empezar a aprender?
- ¿Debo aprender muchos lenguajes de programación mientras hago mi B.Tech o concentrarme en uno solo?