Недавно купил себе очередную MEAP книжечку Data-oriented programming. Там пока ещё не очень много глав, но первая про принципы и третья про Generic Data Structures оставили очень хорошее впечатление. С приблизительным содержанием первой главы можно ознакомиться в блоге автора
DОР, как концепция, мне очень близка. Я придерживаюсь почти всех описаных в книге принципов: разделение кода и данных, иммутабельность by default. Но с одним из них никак не могу подружиться: использование обобщенных Мар вместо record-ов с именованными полями. Мне кажется, что свыкнуться с этим можно только в интерпретируемых яп, где есть быстрый фидбек о том, правильно ли ты написал путь к данным и не словишь ли ты NPE. А ожидание пока весь мир перекомпилируется и пройдут тесты настолько выкидывает из потока, что хочется плакать.
Всё мечтаю о каком-то аскетичном ЯП или DSL, который соединит лучшее из двух миров: сможет инферить с подсказками некий формат используемых тобой данных и проверять, сходятся ли ключи в твоих рекордах и сразу кастовать значения к нужным типам. Если вдруг знаете нечто подобное, обязательно скажите мне.
В самой книге автор тизерит примеры безопасной работы с обобщенными структурами данных, но учитывая, что книжка на JS, а автор кложурист, решением для компилируемых яп типа Java там и не пахнет. В целом , впечатление от книги положительное , советую к прочтению.