Andrei
вместо weak_ptr там Weak
Алдар
ну и как вы обходитесь без shared_ptr?
Andrei
Приведи пример, когда он нужен.
Andrei
Я знаю дай Бог один, в котором нам пришлось сделать исключение.
Алдар
Если знать кто владелец, и время жизни объектов, то можно обойтись unique_ptr и простыми указателями
Andrei
Можно
Andrei
И я призываю писать код, посмотрев на который ты можешь сказать кто владеет объектом.
Алдар
У С++ большое преимущество перед растом - куча библиотек, надёжных инструментов и прочие плюшки устроявшегося языка
Алдар
можно сесть и писать реальный софт
Andrei
плюсы можно было бы сделать идентичными расту
Andrei
если запретить использовать объект после move
Andrei
и запретить делать копии некостнатных референсов и поинтеров
Andrei
получится в точности раст
Andrei
Но ты и так, если хочешь, можешь писать код без этого!
🦥Alex Fails
Но ты и так, если хочешь, можешь писать код без этого!
блин, я очень рад, что ты тут у нас в чате есть)
Алдар
https://www.youtube.com/watch?v=hEx5DNLWGgA
Алдар
тут чувак показывает софт для статического анализа кода
🦥Alex Fails
так... я ща инглишский не поймц
Алдар
как раз для того чтобы следить за такого рода штуками
Andrei
Да, вот.
Andrei
Всё правильно.
Andrei
Для «недисциплинированных» програсммистов есть статические анализаторы кода.
🦥Alex Fails
Cppcheck у меня в старом проекте том ничего не нашел
Andrei
А еще там где я работал у нас их заменяло обязательно peer-rewiev кода всей командой.
Алдар
начиная с 43 минуты
Алдар
правда это майкрософтовская хрень
🦥Alex Fails
А еще там где я работал у нас их заменяло обязательно peer-rewiev кода всей командой.
А я один пишу тот проект, хедертиз которого я те показал
🦥Alex Fails
хотел одному чуваку показать
Алдар
у меня идея возникла
Алдар
писать небольшие проги на современном С++14 и на haskell
Алдар
и сравнивать
Алдар
тем самым можно продвинуть и С++, и хаскель
🦥Alex Fails
Хорошая идея
Алдар
и много чему научиться
Алдар
И потом писать разборы реализаций
🦥Alex Fails
вообще да
Алдар
в блоге
Алдар
на английском
🦥Alex Fails
Ммм... блог...
Алдар
со ссылками на код
Алдар
Так удобнее для тех кто хочет следить за новыми постами
Andrei
Бартош покусал?
Andrei
:D
Andrei
Он ведь уже это делает.
Алдар
где?
Andrei
ну он фактически пишет в своём блоге о функциональных парадигмах в с++
Andrei
или ты хочешь произвольные задачи решать?
Алдар
я про небольшие задачки, и лучшие решения на С++ и хаскель
Алдар
в идиоматичном стиле для обоих языков
Алдар
то есть не надо пытаться писать на С++ в функциональном стиле
Алдар
а на хаскелле в императивном
Andrei
Ну эээ
Ned
невероятно, но факт, простая программа на Ди содержащая строки void main(){} весит...
Ned
внимание....
Ned
ПОЛМЕГАБАЙТА
Ned
полагаю, там весь glibc слинкован статически
Andrei
Скажем на хаскелле функцию которая вычисляет какое-нибудь там число фиббоначи, за логарифм, оптимально было бы писать используя StateT
Andrei
Так что без монадок не обойдешься.
Andrei
С состояниями.
Алдар
ты посчитай сколько бинарник в go весит)
Ned
и почему?
Алдар
там тоже статическая линковка
Алдар
всё пихается в один бинарник
Алдар
разве монадические вычисления это императивщина?
Алдар
они просто эмулируют императивщину
Алдар
особенно в do нотации
Andrei
Да.
Andrei
Я про это и говорю.
Andrei
Ты говоришь идеоматически.
Алдар
я имею ввиду согласно лучшим практикам
Andrei
Идеоматически вычисления в IO монаде(которая называется также монада строго последовательных вычислений) ничем с практической точки зрения не отличается от императивщины.
Andrei
Хотя конечно правда в том, что всё что можно делать с монадами можно делать без них.
Алдар
ну тогда просто сравним код
Алдар
это же будет интересно
Andrei
Просто мне кажется примеры бинарно разделятся на хаскеллевские и на с++-ные
Andrei
Разве лишь за исключением простейших.
Алдар
блин, с другой стороны на rosettacode.org уже куча задач есть на любых языках
Andrei
кошмар
Andrei
там есть страшные решения