Никита Прокопов (tonsky) wrote,
Никита Прокопов
tonsky

Category:

Дуэйн Scala Джонсон

Побывал на Scala-митапе сегодня. Все супер, все довольны, вроде бы. По высшему разряду, как я и ожидал: в Скале свои обертки над всем: BigInt, Future, всё свое-родное, доклад был про обертки над обертками, было коллективное 10-минутное тупление аудитории над типами «Подождите, а почему так? А, понял! А, нет. А! Нет, все-таки нет», чтобы достать параметр из HttpRequest надо создать и вызвать сервис, который вернет реализованный Future, всё в таком духе. Проект над 5 kloc компилируется 2 минуты (даже в аудитории не все поняли, выдавалось это за достоинство или за проблему).

Для меня это был необычный опыт. Я успешно валидировал свои сомнения по поводу «а не ошибаюсь ли я в выдающихся достоинствах Clojure»? Не ошибаюсь.

И это навело на размышления: откуда берется такая (относительно) бешеная популярность? Интуитивно кажется, что люди должны тянуться к простому (а Скала тут хуже Хаскеля), или легкому в изучении, или стройному и красивому. Окей, не красивому, ну хотя бы что-то должно цеплять. Центральная идея Скалы — боль, боль во всем — выглядит как-то странно, не могут же все на нее вестись?

У меня самого родилось две теории.

Первая — подсознательная тяга к прокрастинации. Можно днями напролет писать интерфейсы, потом писать код, склеивающий свои интерфейсы, потом адаптеры делать из чужих интерфейсов в свои, думать, какой тип поставить: +Req или -Req, сочинять flatMap для собственной реализации Future. Это активность, которую трудно зафейлить — по крайней мере, провал будет виден далеко не сразу, и вообще психологически легко от него дистанцироваться, найдя проблему в чем-нибудь другом.

Вторую проще всего показать на диаграмме:



Несмотря на все изящество и компактность Clojure, площадь соприкосновения с Java в абсолютном выражении сильно меньше. Концепции-то хорошие — да вот беда, привыкли мы к другим. Соответственно, хуже не сама Clojure, просто страшнее мигрировать. Надо дополнительные шестеренки в голове провернуть, поселить туда идею (я без сарказма сейчас говорю, это правда нетривиальное действие). А Scala или очень похожа на Java поначалу, или успешно притворяется таковой (да, у нас свои списки/числа/фьючеры, но они называются как в Java и вообще очень похожи. И классы у нас есть, конечно, очень похоже, приходите!).

Такие гипотезы. А у вас какие мысли?
Tags: девелопмент, загадка, культура, нужна ваша помощь, скандалы интриги расследования, формула успеха, ходил в народ, я что-то пропустил
Subscribe
  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 218 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →