Size: a a a

Clojure — русскоговорящее сообщество

2021 April 04

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Dmitry Ivanov
Есть ли в стандартной библиотеке Кложи каноническая реализация двоичной кучи или только в сторонних библиотеках?
Нет, такого нет даже в стд джавы
источник

DI

Dmitry Ivanov in Clojure — русскоговорящее сообщество
Kirill Chernyshov
Нет, такого нет даже в стд джавы
А чем PriorityQueue отличается от кучи?
Изъятие верхнего элемента - O(1), пихание элемента - O(log n), так ведь? Кучу ещё можно из массива за линейное время построить, а как с PQ?
Прошу прощения за нубский вопрос, конечно.
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Dmitry Ivanov
А чем PriorityQueue отличается от кучи?
Изъятие верхнего элемента - O(1), пихание элемента - O(log n), так ведь? Кучу ещё можно из массива за линейное время построить, а как с PQ?
Прошу прощения за нубский вопрос, конечно.
Только тем что это более дженерик структура. Бинарная куча это один из эдж кейсов
источник

DI

Dmitry Ivanov in Clojure — русскоговорящее сообщество
Kirill Chernyshov
Только тем что это более дженерик структура. Бинарная куча это один из эдж кейсов
Спасибо, буду пользоваться PQ в таком случае
источник
2021 April 05

V

Vadim in Clojure — русскоговорящее сообщество
Здравствуйте граждане кложуристы! Пишет фронтендер, не имевший доселе опыта с функциональными языками. У меня сейчас появилось время на то чтоб проиграться с новой для себя технологией/языком для того чтоб освоившись иметь возможность затянуть это в продакшн. Я с интересом смотрю на функциональные языки, и мне нравится их лаконичность и читаемость. Но на фронте выбор из них довольно невелик. На данный момент выбираю между ReasonMl (Rescript) и Clojurescript.
Скажите, какие могут быть доводы в пользу clojurescript по сравнению со статически типизированным ReasonMl?
источник

V

Vadim in Clojure — русскоговорящее сообщество
Оба эти языка представляют иммутабельные структуры, и развитый инструментарий по работе с ними. В чем тут может быть преимущество языка без статический типизации?
источник

V

Vadim in Clojure — русскоговорящее сообщество
Пока я оба языка знаю лишь по обзорным лекциям на Ютубе )
источник

Г

Григорий in Clojure — русскоговорящее сообщество
Это нужно спросить людей, которые более-менее знакомы с обоими технологями. пожалуй.
источник

Г

Григорий in Clojure — русскоговорящее сообщество
Я немного на Elm'е ковырялся. По сравнению с ним мне cljs больше нравится.
источник

V

Vadim in Clojure — русскоговорящее сообщество
Пока я слышал из доводов что clojure имеет развитый REPL. Но не знаю насколько отсутствие такового является проблемой для языка со строгой статической типизацией. Ведь repl как я понимаю используется именно на этапе разработки.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Vadim
Оба эти языка представляют иммутабельные структуры, и развитый инструментарий по работе с ними. В чем тут может быть преимущество языка без статический типизации?
Ну как раз в отсутствии статической типизации и преимущество - проще писать
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
Vadim
Пока я слышал из доводов что clojure имеет развитый REPL. Но не знаю насколько отсутствие такового является проблемой для языка со строгой статической типизацией. Ведь repl как я понимаю используется именно на этапе разработки.
REPL никак с типизацией не связан. У хаскеля например он есть
источник

Г

Григорий in Clojure — русскоговорящее сообщество
Хм. Ну это сложно сказать безусловное преимущество. Проблемы начинаются когда начинаешь использовать Haaskell как JSONомешалку
источник

Г

Григорий in Clojure — русскоговорящее сообщество
Ну, лично у меня начались.
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
У меня ощущение что кложаскрипт лучше развит для фронтэнда
источник

AC

Anton Chikin in Clojure — русскоговорящее сообщество
И писать на нем проще
источник

Г

Григорий in Clojure — русскоговорящее сообщество
У меня тоже. (я не пользовался ризоном)
источник

V

Vadim in Clojure — русскоговорящее сообщество
Anton Chikin
Ну как раз в отсутствии статической типизации и преимущество - проще писать
Понятно что без типизации на начальных этапах писать проще и быстрее. Но типизация нужна обычно для облегчения работы с большой кодовой базой. Как в clojure решается вопрос с удобством работы с большой кодовой базой? За счёт тестов? Полного покрытия спеками?
источник

Г

Григорий in Clojure — русскоговорящее сообщество
Vadim
Понятно что без типизации на начальных этапах писать проще и быстрее. Но типизация нужна обычно для облегчения работы с большой кодовой базой. Как в clojure решается вопрос с удобством работы с большой кодовой базой? За счёт тестов? Полного покрытия спеками?
Да я бы не сказал, что отсутствие строгой типизации "так страшно, как ее молюют". Очень удобный синтакс. Вы можете так-то по-прежнему свои типы, интерфейсы, протоколы (deftype, definterface, defprotocol) писать, и это сильно упорядочивает код. Можно :pre или :post валидациями охватывать проект.
источник

Г

Григорий in Clojure — русскоговорящее сообщество
Вы так-то можете добавить поверх проекта строгую типизацию спекой, да, пре-пост проверками, Есть еще либы вроде https://github.com/plumatic/schema
источник