LINUX.ORG.RU

На YouTube выложены доклады с С++ конференции CoreHard Spring 2018

 , ,


5

4

Евгений Охотников. 25 лет истории C++, пролетевшей на моих глазах

Автор доклада познакомился с C++ в 1991-ом году, а с 1992-го года C++ является для докладчика основным языком разработки. Что происходило с языком за это время? Как и почему он стал популярным? Как начался застой в развитии C++? Как C++ потерял свою популярность? Есть ли место для C++ в современном мире? Попробуем поговорить об этом опираясь на 25-летний опыт программирования на C++.

Вадим Винник. Обработка коллекций: единая суть и множество проявлений

Обработка коллекций: единая суть и множество проявлений

Nicolai Josuttis. Beware of C++17

The devil is in the detail. This also applies to C++17. We get new cool features, but we also get new things to care for and remember. This talk discusses some of the cool features when they may lead to surprises.

Сергей Соложенцев. Фича-компонентный подход при разработке игр

Поговорим о том, как менялись подходы к работе с игровыми объектами в match 3 играх, и как мы пришли к текущему фича-компонентному подходу создания изменяемых игровых объектов. В чем его преимущества над остальными испробованными подходами для создания туториалов, многочисленных режимов, а также реюзинга кода.

Андрей Якимов. Перехват функций под Windows в приложениях с помощью

Я расскажу о перехватах функций в приложениях написанных на различных языках и технологиях. В докладе будут рассмотрены: базовые понятия, области применения, разновидности методов перехвата и их технические особенности, готовые библиотеки.

Андрей Карпушин. C++ для web с помощью Emscripten

В докладе я расскажу о своем практическом опыте компиляции и использовании C++ на веб страницах, о том что нужно сделать, чтобы портировать приложение на С++ под веб, об ограничениях с этим связанных, об интеграции С++ кода с JavaScript и другими элементами веб страницы.

Василий Немков. Ядро мультикриптовалютного кошелька Multy

3,5 блокчейна в 2 мегабайта: как, зачем и почему. Особенности разработки кросс-платформенных решений для блокчейна.

Александр Маркевич. From C++ to Objective-C

В этом докладе я хочу рассказать о том, что Obj-C/C++ — это расширение существующих C/C++. В данном докладе будут рассмотрены особенности языка, будет рассказано про управление памятью (retain/release vs. ARC vs. shared_ptr/unique_ptr), про Swift и почему он лучше или хуже Obj-C/C++.

Михаил Матросов. Многогранный С++ на практике

В С++ существует множество способов решения одной и той же задачи. Мы возьмём реальную задачу из моей практики и исследуем ряд инструментов С++ для её решения: контейнеры STL, boost.range, C++20 ranges, coroutines. Мы сравним решения с точки зрения их интерфейсов и производительности, а также увидим, как одно решение может быть легко получено из другого, если код правильно организован. В процессе мы посмотрим на возможности С++17: constexpr if, selection statements with initializer, std::not_fn, и т.д. Особое внимание будет уделено стандартным алгоритмам (моей любимой теме).

Павел Беликов. Как работает анализ Data Flow в статическом анализаторе кода

Анализ Data Flow (потоков данных) - технология анализа исходного кода программ, широко используемая в различных development tools: компиляторах, линтерах, IDE. Мы поговорим о нём на примере разработки статического анализатора. Рассмотрим классификацию и различные виды Data Flow анализа, смежные технологии, взаимодополняющие друг друга и проблемы, возникающие при его разработке, и сюрпризы, которые нам преподносит C++, когда мы пытаемся его проанализировать. В ходе доклада мы разберём несколько ошибок, найденных в реальных проектах с помощью этой технологии.

Александр Зайцев. Инструменты профайлинга С++ кода

Так бывает, что иногда ваше приложение начинает долго выполнять казалось бы обыденные задачи и потреблять большое количество оперативной памяти. А вы как разработчик и понятия не имеете, почему же так происходит (но вам интересно). В ходе доклада поговорим о средствах, которые могут нам понять причины странного поведения наших программ. Если не боитесь таких слов как Valgrind, gprof, gperftools и многих других - добро пожаловать!

Александр Чуприна. Настройка окружения для кросскомпиляции на основе docker'a

