Литералы для работы с массивами и мапками (хешами)

Портировал давеча кусок кода с питона на джаву. Давненько я такого баттхёрта не испытывал. Работа с неструктурированными данными в языках со статической типизацией и так не очень, а в джаве так вообще полная жопа.

На каждый чих извольте делать Map, доставать оттуда другие мапы, кастить одно к другому и так далее. В итоге 50 строк питоньего кода превартились в в 400 джавового.

При этом от статической типизации толку никакого—так как мне прилетают не очень структурированные данные извне, то все равно приходится конвертить всё в строки.

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

Вот уж правду говорит Рыжиков в своих докладах про Clojure, что все вокруг это мапки, и Clojure этими мапками умеет вращать с потрясающей элегантностью.

Говорят что в новых версиях завезут какие-то литералы. Мне это не поможет, потому что пока живет Spark 2, я буду работать с 8-ой джавой, а это друзья мои годы и годы впереди. Но невозможность написать {key: value} бесит так что аж трисёт, необходимость постоянно конвертировать листы в арраи и прочее говно. Гуаву не предлагать, спасибо.


Понравился материал? Подписывайся на мой телеграм канал: https://t.me/full_of_hatred