С высоты-2

Jul 08, 2019 17:25


В предыдущем посте я разочаровывался в Clojure, а точнее в тех задачах, которые хочу на ней решать. С языком-то все нормально, он ровно то, за что себя выдает. Просто до какого-то момента и для каких-то задач на это удобно закрывать глаза, ну а мне уже не удобно.

Ну и что я сделал. Я пошел учить Rust. Не, ну интересно же, как компьютеры сегодня ( Read more... )

Leave a comment

Comments 119

ext_2048378 July 8 2019, 17:09:17 UTC
Так, а JIT пройден или просто так программа запускается? Честно было бы завернуть оригинал в JMH.

Reply

tonsky July 8 2019, 17:11:02 UTC
Тут эээ... как бы такое дело... как тебе сказать... я вообще-то задачу пытаюсь решить, а не перформанс корректно померять. Если задача занимает скажем 20 секунд вместо одной то она занимает 20 секунд, хочешь-не хочешь, прогрет там жит или не прогрет. Но если программа работает 15 минут, я надеюсь что пройден!

Reply


ext_1111001 July 8 2019, 18:23:56 UTC
Слушай, а что ты насчет Haskell думаешь? Не подходит по каким-то причинам?

Reply

tonsky July 8 2019, 18:50:35 UTC
У Хаскелля странный какой-то фокус: получать удовольствие от борьбы с компилятором. Я больше по практике и результату

Reply

thedeemon July 8 2019, 22:51:48 UTC
По-моему, тут Раст его давно обошел, вот где БДСМ. Так что после Раста в Хаскеле приятная прогулка по парку просто.

Reply

inv2004 July 9 2019, 02:12:46 UTC
+1. Интересно как топик-стартер умудрился не бороться с растом. Берешь какую-то либу, ведь чтобы удобно писать - надо использовать либы. Вроде работает, но тут ты ударяешься головой в борров-чекер и делаешь .clone() - ой, не делается - автор либы забыл задеривить, форкаешь, правишь, вроде работает, но твоя структура разрастается, и вот уже чужая либа должна принимать понимать лайфтаймы, и ты два дня патчишь либу чтоб получить что-то работающее, а если всё это завёрнуто ещё в макросы, то это гораздо более долгая песня. Если вдруг справился - молодец, но скорее всего придётся повторить для чего-то другого типа "просто хочу список наоборот обработать ... ой, тут нет DoubleEndedIterator, ерунда, за 10 минут сделаю ... ok, а теперь с лайфтаймами ... ох", потом раз и оказывается, что внутренности библиотеки не очень-то дружат с мультитредом, что уже требует умения балансирововать под куполом этого цирка. Хотя поддерживаю автора, что если нужны какие-то гарантии скорости - Rust/C++, хотя, имхо, для 95% задач и явы бы хватило, в том числе и ( ... )

Reply


vit_r July 8 2019, 19:18:44 UTC
Там мы постепенно дойдём до параллельного Фортрана...

Reply


binf July 8 2019, 20:04:24 UTC
Почему не modern С++? У него лучше поддержка ide, больше либ, можно делать няшный GUI. В rust-е вообще нет GUI и не будет, на минуточку.

Reply

dimka_rs July 8 2019, 20:58:48 UTC
https://azul.rs/ чем не гуй?

Reply

inv2004 July 9 2019, 02:17:46 UTC
Такой хороший гуй, что недавно зависал, отжирал cpu и не имел даже скроллинга и нормального фокуса. Вроде бы даже курсор на тексте не умел.

Reply

binf July 9 2019, 08:28:27 UTC
а в чём с ним проблема? У меня заработало искаропки, что уже самом по себе круто. Смущает вот это вот - "IMGUI-oriented GUI framework" . Запахло очередной бессмысленной маргинальщиной

Reply


glorphindale July 9 2019, 03:34:07 UTC
Пару лет назад проходил туториал "/r/roguelikedev does the complete roguelike tutorial". Для Clojure туториала не было, поэтому шёл по питоновскому, изобретая велосипеды. REPL-driven development очень сильно помогал - в середине игры поменял алгоритм освещённости подземелья, отправил в процесс, всё обновилось, играешь дальше. Хотя когда оно ломалось (NullPointer или ещё что) иногда было непросто отладить и починить проблему.

Сейчас прохожу тот же туториал, но на Rust. На текущем этапе абсолютно верно "если скомпилировалось, то не упадёт", достаточно часто верно "если скомпилировалось, то работает как задумано". RDD не хватает - чтобы поменять символ протагониста надо перекомпилировать. Это хоть и быстро, но, в отличие от RDD, в середине игры не поэкспериментируешь, как будут выглядеть разные игровые ситуации ( ... )

Reply


Leave a comment

Up