Как быстро и легко настраивать/обновлять окружения для кросскомпиляции проектов под различные платформы(на основе docker), как быстро переключаться между ними, как используя эти кирпичики организовать CI и тестирование(на основе GitLab и Docker).

Алексей Ткаченко. Кодогенерация C++ кроссплатформенно

В докладе будет рассмотрена генерация кода при компиляции различных языковых конструкций, как простых, так и сложных, на различных платформах, как общераспространённых x86/x64, так и тех, которым уделяется меньше внимания: ARM, AVR. Также будут встречаться примеры для совсем экзотических процессоров вроде PowerPC и даже MicroBlaze. Основной упор будет делаться не на обработку данных, а именно на сопоставление различных конструкций кода с инструкциями целевых платформ.

Дискуссии:



Последнее исправление: tailgunner (всего исправлений: 1)

Ответ на: комментарий от Nexmean

ява поддерживается ораклом в энтерпраз банковском секторе
и гуглом на андроидах
больше нигде явы нет и пока ее поддерживает эти два гиганта, никуда ява не сдвинется и никто на ее место не станет
гоу поддерживается и спонсируется гуглом, он долго искал он свое место и нашел небольшой островок в веб сервисах с обработкой хттп и прочих сетевых коннекшинах
слегка гоу сейчас влезает в криптовалюты аля блокчейн
машинное обучение сверху все на питоне и огромная база учебного материала тоже написана с упоминанием оного, никто в здравом уме не будет эти килотонны текста переписывать с питона на раст, да и плюсы питона в МЛ как по мне более очевидны чем у раста
снизу у МЛ иногда высокопроизводительный код который понаписан на С++
о том что яваскритп уже стандарт для броузеров, никто даже спорить не будет, webrtc, angular итд
тем более переписывать поддержку всех сайтов на раст который не является интерпретируемый
для заменить С С++ нужно переписать огромное количество готовых библиотек а потом еще и пройти их боем
ну к примеру пусть напишут на расте ТЛС для использования как в опенссл, кто в здравом уме будет сходу его использовать в серьезных проектах ?
где гарантия надежности когда ? гарантия всего лишь языка ? да ну
вот линукс тоже считался не преступным и без уязвимостей, пока не просунулся в андроид и его в целом не начали тестировать на проникновение, оказалось что дыр не меньше чем в винде
так что остается для раста пока что только уголок на коврике в прихожей
где нужно написать небольшой кусочек кода и никаких сложных библиотек подключать не нужно
возможно он чуть чуть в ембеддеде посидит, ну пока его обнюхают
дальше конечно от него все равно уйдут, но небольшая группка энтузиастов может будет его поддерживать...
да кстати, сейчас у раста очень мало своих библиотек, тот же openssl цепляют через враперы, как впрочем и другие либы
спрашивается зачем нужны такие костыли ? очевидно что бы подогревать интерес к расту у тех кто еще с ним мало знаком
но долго это гореть не будет, остынет быстро

anonymous
()
Ответ на: комментарий от anonymous

добавлю
раст сейчас пытаются популяризовать потому что спец по расту стоит в три-четыре раза дешевле того же С++
почему дешевле ? очевидно что студенты и мало имущие готовы вкалывать за еду, поэтому такая раб сила дешевле для работодателя
а вот как будет такой спец по расту разрабатывать софт в областях которого нет еще библиотек для раста ?
очевидно тянуть С С++ либы для биндинга(ой а мы то помним растоманы не С++, их наняли исключительно за знание раста, а иначе бы они устроились на вакансии С++ где платят за тоже самое по больше) поэтому дальнейший этап разработки будет сильно заторможен
писать либу для раста которая сможет сделать тот же функционал что и либа на С С++ растоман не сможет, потому что нет у него таких знаний
ну откуда возьмутся знания у студентов и мало имущих ?
итог для раста печален, Д не взлетел не из за ГЦ или прочих плюшек, а именно из за того что не смог найти себе нишу, посидел в уголку на коврике до первой уборки, после которой ушел на покой

anonymous
()
Ответ на: комментарий от anonymous

