Я все еще пытаюсь понять явные преимущества clojure.Я понимаю, что это динамический, [почти] чисто функциональный язык, который хорошо подходит для модульного тестирования, параллелизма и быстрого развития.
Я смотрел эту презентацию ее основателя Рича Хики.
На отметке 25-й минуты вы можете увидеть множество замечательных способов, с помощью которых clojure упрощает программирование благодаря возможности динамически определять списки и векторы:
( 123) [123]
возможность использовать их динамическиопределяемые векторы как функции
([ 123] 0)
способность вызывать функции для вновь определенных строк
(.ToUpperCase "foo")
, как выразился Рич, «синтаксис для литералов - это синтаксис для языка» ..прекрасный.
но разве невозможно реализовать этот стиль программирования в .net 4.0?(хотя и более болтливый)
(new[] {1,2,3})[0]
"foo".ToUpper()
и т. д. .net также может быть использован для функционального программирования (хотя это не обязательно)
это тривиальные примеры, но кажется, чтоэто основа clojure.Какие функции выделяют clojure и делают его лучшим выбором в некоторых сценариях?