Вопросы с тегом «clojure»

Clojure - это язык общего назначения, поддерживающий интерактивную разработку, который поощряет стиль функционального программирования и упрощает многопоточное программирование.

4
Что имел в виду Рич Хики, когда сказал: «Вся эта специфика [интерфейсов / классов / типов] убивает ваше повторное использование!»
В 29 -минутном выступлении Рич Хики, посвященном размышлениям на конференции Goto « Значение ценностей », он рассказывает о накладных расходах такого языка, как Java, и делает следующее заявление: «Все эти интерфейсы убивают ваше повторное использование». Что он имеет в виду? Это правда? В поисках ответов я наткнулся на: Принцип Наименьшего …

3
Что такого замечательного в Clojure? [закрыто]
В последнее время я взглянул на Clojure и наткнулся на этот пост о Stackoverflow, в котором рассказывается о некоторых проектах, которые следуют лучшим рекомендациям, и в целом о хорошем коде Clojure. Я хотел разобраться с языком после прочтения некоторых основных уроков, поэтому я взглянул на некоторые "реальные" проекты. Посмотрев на …
40 clojure 

6
Почему плохая связь между функциями и данными плоха?
Я нашел эту цитату в « Радости Clojure » на с. 32, но кто-то сказал мне то же самое за ужином на прошлой неделе, и я слышал это и в других местах: Недостатком объектно-ориентированного программирования является тесная связь между функцией и данными. Я понимаю, почему ненужное соединение плохо в приложении. …

7
C # Dev - я пробовал Лиспс, но не получаю [закрыто]
После нескольких месяцев изучения и игры с Lisp, как с CL, так и с немного Clojure, я все еще не вижу веской причины что-либо писать в нем вместо C #. Мне бы очень хотелось, чтобы были веские причины, или чтобы кто-то указывал, что мне не хватает чего-то действительно большого . …
37 clojure  lisp 

7
Каковы функциональные эквиваленты операторов обязательного разрыва и других проверок цикла?
Допустим, у меня есть логика ниже. Как написать это в функциональном программировании? public int doSomeCalc(int[] array) { int answer = 0; if(array!=null) { for(int e: array) { answer += e; if(answer == 10) break; if(answer == 150) answer += 100; } } return answer; } Примеры в большинстве блогов, статей …

4
Какие ограничения накладывает JVM на оптимизацию хвостового вызова
Clojure не выполняет оптимизацию хвостового вызова самостоятельно: если у вас есть хвостовая рекурсивная функция и вы хотите оптимизировать ее, вы должны использовать специальную форму recur. Точно так же, если у вас есть две взаимно рекурсивные функции, вы можете оптимизировать их только с помощью trampoline. Компилятор Scala может выполнять TCO для …
36 scala  clojure  jvm  tail-call 

13
Проблемы (такие как обслуживание) в разработке с непопулярным языком
Я разрабатываю какое-то приложение с использованием clojure (lisp) в моей команде. Это начинается как небольшое приложение. Нет проблем. Но поскольку у него есть особенности и расширение области, это становится важной программой. Я беспокоюсь о техническом обслуживании или что-то. Никто в моей команде не знает clojure или lisp и не интересуется …

3
На пути к Просвещению: Схема, Общий Лисп, Clojure? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 8 лет назад . Многие люди умнее меня продолжают писать, когда вы изучаете Lisp, это делает вас лучшим программистом, потому что …

5
Почему сообщество Lisp предпочитает накапливать все скобки в конце функции?
Почему сообщество Lisp предпочитает накапливать все скобки в конце функции: (defn defer-expensive [cheap expensive] (if-let [good-enough (force cheap)] good-enough (force expensive))) Почему бы не использовать соглашение, такое как C или Java? Ладно, Лисп намного старше этих языков, но я говорю о современных Лисперах. (defn defer-expensive [cheap expensive] (if-let [good-enough (force …

1
Реально ли доставить настольное приложение Clojure?
В настоящее время я поставляю настольное Java-приложение. Это простое старое приложение Java 5 Java / Swing, и до сих пор все работало хорошо. Java 5 была нацелена, потому что некоторые пользователи были на версии / компьютерах OS X, которые никогда не будут иметь Java 6 (мы можем скоро снять это …


3
Почему некоторым функциональным языкам нужна программная транзакционная память?
Функциональные языки по определению не должны поддерживать переменные состояния. Почему же тогда Haskell, Clojure и другие предоставляют реализации программной транзакционной памяти (STM)? Есть ли конфликт между двумя подходами?

3
Есть ли у Clojure продолжения / сопрограммы / и т. Д.?
Я начал программировать на Python, и меня действительно смутили такие понятия, как сопрограммы и замыкания. Теперь я думаю, что знаю их на каком-то поверхностном уровне, но я никогда не чувствовал этот момент «просветления», поэтому я решил изучать Clojure. Я купил книгу Стюарта Хэллоуэя, и она хороша, но когда я посмотрел …

6
Лучшие практики в написании комментариев и документации
Комментировать сейчас проще, чем когда-либо. В Java есть несколько хороших методов для привязки комментариев к классам, и Java IDE хороши для создания оболочек комментариев для вас. Такие языки, как Clojure, даже позволяют вам добавить описание функции в сам код функции в качестве аргумента. Однако мы все еще живем в эпоху, …

4
«Используйте карту вместо класса для представления данных» - Рич Хикки
В этом видео Рич Хикки , создатель Clojure, он советует использовать карту для представления данных вместо использования класса для их представления, как это сделано в Java. Я не понимаю, как это может быть лучше, так как как пользователь API может узнать, что такое ключи ввода, если они просто представлены в …
19 java  design  class  clojure  map 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.