Ваш максимализм даже немного умиляет, если учитывать «опыт 20 лет на плюсах». Неужели ЯП должен обязательно полностью выкинуть конкурента из какой-то области применения, чтобы там существовать? ReactNative совместно с Java же как-то уживаются на андроиде, а сейчас ещё к ним присоединяются Kotlin и Dart.

Так же и Rust, он не выкидывает конкурентов, вынуждая всех участников «rewrite it in rust», он постепенно отвоёвывает для себя место. Rust умеет в FFI, он может линковаться с библиотекой с сишным интерфейсом, а также код на Rust'е может сам быть библиотекой с сишным интерфейсом. В этих условиях не надо всё переписывать на Rust, нужно просто предоставить возможность делать на Rust какие-то вещи проще чем на C/C++/Java/Go. И эти возможности уже есть.

где гарантия надежности когда ? гарантия всего лишь языка ? да ну

А где гарантия что через годы не обнаружат очередно heartbleed в OpenSSL? Язык сам по себе не даёт гарантий, он лишь позволяет писать безопасные приложения проще и быстрее за счёт memory safety, системы типов не из *опы, и разделения на подмножества safe/unsafe.

да кстати, сейчас у раста очень мало своих библиотек, тот же openssl цепляют через враперы, как впрочем и другие либы

спрашивается зачем нужны такие костыли ?

Потому-что проще и удобнее писать что-то на Rust'е используя враппер над сишной библиотекой, чем писать всё на C.

очевидно что бы подогревать интерес к расту у тех кто еще с ним мало знаком.

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

но долго это гореть не будет, остынет быстро

А вам за ваши пророчества платят? Или вы тратите своё личное время, чтобы собирать всю необходимую информацию, анализировать её и делать такие заключения?

Nexmean
()
Ответ на: комментарий от anonymous

раст сейчас пытаются популяризовать потому что спец по расту стоит в три-четыре раза дешевле того же С++

В только недавно в этом же треде утверждали, что Rust бизнесу не нужен, а сейчас вы утверждаете, что бизнес его пиарит, что-бы не платить C++ сеньёрам деньги, а нанимать студентоту.

писать либу для раста которая сможет сделать тот же функционал что и либа на С С++ растоман не сможет, потому что нет у него таких знаний

Однако смогли же написать многопотчный CSS движок, который C++ господа так и не осилили.

Nexmean
()
Ответ на: комментарий от Nexmean

есть разный бизнес, бизнес который зарабатывает, вкладываться в сомнительные технологии не будет, ему нравится тот островок стабильности который он строил много десятков лет
бизнес который только начинает развиваться и у него нет денег, ищет все на чем можно сэкономить, получит ли он профит сэкономив на спецах и взяв растоманов ? время покажет, но я считаю что профита не будет, это мое личное мнение, которое я выражаю проснувшись не вчера, а будучи в ИТ более десятка лет и насмотревшись всякого

оо с ЦСС другая история, его писали дабы попытатся сделать пиар расту
если бы это так нужно было плюсовикам, они бы это написали

anonymous
()
Ответ на: комментарий от Nexmean

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

anonymous
()
Ответ на: комментарий от Nexmean

C++ господа так и не осилили

А где рассказы о неудачных попытках?

Со стороны выглядит так, что в Mozilla в какой-то момент решили вместо переписывания своей старой кодовой базы на C++ на новом C++, переписать все на Rust-е. От чего и вложились в Servo. И затормозили развитие Firefox-а на несколько лет.

Разговоры о том, что многопоточный CSS движок не смогли написать на C++ напоминают попытки оправдать свое решение вложиться в Rust.

eao197 ★★★★★
()
Ответ на: комментарий от anonymous

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

Алло, откуда у такого бизнеса деньги на то, чтобы пиарить Rust, дядя?

оо с ЦСС другая история, его писали дабы попытатся сделать пиар расту
если бы это так нужно было плюсовикам, они бы это написали

Этот движок в мозиле на C++ пытались несколько раз написать, но каждый раз фейлились и только потом написали на Rust.

Про ЗП - открываем ххточкару, смотрим вакансии на Rust, видим опыт работы 1-3 года, в требованиях какие-то базовые знания, ЗП от 120к рублей. Теперь смотрим вакансию на C++ - опыт работы 3-6 лет, в требованиях диплом ВУЗа «первого эшелона» и участие в сложных проектах с гуи на Qt, зп от 125к рублей.

