Пал на него мой выбор при выборе инструмента для нового проекта.
Я, конечно, лишь пару недель как перешла от стадии «смотреть и править код» к стадии «чего-либо написать чуть больше, нежели приветмир», но некоторые выводы напрашиваются уже.
Во-первых, язык сырой. По сравнением с с/с++ например. Из коробки мы имеем встроенные методы для одного и того же типа данных, которые, в случае неудачи, возвращают что угодно от стандартного -1 до эксепшена, и это чтоугодно нифига не интерпретируется как фальшь для всех случаев . Нет блин стандартов.
Во-вторых, документация сырая. Хреново описаны принимаемые переменные нативных методов, и почти никак исключения.
В-третьих, синтаксис a=b=0 даёт две разные переменные, a=b=[] даёт две разные структуры, а a=b={} выделяет один кусок памяти под двумя названиями. Последнее, какбы, логично, но лишь при условии, что предпоследнее ведёт себя так же (или об этом хотя бы написано в документации).
В-четвёртых, пробелы адски задалбывают, хотя, с другой стороны, призывают к аккуратности (с которой у меня всегда проблемы)
В-пятых, от языка высокого уровня ожидалась более гибкая способность интерпретировать, и на ходу менять типы переменных (за такую способность я даже могла бы простить неотличимость их словарей от хеш-таблиц)
В остальном, вроде, норм. Ёжик продолжает колоться, но не слезает с кактуса.