А так же языках: Smalltalk, Prolog, Erlang, Haskell и, возможно Go, Rust и Scala.
Некоторое время назад я увидел на одном известном форуме тему «Почему не выстрелил Smalltalk». Заинтересовавшись (а я мельком изучал его когда искал «язык под себя» в вышеперечисленном списке, но бросил когда увидел, что идея посылки сообщений там фактически не используется), вступил в дискуссию апеллируя к тому что автор языка фактически не использует важнейшую, на мой взгляд, особенность языка – посылку сообщений. Собеседники парировали тем что там имеются такие важные особенности как метаклассы и рефлексия. В общем-то ответить на это было нечем, я бросил изучение языка еще до полного понимания системы классов.
Поразмышляв, я сел разбираться в системе классов Smalltalk’a. Поначалу мне показалось это невообразимым ужасом: экземпляр, объект, класс объекта, метакласс объекта, класс метаклассов. Подумав о могучей фантазии автора языка, я все же немного стал понимать, что к чему, а далее наткнулся на такой текст:
Читать полностью »