Идём дальше, следующая пара вакансий: на Rust - опыт работы от 3 до 6 лет, требования - степень бакалавра по математике/физике/информатике, знание или готовность изучить Rust, хорошее знание software engineering, зп от 3к вечнозелёных на руки. На С++ - про опыт ничего не написано, зато в требованиях исключительное знание цпп, опыт работы с C++11 и бустом, знание английского достаточное для коммуникации, зп от 2k вечнозелёных.

Так кто в итоге малоимущий?

Nexmean
()
Ответ на: комментарий от eao197

Разговоры о том, что многопоточный CSS движок не смогли написать на C++ напоминают попытки оправдать свое решение вложиться в Rust.

Оправдать перед кем? И зачем его оправдывать? Экспериментальные языки создаются постоянно.

tailgunner ★★★★★
()
Ответ на: комментарий от eao197

Со стороны выглядит так, что в Mozilla в какой-то момент решили вместо переписывания своей старой кодовой базы на C++ на новом C++, переписать все на Rust-е. От чего и вложились в Servo. И затормозили развитие Firefox-а на несколько лет.

В таких компания решения принимаются как правило не на авось (особенно если компании и жить то больше не на что, кроме как на деньги инвесторов), а значит, решение, скорее всего, было обдуманно и имело рациональные корни.

Разговоры о том, что многопоточный CSS движок не смогли написать на C++ напоминают попытки оправдать свое решение вложиться в Rust.

Нужно было бы мозиле оправдаться перед инвесторами, то они бы оправдались перед ними и это никуда бы не уплыло и информации бы такой не появилось.

Nexmean
()
Ответ на: комментарий от Nexmean

ок, я открыл ххточкару, С++ опыт от 6лет, можно удаленно, зп от 300к руб на руки, тимлид
смотрю дальше, С++ опыт от 3-6 лет, американская компания, зп на руки от 3500 до 6500 usd в месяц
что то кисло, смотрю дальше, релокейт в германию, знания С++17, зп 120тыс евро в год если продержитесь на испытательном сроке год

ок что же у нас с растом ?
ищем...., wargaming, знание С++ Rust - зп не задекларирована - но мы то знаем сколько там платят ага, и раст там сбоку
ок, зп от 120к руб, разработчик знающий С С# Scala Rust Erlang Haskell и другие, - смахивает на фирмочку по сбору резюме а не реальную вакансию
о вроде есть что то но мутное, разработчик блокчейн, требования С С++ Python Java JavaScript Go Rust, зп от 240 тыс руб, - ну и каким здесь местом раст ? ну понятно тупой менеджер писал вакансию, мне более адекватные предложения по блокчейну пару раз в месяц сыпятся, С++ от $5к в месяц
вообщем раст и сдесь слил

anonymous
()
Ответ на: комментарий от tailgunner

Оправдать перед кем?

Перед пользователями, например. Теми, которые донатят Mozilla Foundation. Или перед советом директоров Mozilla Corp.

И зачем его оправдывать?

Зачем оправдывать решение постепенно переводить Firefox на Rust? Это такое очевидное решение и всем понятно, что оно правильное?

eao197 ★★★★★
()
Ответ на: комментарий от Nexmean

В таких компания решения принимаются как правило не на авось (особенно если компании и жить то больше не на что, кроме как на деньги инвесторов), а значит, решение, скорее всего, было обдуманно и имело рациональные корни.

О каких инвесторах вы говорите применительно к Mozilla Corp.?

eao197 ★★★★★
()
Ответ на: комментарий от anonymous

Ваши от 300к на руки это от силы 3% С++ вакансий на ххру. Остальные же вакансии по типу «диплом МГУ или баумонки, опыт от 3 лет, отличное владение цпп, зп от 120к». На расте хоть вакансий немного но и требования у них невысокие, при относительно неплохой зп.

разработчик знающий С С# Scala Rust Erlang Haskell

Очевидно же, что запятую надо парсить как ИЛИ.

разработчик блокчейн, требования С С++ Python Java JavaScript Go Rust, зп от 240 тыс руб

