@ilyasz Я разделяю вашу признательность за Erlang / Elixir, а также, будучи давним разработчиком Java в прошлом, я могу полностью поддержать некоторые моменты, касающиеся общего состояния и изменчивости.

Однако есть одно явление, которое я никак не могу понять, — это язык программирования Go. Хотя Go и не является явно объектно-ориентированным, в некоторых аспектах это полная противоположность всему, о чем вы говорите. Он имеет изменяемое общее состояние, дырявые абстракции, программирование с побочными эффектами — это первоклассный гражданин, и это лишь некоторые из них. Все то, что заставило бы опытного программиста рвать на себе волосы от ужаса. Я знаю, потому что я ненавидел это.

И все же программирование на Go было отличным опытом из-за крайне упрощенной природы языка. Несмотря на то, что простейший кусок логики требует как минимум 10 строк кода (а может быть, из-за этого), код выглядит очень однообразно, вне зависимости от того, кто его написал. По моему личному опыту и на основе обсуждений с другими, большинство проектов Go относительно стабильны, и редко случается такое бедствие на уровне производства, которое может вывести компанию из бизнеса или потребовать полного переписывания.

Думаю, мне просто интересно, что бы вы сказали об этом.