Software Engineer
  • Куда дальше в Java?

    что за единственная контора?

    похоже на twitter

  • Куда дальше в Java?

    Я б не назвал Future глючной и недальновидной поделкой,

    «взрослые мужики»

    ей не пользуются от того, что ее нельзя использовать в pure вычислениях (из за eager семантики), но в целом она гораздо лучше того, что есть в java.

    scalaz-streaming (он же fs2)

    Это немного из другой оперы, fs2 стоит сравнивать с monix-reactive, akka-streams, etc... Более «чистые» альтернативы future это monix.eval.Task, monix.eval.Coeval, scalaz.concurrent.Task, cats.effect.IO.

  • Куда дальше в Java?

    Скала это не только «синтаксис получше», это как раз возможность изучить новые концепции, узнать что такое и как используются: алгебраические типы данных, типы высших порядков, структурная типизация, экзистенциальные типы, generic programming, тайпклассы, параметрический полиморфизм, recursion schemes.
    В целом скала сообщество можно разделить на 3 категории:
    — те, кто использует scala as better java
    — сторонники прагматичного подхода, которые стараются писать используя техники FP, но и могут использовать мутабельность, побочные эффекты где это уместно; такой подход пропагандирует Мартин Одерски, так написана к примеру Akka
    — сторонники чистого haskell-like кода, когда програма должна быть полностью referential transparent без мутабельного состояния и побочных эффектов.

    Используя 3й подход можно узнать на практике что такое моноид, монада, аппликативный функтор, монадные трансформеры, линзы, etc...
    В целом здорово расширяет кругозор.

    Я не могу понять, в какой области она лучше, «каково ее предназначение».

    На мой взгляд писать асинхронные приложения, stateful приложения гораздо удобней на скала.

    Поддержали: Dmytro Sirenko, minodvesP Vasya