Опять же запятую между языками нужно парсить как ИЛИ, там даже явно написано - «опыт промышленной разработки на одном из языков». Вакансия к тому же со второй страницы, а как я говорил ранее, вакансий на Rust пока не много(собственно как и разрабов).

ну и каким здесь местом раст ?

Там в тегах вакансии указан «Exonum», который является фреймворком на Rust'е для создания собственных блокчейнов.

мне более адекватные предложения по блокчейну пару раз в месяц сыпятся, С++ от $5к в месяц
вообщем раст и сдесь слил

Вы сами кичились здесь, что у вас за 10 лет опыта разработки на цпп, чего удивляться таким то суммам? У разработчиков на Rust такого опыта не может быть просто физически, ибо Rust только 3 года как стабилизировался.

Nexmean
()
Ответ на: комментарий от eao197

Ну кто там больше всего в мозилу донатит? Гуглы, майкрософты, эпплы и прочие коммерческие организации. Или для вас удивительно то, что некоммерческие организации живут как правило за счёт донатов коммерческих организаций?

Nexmean
()
Ответ на: комментарий от vtVitus

с++ своей популярностью был обязан прежде всего микрософту

Хм. А я думал c++ это в первую очередь был «C с классами». И все ниасиляторы православной сишки тут же побежали на более «легкую» версию с классами, iostream, коллекциями из коробки итп. Тем самым заглотив наживу уродливого рыбака.

Deleted
()
Ответ на: комментарий от Nexmean

в чем проблема этих трех% вакансий ? выучить язык С++ что бы пройти не можете ?
ок, остальные 50% это зп от 220 на руки, знание С++ от трех лет, только попой в офисе сидеть, это тоже проблем для вас ?

Очевидно же, что запятую надо парсить как ИЛИ.

мне парсить запятые не нужно, вакансии ИЛИ ИЛИ это фейки, когда вакансия реальная, то там четкие а не размазанные требования
то вас бросает в крайности и вы начинаете выискивать вакансии для студентов от 90к руб, то говорите что вакансий С++ мало для зп от 300к руб, вы разберитесь чего хотите
я вижу тренд, по ххточкару - если знаешь крепко С++, то от 250тыс руб можешь найти, и плохой тренд, если знаешь раст то зп либо умалчивают, либо раст смешивают с еще десятками языков
то есть работодатель и вам еще не знает нужен ему растоман или сишник или он на гоу хочет спеца, сомнительного рода вакансии, менее реальные чем для знающего С++
итог для молодежи прост, хочешь уверенного будущего - учи современный С++, хочешь играть в лотерею, можешь учить раст

anonymous
()
Ответ на: комментарий от Nexmean

Или для вас удивительно то, что некоммерческие организации живут как правило за счёт донатов коммерческих организаций?

Насколько я слышал, Mozilla Corp. вполне себе коммерческая организация. И деньги им корпорации не донатят, а платят по контрактам за поисковый трафик.

eao197 ★★★★★
()
Ответ на: комментарий от Nexmean

Вы вряд ли имеете представления о терках и подковерных играх, которые присутствуют в корпорациях.

Собственно, уже одно это высказывание — «то как языки программирования живут по 40 лет - это не нормально» — говорит о том, что вы пребываете в краю розовых пони.

eao197 ★★★★★
()
Ответ на: комментарий от anonymous

ок, остальные 50% это зп от 220 на руки, знание С++ от трех лет, только попой в офисе сидеть, это тоже проблем для вас ?

Ещё раз открываем ххру. Вводи «C++» в поиск. Видим - суммарно 3461 вакансия. Смотрим на лефтбар, вакансий с указанной зарплатой 1382, вакансий с зарплатой от 205к - 198 штук. Нехитрыми математическими вычислениями получаем 14% от всех вакансий с указанной зарплатой. Как дальше будете манев^Wпарировать?

мне парсить запятые не нужно, вакансии ИЛИ ИЛИ это фейки, когда вакансия реальная, то там четкие а не размазанные требования
то вас бросает в крайности и вы начинаете выискивать вакансии для студентов от 90к руб, то говорите что вакансий С++ мало для зп от 300к руб, вы разберитесь чего хотите
я вижу тренд, по ххточкару - если знаешь крепко С++, то от 250тыс руб можешь найти, и плохой тренд, если знаешь раст то зп либо умалчивают, либо раст смешивают с еще десятками языков
то есть работодатель и вам еще не знает нужен ему растоман или сишник или он на гоу хочет спеца, сомнительного рода вакансии

