Что такое хороший язык программирования? Какими качествами и характеристиками он должен обладать? Ответ дать сложно. Вот одно из возможных определений: хороший ЯП должен хорошо решать возложенные на него задачи. Ведь ЯП лишь инструмент в руках программиста. А инструмент обязан помогать нам в работе. В конце концов, это же и есть причина его создания. Разные ЯП стараются решать разные проблемы (с переменным успехом). Цель, которая ставилась при проектировании Clojure — сделать написанные нами программы простыми. И, как следствие, ускорить их создание, тестирование. А главное, уменьшить время на их понимание, изменение и сопровождение.
Читать полностью »
Рубрика «персистентные структуры данных»
Почему стоит изучить Clojure?
2013-03-19 в 6:45, admin, рубрики: clojure, java, агенты, персистентные структуры данных, Программирование, транзакционная память, язык программирования, метки: clojure, агенты, персистентные структуры данных, транзакционная память, язык программированияПерсистентные деревья отрезков
2012-04-24 в 17:51, admin, рубрики: Алгоритмы, персистентные структуры данных, Программирование, структуры данных, метки: персистентные структуры данных, структуры данныхВведение
Структуры данных можно разделить на две группы: эфемерные (ephemeral) и персистентные (persistent).
Эфемерными называются структуры данных, хранящие только последнюю свою версию.
Персистентные структуры, то есть те, которые сохраняют все свои предыдущие версии, в свою очередь можно разделить еще на две подгруппы: если структура данных, позволяет изменять только последнюю версию, она называется частично персистентной (partially persistent), если же позволяется изменять любую версию, такая структура считается полностью персистентной (fully persistent).
Далее будет рассмотрено дерево отрезков и его полностью персистентная версия.
Весь код доступен на GitHub.
Читать полностью »