https://kotlinlang.org logo
Title
a

aleksey.tomin

04/08/2018, 7:59 AM
@abreslav Про pattern matching - обсудил со знакомым, работающим на scala. Да, он стал фанатом pattern matching (когда перешёл с java на scala). Говорит, что всё стало намного проще и понятнее. Потом поговорил с java-программистом. Тот при обработке деревьев сначала пишет псевдоко на p.m. а потом переводит его в java. Так что его любят те, кто распробовал. Что говорит скорее в его пользу. Но делать очень сложно, да. Вот если бы сделать это библиотекой, или “почти библиотекой” (как корутины)...
o

orangy

04/08/2018, 9:14 AM
Тут важный момент – что именно пишет знакомый. Мы проводили небольшое исследование, и выяснили, что PM в основном используется при обработке AST, и крайне мало в других местах (если вы пишете не на erlang, конечно)
a

aleksey.tomin

04/08/2018, 9:24 AM
На скале- что-то там про блокчейны и прочий машинлёрнинг. Не в банке 🙂 Другой- предсказание событий и интеграция с логами и геодеревьями безумными. В понедельник попрошу показать примеры.
e

elizarov

04/08/2018, 10:53 AM
Еще один anecdotal piece of evidence. На JPoint подошла пара ребят с вопросом про PM. Я спросил: — а в каком коде он вам помогает? — Ну когда “глубоко надо матчить“. — А где надо глубоко матчить? — Ну вот если у нас есть `
Future<Optional<Data>>
...
🤣 6
g

gildor

04/09/2018, 2:19 AM
А у Java с его пропозал на PM есть хорошие аргументы, не покрываемые в данный момент Котлиновским when? Я смотрел презентацию Брайна Гетца про PM и там 90% примеров на вскидку уже без проблем работают в Kotlin благодаря смарт касту
a

aleksey.tomin

04/10/2018, 10:52 AM
После обсуждения- да, PM в scala- сводится к kotlin’вкому when + деструктор. Вроде как никто ничего свыше не нашёл. Так что можно считать это сахаром- а излишний сахар вреден не только людям 🙂
С точки зрения функциональщины народу больше не хватает полноценной хвостовой рекурсии (при рекурсии через несколько методов), но это VMная проблема.