Работодатель хочет спеца на Rust, но так как такого зверя найти крайне сложно он размывает требования для того, чтобы просто найти человека, который умеет программировать и обучить его Rust'у. Иначе говоря программистами на Rust не готовы разве что жсеров и питухонщиков брать, а все остальные велкам, «мы вас сами обучим». Говорит это лишь о том, что растоманов реально не хватает.

Nexmean
()
Ответ на: комментарий от eao197

Собственно, уже одно это высказывание — «то как языки программирования живут по 40 лет - это не нормально» — говорит о том, что вы пребываете в краю розовых пони.

Это не нормально с точки зрения технического прогресса в общем, ибо за эти же 40 лет во многих отраслях человеческой деятельности инструменты кардинально изменились. Даже в IT так. Но вот старые языки программирования живут, несмотря на то, что появились куда более совершенные ЯП.

Nexmean
()
Ответ на: комментарий от eao197

Это на самом деле забавно, ибо если так посудить, то IT, которое некоторые считают технологически продвинутой областью на самом деле очень сильно отстаёт от технологического и научного прогресса. Более того, IT ещё и очень не зрелая область, ибо весь IT бизнес до сих пор ориентируется на сиюминутную прибыль вместо того, чтобы хоть как-то смотреть вперёд.

Nexmean
()
Ответ на: комментарий от Nexmean

во многих отраслях человеческой деятельности инструменты кардинально изменились.

Назови какие это отрасли и перечисли какие инструменты были изменены в этих отраслях.

anonymous
()
Ответ на: комментарий от Nexmean

что ты несешь...то есть лучше было бы бежать за каждой очередной серебренной пулей, которая точно сделает лучше? Ну тогда такая «продвинутая область» до сих пор бы переписывала видовс 3.11 на очередного убийцу предыдущего убийцы предыдущего языка. ох..еть перспективно.

anonymous
()
Ответ на: комментарий от Nexmean

учтите дубляжи и фейки, а так же туда куда попал С++ с запятыми перед вашим растом и другими языками

когда работодатель захочет спеца на расте он укажет только раст, когда указывают много запятых с другими языками то никто никого не хочет, можете сами туда устроиться

конечно растоманов не хватает, дураков работающих за еду мало
перспективы будущего для них туманна

anonymous
()
Ответ на: комментарий от Nexmean

Вы путаете технический прогресс и экономическую целесообразность. Это разные вещи.

eao197 ★★★★★
()
Ответ на: комментарий от rupert

Кстати, C++ - один из редких языков, где надо долго набивать руку. С другими языками все обычно гораздо проще. Есть очень важные книги по C++, где написано о том, как _не_надо_ писать на С++. И обычно это самые рекомендуемые книги. Саттер, Майерс, к примеру. Эх, сколько же я времени на них потратил...

Говоря о Rust, здесь важен предыдущий опыт. На мой взгляд конкретно для Rust важен прежний опыт с С/С++ и желательно с Haskell, на худой конец, с Ocaml/Scala/F#.

ФП тоже важен. Так будет много-много проще. Одного знания шаблонов мало. Нужен именно полиморфизм с ограничениями по классам типов. Там тоже есть подводные камни. Например, почему один вывод инстансов будет работать, а другой - слишком общий, и компилятор его отвергнет. И тому подобное. Сам стиль мышления в терминах трейтов (классов типов).

Но вы также можете не принимать всерьез то, что я написал. Я тоже только в прошлом году заинтересовался языком Rust. Потом был долгий перерыв, пока не научился-таки создавать на Rust более быстрый код, чем на Haskell, используя многие мудренные идеи из последнего, например, монады и продолжения.

P.S. Прикольно было выше читать аналитические выкладки программиста на ПЛ/1, ой, прошу прощения, на C++.

dave ★★★★★
()
Последнее исправление: dave (всего исправлений: 1)
Ответ на: комментарий от dave

Для быстрого старта имею в виду. А так, вполне можно писать на Rust без знания Haskell. Просто тогда придется многим вещам учится в первый раз.

