alf
Full disclosure: я не люблю memory management вручную. Меня вообще трясёт каждый раз, когда мне надо сесть и закодировать очередной generic кусок, не имеющий отношения к тому что я собственно пишу. И ещё больше меня трясёт, когда вместо того чтобы заниматься делом я сижу и вылавливаю баг в generic библиотеке — потому что обычно это означает что нет никакого бага, а я страдаю фигнёй.
Это к слову о https://mokum.place/kmbnrn/267378 — и, да, мне кажется что исходный пост —это словоблудство и старперство. ‎- alf
Ну то есть несомненно есть счастье в том чтобы смотреть на регистры процессора, или там на рабочий стек — но всё это имеет такое же отношение к программированию, как нумизматика к торговле опционами. ‎- alf
А как относитесь к подходу Rust? Там не ручное, но, вроде, уже и не garbage collector ‎- A ton of legitimate methods
Никак, не знаком. "While Rust does not have a specification, the reference tries to describe its working in detail. It tends to be out of date." — ок, хорошее начало. https://doc.rust-lang.org/reference.html#memory-model ничего не говорит про memory management. Smart pointers со счётчиком ссылок? А память уплотняется магически? ‎- alf
Или они копируют при возвращении указателя из функции, чтобы в каждом scope была своя непрерывная рабочая память? Но тогда программист должен всё это понимать и держать в голове... ‎- alf
Насколько помню (я не настоящий сварщик), там нельзя просто так взять и вернуть указатель, всё упирается в лайфтаймы и borrowing checkers. ‎- A ton of legitimate methods
Ну вот я долго искал, но так и не нашёл. Надо вкуривать, а для этого нужен контекст :) Я лучше пока со своими единорогами и бабочками разберусь. ‎- alf
Ну упрощённо оно было в Rust book (на трёх html-страницах), https://doc.rust-lang.org/book/ownership.html ‎- A ton of legitimate methods
Если цель не думать об управлении памятью, то надо на гц языках писать (да и там понимание нужно). В расте надо думать, только немного по-другому (в очередной раз дам ссылку на александреску, где его мнение про раст мне кажется весьма точным и совпадающим с моим опытом — https://www.quora.com/Which-language-has-the-brightest-future... ) ‎- адский хардлайн в засаде
^ rust это любовь. в тех местах где невозможно использовать языки с gc, мне кажется будущее принадлежит Rust (или след. поколению языка, созданного по тем же принципам). Когда Александреску пишет про преимущества Rust, он упускает множество вещей: скорость компиляции в Rust например не меньше чем у D, FFI тоже очень хорош. про Generic programming — я не уверен что он всосал насколько Rust другой язык, IMHO он ближе к Хаскеллу чем к C++ ‎- big data in petite analysts
мы только начали с ним экспериментировать, но уже видно насколько он уменьшает боль по сравнению с C/C++. почти все кто начал писать на Rust и остался с ним на пару месяцев как минимум говорят одно и то же: "Теперь мне страшно писать на C/C++" ‎- big data in petite analysts
у меня тоже любовь, но это немножко на такое похоже — http://www.girlschase.com/images/bdsm.jpg. В одном месте уменьшает, а в другом боли прибавляет, на мой взгляд, но да, думается поспокойнее. Про страх писать — хорошее чувство, побольше бы такого %) Думаю, что с течением времени они улучшат borrow checker, чтобы он был умнее и "понимал" то что сейчас надо явно выражать. Но хороший (возможно real-time) gc с опцией хранить что-то off-heap, на мой взгляд, должен покрыть ОЧЕНЬ много случаев. ‎- адский хардлайн в засаде