May 21, 2018

kx25

Случайно забежал на kx25 https://kx.com/kx25/ . Если отбросить 90% рекламной болтовни, то впечатления следующие: kx продолжает попытки расшириться, штат ~800 человек, причём, если вдруг у кого желание поучаствовать, то, вероятно, уровень входа не особо высокий, так как год назад, на прошлом kx-meetup, про kdb рассказывал человек из kx, по первому впечатлению, совсем студенческого уровня.

Из презентаций показалось, что kdb, в большинстве случаев, используется как некий продвинутый, конечно извиняюсь за такое сравнение, VBA и excel, что немного печально. В основном то, что показали, имеет наколенный или демонстрационный вид, фреймворки не упоминались вообще, вероятно те, у кого большая кодовая база kdb, пишут всю инфраструктуру с нуля, но, так как писать с нуля тяжело и долго, то в большинстве случаев kdb предпочитают использовать в связке с python.

Долго лавировал в толпе в галстуках, пытаясь опознать Arthur Whitney, но, в итоге, обнаружил его в более простой, если можно так сказать, форме, что приятно. Это не отменяет того, что он был постоянно окружён небольшой говорящей толпой, или же пытался убежать от неё, так что переговорить удалось всего парой слов.

Зато удалось интересно пообщаться с core частью kx - Pierre Kovalev и Oleg Finkelshteyn. Подтвердились мысли о том, что создание языка Q преследовало в основном коммерческие цели, и оказалось что я не один, кто считает K понятнее и проще чем Q. В Q 3.6 до сих пор используется K4, однако оказывается Артур уже делает K8 для себя, к сожалению, как и K5 два года назад, не думаю что её удастся посмотреть. Интересно, что K8 не только не пополнела, но и сокращается в объёме относительно K4.

Поспрашивал были ли попытки прикрутить подобие хоть какой-то статической типизации, так как, моё мнение, что как только количество кода или количество человек в команде переходит какой-то порог, то динамическая типизация kdb превращается в ад, что я и наблюдаю на работе, но похоже таких попыток не было, так как Pierre конечно щупал haskell, но о типизации в целом негативно отзывался. Так что, вероятно, если снова дойдут руку, я попытаюсь ещё раз накрыть это системой типов, чтобы хотя бы посмотреть что получится.

Из сопутствующего - было очень много Machine-Learning, но, понятно что через питон или биндинги, это отчасти доказывает, что kdb хорош как небольшая обвязка, но что-то больше писать на этом врядли легко, и не только из-за лицензии. Троль Peter Wang из anaconda.org, предал анафеме C++, однако, как обычно, что на замену не сказал, так как очевидно что не python, так как в докладе он был основной темой. Я спросил его про Rust и попросил в будущем поделиться впечатлением.