dave ★★★★★
()
Последнее исправление: dave (всего исправлений: 1)
Ответ на: комментарий от dave

Haskell лучше не трогать ни до, ни после ни Раста, ни C++. В крайнем случае, побаловаться с ghci, вооружившись тьюториалом, чтобы посмотреть на вывод типов, АлгТД, классы типов на примере хелловорлдов.

Virtuos86 ★★★★★
()
Ответ на: комментарий от dave

Есть очень важные книги по C++, где написано о том, как _не_надо_ писать на С++.

Рекомендации о том, как не нужно писать на C++, появились задолго до книг Майерса и Саттера. Например, рекомендации писать так:

int f() {
  SomeClass object;
  ...
}
а не так:
int f() {
  SomeClass * object = new SomeClass();
  ...
  delete object;
}
Или вместо такого:
int g() {
  int a, b, c;
  a = ...;
  ...
  b = a+1;
  ...
  c = b - a/2;
  ...
}
писать вот так:
int g() {
  int a = ...;
  ...
  int b = a+1;
  ...
  int c = b - a/2;
  ...
}
И еще куча рекомендаций, которые возникли не из-за сложности и запутанности C++, а из-за того, что в C++ приходили обычные люди, переносившие в C++ привычки из других языков программирования.

Естественно, что со временем, по мере роста сложности C++, ситуация стала хуже. Но и рост сложности происходил не просто так, а потому, что это было нужно тем самым пользователям.

eao197 ★★★★★
()
Ответ на: комментарий от Virtuos86

Поверь мне, в Rust очень много перенесено из того языка, который ты почему-то старательно обходишь стороной ;) И не только на уровне языковых конструкций, но даже на уровне методологии, подхода к тому, как надо писать и создавать код. Об этом тыщу раз твердилось, и я не хочу повторяться.

dave ★★★★★
()
Последнее исправление: dave (всего исправлений: 1)
Ответ на: комментарий от eao197

Только я ни по какому другому языку не видел столько книг на эту тему, да еще чтобы они рекомендовались как минимум для того, чтобы считаться профессионалом. По Фортрану видел одну, и все)

dave ★★★★★
()
Ответ на: комментарий от Virtuos86

И раз ты пишешь на Rust, то я даже уверен, что ты теперь немного знаком с Haskell против своего желания! :))

dave ★★★★★
()
Ответ на: комментарий от dave

Поверь мне

Все так говорят. Я верю в здравый смысл, и он мне подсказывает, что люди зачастую ошибаются, пускай и очень искренне.

в Rust очень много перенесено из того языка, который ты почему-то старательно обходишь стороной ;) И не только на уровне языковых конструкций, но даже на уровне методологии, подхода к тому, как надо писать и создавать код

Вот сейчас стало обидно за другие языки, хотя бы потому, что Хаскель не вырос на пустом месте, у него были предшественники.

Virtuos86 ★★★★★
()
Ответ на: комментарий от dave

Только я ни по какому другому языку не видел столько книг на эту тему, да еще чтобы они рекомендовались как минимум для того, чтобы считаться профессионалом. По Фортрану видел одну, и все)

Есть ощущение, что с миром Java и Enterprise Java вы не сталкивались вообще. Там куча своих рекомендаций о том, как не нужно программировать на Java.

eao197 ★★★★★
()
Ответ на: комментарий от dave

Всё, с чем я знаком из Хаскеля из пригодившегося, я уже перечислил. Но, например, Optional это прямое заимствование из Standard ML, и никакой Хаскель рядом не валялся, как и в случае с рядом других особенностей. А то так можно дойти до утверждений, вроде того, что выдал программист из видео с конфы насчет того, что «папой» Раста был Си, а «мамой» Хаскель (или наоборот).

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

Конечно, не на пустом месте. Лисп, Фортран и все остальное.

Кстати, ты используешь Future из futures-rs, для которого хотят еще сахарок добавить в сам язык? Если да, то все, считай, что тебе знакома концепция монады, хотя ты вполне можешь спокойно ненавидеть это слово, но постоянно использовать саму концепцию чуть ли не каждый день и радоваться жизни.

dave ★★★★★
()
Ответ на: комментарий от dave

