Среди классических паттернов «Банды четырех» немало зависит от языка. Другие, такие как Visitor, действительно полезны только в объектно-ориентированной среде. Функциональный язык вместо * Visitor имеет fold
(катаморфизм), и любой, кто пытается использовать Visitor на функциональном языке, будет рассматриваться как опасный сумасшедший. Наконец, существуют шаблоны, которые можно применять на любом языке, например, Factory.
Одна из причин, по которой я не большой поклонник движения паттернов, практикуемого Гаммой и др., Заключается в том, что взгляду на паттерн не хватает интеллектуальной согласованности. «Что-нибудь полезное» - хорошее утверждение, но, как вы заметили, не дает большого руководства относительно того, какие шаблоны могут все же быть полезными при изменении языка или парадигмы.
Для иллюстрации рисков, присущих классифицирующим шаблонам, посмотрите одну из моих любимых коллекций: Образцы лучших практик Smalltalk * Кент Бека . Несмотря на работу «Smalltalk» в заголовке, многие программисты сочли эти шаблоны применимыми и к таким языкам, как Java и Python.