СИ
— Это забавный язык. У него есть ряд очень удачных применений, интересно реализована отказоустойчивость. Но авторы утверждают, что это функциональный язык, однако такие языки не должны иметь состояний, в том-то и идея. А у Erlang есть огромное скрытое состояние сообщений, которые отправлены, но ещё не получены. Поэтому каждый небольшой процесс полностью функциональный, а программа целиком абсолютно не функциональная.
Этот бардак со скрытыми данными гораздо хуже глобальных переменных, потому что в последнем случае вы бы их вывели на экран. Сообщения, которые являются реальным состоянием вашей системы. Каково её состояние в каждый момент времени? Все эти сообщения, отправленные в разные места. Это полностью противоречит парадигме функционального языка.