Мой любимый момент, когда оппонент, тяжело вздохнув, выкатывает свой Опыт, под которым проглядывает наспех замазанная надпись «ЧСВ».

Virtuos86 ★★★★★
()
Ответ на: комментарий от dave

Конечно, не на пустом месте. Лисп, Фортран и все остальное.

ЕМНИП, Хаскель появился в результате того, что автор самого успешного на тот момент ФЯ Mirinda не был заинтересован в том, чтобы на базе Mirinda сообщество функциональщиков начало строить нечто универсальное. По самой банальной причине: Mirinda был коммерческим продуктом.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Может быть. Опенсорс оказался живучее.

dave ★★★★★
()
Ответ на: комментарий от dave

Конечно, не на пустом месте. Лисп, Фортран и все остальное.

Я имел в виду ML family. Что там можно взять из Лиспа? Гигиенические макросы из Скима только.

Кстати, ты используешь Future из futures-rs

Не использую.

Если да, то все, считай, что тебе знакома концепция монады

Мне она и так знакома.

хотя ты вполне можешь спокойно ненавидеть это слово

Ты, кажется, с кем-то другим разговариваешь.

Virtuos86 ★★★★★
()
Ответ на: комментарий от eao197

правдать перед кем?

Перед пользователями, например. Теми, которые донатят Mozilla Foundation.

Хм. ты считаешь, что пользователи, которые донатаят MoFo, отличают Rust от Си++? Я уверен, что нет. Не говоря уже о том, что MoFo живет с корпоративных донатов, а корпам уже точно безразлично, на чем написан продукт.

Или перед советом директоров Mozilla Corp.

Возможно. Но, судя по тому, что Project Quantum уже объявлен, совет директоров уже убедили.

Зачем оправдывать решение постепенно переводить Firefox на Rust?

Это такое очевидное решение и всем понятно, что оно правильное?

«Перевода» нет (например, мне вообще неизвестно о планах заменить JS-движок). Хорошо зарекомендовавшие себя компоненты Servo встраиваются в Firefox. Да, это вполне очевидное решение и участникам процесса (по крайней мере, известным мне) понятно, что оно правильное.

P.S. Miranda

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от dave

Ты же предмета обсуждения толком не знаешь, а пытаешься спорить.

Я тоже не знаю предмета обсуждения :), но немного знаю Ocaml - по-моему, Rust на него очень похож. А еще Грейдон Хоар назвал Rust «Ocaml in C++ clothing».

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Хм. ты считаешь, что пользователи, которые донатаят MoFo, отличают Rust от Си++?

Да. Поскольку Firefox был очень популярен среди программистов, то многие из них имели представление о языках программирования, использованных в реализации FF.

Я, например, сам ушел с FF пару лет назад, когда задолбали постоянно увеличивающиеся тормоза свежих версий FF. Это как раз были годы, когда Mozilla рассказывала про то, как они не сшмогли в C++, но придет Rust и всех спасет.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

хул и движек на скриптах - никогда не были быстрыми в фф

anonymous
()
Ответ на: комментарий от eao197

Хм. ты считаешь, что пользователи, которые донатаят MoFo, отличают Rust от Си++?

Да. Поскольку Firefox был очень популярен среди программистов

Пусть даже среди аудитории FF было в 2 раза больше прогеров, чем в среднем по популяции - это всё равно копейки.

Я, например, сам ушел с FF пару лет назад, когда задолбали постоянно увеличивающиеся тормоза свежих версий FF.

Вот именно - задолбали тормоза. А не переписывание на Rust.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Вот именно - задолбали тормоза. А не переписывание на Rust.

Ты не понял. Я перешел с Chrome на Firefox из-за проблем Chrome на HiPDI экранах. Тогда особых тормозов FF в сравнении с Chrome не было заметно. Но где-то через год начала наблюдаться картина: каждый следующий релиз FF увеличивал тормоза FF. Плагины были не при чем, т.к. я ими не пользовался.

Это 2014-й, 2015-й и 2016-й годы. Когда Mozilla забила на развитие своего C++ного движка в пользу Rust-а и Servo. Ждать, когда наступит светлое будущее FF на Rust-е и Servo было некогда, проще было забить на FF вообще.

eao197 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.