LINUX.ORG.RU

Презентация «Rust - лучше, чем C++» на русском языке от разработчика из Яндекса

 


7

3

http://tech.yandex.ru/events/cpp-party/june-minsk/talks/1978

Степан Кольцов

Яндекс

Rust — это современный, практический, быстрый и безопасный язык программирования. Некоторые говорят, что Rust — это как C++, если бы его писал человек, знающий Haskell.

Система типов Rust решает главную проблему C++ — небезопасность. C++ очень легко сделать ошибки, которые приведут к поломкам (например, use after free). Rust позволяет писать безопасный код, сохраняя при этом выразительность и околонулевые накладные расходы C++. В докладе будут подробно описаны механизмы языка, которые контролируют безопасность программы.

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


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

Пишет 403 Forbidden, что делать чтобы работало?
fixed: Короче это https everywhere все ломал.

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

Высокую планку взяли.

anonymous
()

C++ очень легко сделать ошибки,


Моя знать язык программирования.

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


Еще один паскаль?

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

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

Тем более что они как вконтакте за фейсбуком, повторяют все и им нужна срочно современная замена с++, а go уже занят

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

Oh, shi~...
В ISO/IEC JTC1/SC22/WG21, должно быть уже наложили в штаны!

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

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

Не стоит по какой-то презентации судить о общей линии развития чего-то в компании. Разработчики в таких конторах часто делают доклады just for fun, по своей инициативе о конкретно им понравившихся вещах.

Тем более что они как вконтакте за фейсбуком, повторяют все и им нужна срочно современная замена с++, а go уже занят

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

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

потому что через несколько лет

стоило бы чинить прям завтра

Опроверг выдуманный собой аргумент, man «внимательное чтение».

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

а go уже занят

Не понял. Какие проблемы с Go? Вроде бы он тоже проектировался в качестве замены крестам.

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

Согласен, меня всем устраивает последняя редакция плюсов. Подсадить на свой кукан руби-хипстеров мечтает каждая успешная корпорация. А о чём мечтает хипстор? Правильно, покодить на аналоге питона со скоростью джавы и статическими типами. Чтобы перестать ощущать себя ущербанами и писать много кода ненужных программ.

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

Опроверг выдуманный собой аргумент, man «внимательное чтение»

Несколько лет на шкале времени развития и смены ЯП это меньше суток в пересчёте на «человеческое» время.

mashina ★★★★★
()

Rust решает главную проблему C++ — небезопасность.

Главная проблема С++ не в небезопасности. Главная проблема С++ в том, что это огромное нагорождение неудачных костылей, которыми пытались подпереть неудачные решения, которыми, в свою очередь, пытались решить фундаментальные дефекты языка. Причём каждый новый стандарт наворачивает ещё один слой этого дерьма. Из-за этого любой более-менее сложный проект на С++ как минимум на 75% состоит _ещё_ из одного слоя, написанный уже самими программистами, которые пытались хоть как-то со всем этим этим бороться. Написание кода на С++ это бесконечное решение проблем языка во имя решения проблем языка. Простейший код на С++ это блевотина, причём в случае простейшей ошибки компилятор поливает таким количеством шаблонных помоев, что теряется сам смысл вывода компилятором этих самых ошибок - ведь их всё равно невозможно разобрать.

Типичный пример С++ шлака: анонс: SObjectizer 5.3.0

И если разработчики Rust тоже среди ошибок С++ видят только «небезопасность», то мои прогнозы самые печальные.

anonymous
()

Еще один обзор из серии «убийца с++!!!11одинодин». Свое мнение про такие обзоры я уже писал тут: Запилите кто-нибудь нормальный обзор Rust, и тот факт, что в сети до сих пор не появилось ничего более вменяемого, склоняет меня к мысли, что rust все-таки именно такое унылое г, каким он мне и показался с первого взгляда.

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

Я думаю что основная ценность тех языков, которые называют современными, в green threads. Мне кажется это тяжело сделать в С++

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

А что такого ценного в зеленых потоках? Быстрее «родных» они работать на современном железе не могут, для И/О требуют костылей.. Какой в них смысл?

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

1) Не аргумент, см. п.2.
2) таким образом пилится ещё одна ниша, представляющая собой золотую середину между жабьей инфраструктурой и питоном.

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

2) таким образом пилится ещё одна ниша, представляющая собой золотую середину между жабьей инфраструктурой и питоном.

вот вы и сами говорите что go - не замена плюсам.

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

Описание в привычной синхронной форме полностью асинхронного кода. Ну написал ты например read(buf), а реально оно сделало асинхронную операцию и продолжит выполнение после завершения операции.

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

vertexua ★★★★★
()

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

збс

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

статическими типами
хипстеры

Но ведь нет.

Kuzy ★★★
()

другой похожий инструмент

И это — Standard ML, если его допилят по последним советам Харпера

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

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

И не нужно ждать даже если gorotines порезаны на N > 1 физических потока?

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

И если разработчики Rust тоже среди ошибок С++ видят только «небезопасность»

А у тебя есть причины так думать?

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

А что такого ценного в зеленых потоках? Быстрее «родных» они работать на современном железе не могут, для И/О требуют костылей.. Какой в них смысл?

Ровно наоборот.

Зеленые потоки можно размазать по потокам ОС, получив свой блокирующий I/O и загрузку всех CPU.

А можно не размазывать, экономя на примитивах синхронизации между потоками ОС.

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

Быстрее «родных» они работать на современном железе не могут

И не надо. Когда тебе надо будет обрабатывать штук 100500 соединений, тогда поймёшь, что в них такого ценного.

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

А что, бежать одновременно от того и другого нельзя?

Я там буквально следующим предложением пояснил почему нет в конкретном случае.

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

на «человеческое» время.

Преувеличение же, отношение этих шкал явно не ~300. Языки-то существуют лет 50-60, меньше десятка поколений программистов.

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

А что, бежать одновременно от того и другого нельзя?

Я там буквально следующим предложением пояснил почему нет в конкретном случае.

Нет. Ты сказал, что бежать от Си++ нет смысла (по твоему мнению).

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

Нет. Ты сказал, что бежать от Си++ нет смысла (по твоему мнению).

Шёл бы ты со своей привычкой прибивать свои галлюциногенные интерпретации чужим словам в какое-нибудь далёкое путешествие.

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

А Vala и Genie лучше их вместе взятых

Нишевые, сильно завязаны на glib, по безопасности не рядом с rust, серьезной конторы за ними нет.

anonymous
()

макбук на картинке

еще одно «я всё понял»

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

Нет, неправильно. Главная проблема C++ в том, что он пытается поддерживать все парадигмы программирования, в результате разные программисты могут писать код принципиально разными методами, а язык богат фичами как ни один другой, отсюда и сложность.

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

Главная проблема C++ в том, что он пытается поддерживать все парадигмы программирования

Питон пытается поддержать «все парадигмы», если нет - то проседает? (на фоне плюсов). Если да - то это создает проблему питону?

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

Шёл бы ты со своей привычкой прибивать свои галлюциногенные интерпретации чужим словам в какое-нибудь далёкое путешествие.

Ты всё еще в запое? Печально.

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

язык богат фичами как ни один другой, отсюда и сложность.

Это переформулировка слов анонимуса. Очень мягкая, но по сути ничего не меняющая.

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

Ну зеленый контекст выполения будет ждать сколько нужно, но зато переключать контексты ОС нужно будет значительно реже.

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