С++ всё? Rust навсегда?
От: varenikAA  
Дата: 15.06.20 09:31
Оценка: +1 :))
Собственно вопрос в теме. Навеяло предыдущими обсуждениями.
Кто-то сбросил недавно ссылку Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем

Тут правда сразу подумал, а как там с вебом? rocket
Глаз задергался от необходимости так детализировать логику веба.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: С++ всё? Rust навсегда?
От: Мирный герцог Ниоткуда  
Дата: 15.06.20 10:14
Оценка: 8 (3) +12
Здравствуйте, varenikAA, Вы писали:

AA>Тут правда сразу подумал, а как там с вебом? rocket

AA>Глаз задергался от необходимости так детализировать логику веба.

это уже нцатая серебряная пуля на моей памяти, необходимо один раз и навсегда понять, что качество софта в гораздо (порядок/порядки) большей степени зависит от квалификации инженеров и менеджеров, нежели от инструмента. Профессионалы высокого класса могут и на Си (без классов) написать стабильный и безопасный код, обложившись линтерами, тестами, код-ревью и в целом обладая культурой разработки, а если дуракам дать половой орган стеклянный, вы сами знаете что произойдёт. Буквально месяц назад один крупный банк искал (а может всё ещё ищет) разработчиков на C++ чтобы переписать (подчёркиваю — переписать) то глючное и тормозное угрёбище, которое наворотили до этого нанятые хипстеры на расте. О чём это говорит? О том что раст — говно? Нет, это говорит о том что хочешь качество — плати нормальные бабки и нанимай нормальных разработчиков. Нормально делай — нормально будет.
нормально делай — нормально будет
Re[2]: С++ всё? Rust навсегда?
От: T4r4sB Россия  
Дата: 15.06.20 10:40
Оценка: +2
Здравствуйте, Мирный герцог, Вы писали:

МГ>это уже нцатая серебряная пуля на моей памяти, необходимо один раз и навсегда понять, что качество софта в гораздо (порядок/порядки) большей степени зависит от квалификации инженеров и менеджеров, нежели от инструмента.


А я уже энцатый месяц трахаюсь с проектом, в котором надо постоянно проводить операции над графом, при этом не нарушая инварианты, некоторые из которых очень трудно сформулировать. И 99% возникающих ошибок у меня — логические, а вовсе не из-за нарушения логики владения чем-то там.
Re: С++ всё? Rust навсегда?
От: Zhendos  
Дата: 15.06.20 10:50
Оценка: +1
Здравствуйте, varenikAA, Вы писали:

AA>Собственно вопрос в теме. Навеяло предыдущими обсуждениями.

AA>Кто-то сбросил недавно ссылку Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем

AA>Тут правда сразу подумал, а как там с вебом? rocket

AA>Глаз задергался от необходимости так детализировать логику веба.

А в чем детализация? Напоминает python/flask:

@app.route('/', methods=["GET"])
def index():
    pass


Но наличие flask ведь никак не мешает существованию других framework
для python/web ?
Re: С++ всё? Rust навсегда?
От: SomeOne_TT  
Дата: 15.06.20 13:37
Оценка: +1 -3 :))
Здравствуйте, varenikAA, Вы писали:

AA>Собственно вопрос в теме. Навеяло предыдущими обсуждениями.

AA>Кто-то сбросил недавно ссылку Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем

Плюсы нравятся, но они кошмарны. Чем раньше их закопают, тем лучше будет для всех. Жаль, только, никто их не закопает, как и фортран.
Re[2]: С++ всё? Rust навсегда?
От: reversecode google
Дата: 15.06.20 13:43
Оценка: +2
переменный ток опасен
если его запретят использовать, жить станет безопасней
Re: С++ всё? Rust навсегда?
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 15.06.20 14:20
Оценка: +3 -3
Здравствуйте, varenikAA, Вы писали:

AA>Собственно вопрос в теме. Навеяло предыдущими обсуждениями.

AA>Кто-то сбросил недавно ссылку Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем

Я уже два десятилетия вижу такой аргумент.

«C++ не является безопасным для памяти языком и никто не притворялся бы, что это не так»


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

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

Один из подходов, который давно используется, состоит в том, чтобы больше обучать программистов написанию более безопасного кода. Но «нет никаких доказательств того, что комплексное обучение разработчиков на C и C++ действительно решит эту проблему любым существенным способом»


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

Когда Бьерн Страуструп рекламировал C++ он говорил, что одно из его основных достоинств прямое управление памятью. И тут я, например, спрашиваю, какое преимущество у Rust? А мне в ответ C++ небезопасен, потому что позволяет управлять памятью. Нет, постойте ка, какое преимущества у Rust, я не хочу слышать про C++, говорите про Rust. Что там нельзя управлять памятью и это преимущество?

Ну, вы знаете, наши программисты пишут лажовый код, мы хотим попробовать Rust в надежде на то, что они перестанут писать лажовый код. А Microsoft известна своими программистами. Они может поэтому и переписывают свой .NET каждый раз, потому что проще переписать с нуля, чем поддерживать и развивать старую версию.
Re[2]: С++ всё? Rust навсегда?
От: smeeld  
Дата: 15.06.20 15:15
Оценка: -5
Здравствуйте, velkin, Вы писали:

V>Во-первых, C/C++ буквально созданы чтобы управлять памятью.


Чистый Cи и Cи c классами созданы чтоб управлять памятью. В новомодном раскошерном C++ это пытаются запретить и исключить, взамен навязывая какие-то кошмарные костыли.
Re[2]: С++ всё? Rust навсегда?
От: varenikAA  
Дата: 15.06.20 15:32
Оценка:
Здравствуйте, Zhendos, Вы писали:

Z>Здравствуйте, varenikAA, Вы писали:


AA>>Собственно вопрос в теме. Навеяло предыдущими обсуждениями.

AA>>Кто-то сбросил недавно ссылку Microsoft: Rust является 'лучшим шансом' в отрасли программирования безопасных систем

AA>>Тут правда сразу подумал, а как там с вебом? rocket

AA>>Глаз задергался от необходимости так детализировать логику веба.

Z>А в чем детализация? Напоминает python/flask:


Z>
Z>@app.route('/', methods=["GET"])
Z>def index():
Z>    pass
Z>


Z>Но наличие flask ведь никак не мешает существованию других framework

Z>для python/web ?


#![feature(proc_macro_hygiene, decl_macro)]

#[macro_use] extern crate rocket;

#[get("/")]
fn index() -> &'static str {
    "Hello, world!"
}

fn main() {
    rocket::ignite().mount("/", routes![index]).launch();
}
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: С++ всё? Rust навсегда?
От: varenikAA  
Дата: 15.06.20 15:43
Оценка: +3
Здравствуйте, velkin, Вы писали:

V>Очень наивно, я могу на любом языке программирования написать отвратительную программу с кучей глюков. "Нет никаких доказательств того, что один и тот же программист налажав на C/C++ не налажает на других языках программирования".


Ну, на том же F#, если не использовать внешние dll, чистый код не сможет вызвать BSOD даже если вы второй день пишете на F#.
Да и на D такое сложно, ибо изначально проверка типов, особенно длины/границ массивов. Кажется в rust тоже проверка типов сильная.
Писали год назад один плагин для шифрования потока на плюсах, это конечно тихий ужас, настройка окружения одна чего стоит.
Зато сетевой поток сразу обрабатывается без лишних преобразований. Это с одной стороны круто. С другой, ушло много времени на отладку.
И все равно производительности для обработки видео с камеры 640x480 не хватало. Дефолтовый плагин шифровал через виндовый RSA, наш через CryptoPro.
У С++ слишком богатый синтаксис с неоднозначной семантикой. По моему скромному опыту.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: С++ всё? Rust навсегда?
От: Zhendos  
Дата: 15.06.20 15:58
Оценка: +1
Здравствуйте, varenikAA, Вы писали:

AA>Здравствуйте, Zhendos, Вы писали:


AA>
AA>#![feature(proc_macro_hygiene, decl_macro)]

AA>#[macro_use] extern crate rocket;

AA>#[get("/")]
AA>fn index() -> &'static str {
AA>    "Hello, world!"
AA>}

AA>fn main() {
AA>    rocket::ignite().mount("/", routes![index]).launch();
AA>}
AA>


И что с этим кодом не так? Количество строчек плюс-минус
столько же сколько в flask, да выглядит код практически точно также,
функция из одной строчки, аннотация это функции и однастрочная
"запускалка". В общем все стандартно, может на python будет на пару строчек
больше, а на ruby/sinatra на пару строк меньше, но в чем отличие и минус Rust?
Re[3]: С++ всё? Rust навсегда?
От: alexzzzz  
Дата: 16.06.20 11:48
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Ну, на том же F#, если не использовать внешние dll, чистый код не сможет вызвать BSOD даже если вы второй день пишете на F#.


BSOD вообще трудно вызвать, если нет аппаратных проблем и ты не пишешь драйвер. Уронить процесс в Access Violation на C# без unsafe и DllImport, я думаю, что смогу. Если можно на C#, скорее всего, на F# тоже можно. Правда это будет не случайность, а целенаправленное действие, которое ещё надо знать как провернуть.
Re[3]: С++ всё? Rust навсегда?
От: vdimas Россия  
Дата: 16.06.20 20:49
Оценка:
Здравствуйте, T4r4sB, Вы писали:

TB>А я уже энцатый месяц трахаюсь с проектом, в котором надо постоянно проводить операции над графом, при этом не нарушая инварианты, некоторые из которых очень трудно сформулировать.


Отбрасывай, сокращай, ограничивай.
Чем больше ограничений, тем проще система.
Re: С++ всё? Rust навсегда?
От: LuciferSaratov Россия  
Дата: 16.06.20 21:12
Оценка: +1
Здравствуйте, varenikAA, Вы писали:

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

я пытался прикинуть, куда раст приткнуть в моей сфере — в игровой разработке.
его преимущества в играх были бы как нельзя кстати.
но получилось, что, в общем-то, пока никуда, а жаль.
Re: С++ всё? Rust навсегда?
От: vsb Казахстан  
Дата: 17.06.20 08:40
Оценка: +1 :)))
Думаю да, у Rust есть все шансы стать последним ЯП, сложно придумать что-то лучше.
Re[2]: С++ всё? Rust навсегда?
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 17.06.20 09:08
Оценка:
Здравствуйте, LuciferSaratov, Вы писали:

LS>я пытался прикинуть, куда раст приткнуть в моей сфере — в игровой разработке.

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

Ты видел какой они код пишут???

Когда я работал в Автодеске, в соседнем от нас здании сидел Ubisoft Singapore и их разработчики к нам часто приходили на собеседования. Такого кошмарного подхода к разработке как в играх вообще нигде нет, как мне кажется. Язык где надо очень много думать над структурой твоего кода и всячески ублажать borrow checker в коммерческих и успешных играх не взлетит. Там мало того, что надо по максимуму минимизировать фрагментацию памяти, пусть и в ущерб поддерживаемости решения, так еще и сделать все вчера, а лучше неделю назад.
Re[3]: С++ всё? Rust навсегда?
От: LuciferSaratov Россия  
Дата: 17.06.20 09:18
Оценка:
Здравствуйте, kaa.python, Вы писали:

KP>Ты видел какой они код пишут???


в среднем по больнице, наверное, всё так и есть.
но я вижу также, что есть и ответственные люди в этой сфере и вполне уверен, что преимущества Rust были бы ценны.
в работе попадался совершенно разный код, есть и очень хорошие примеры, явно сделанные опытными людьми.
Re[2]: С++ всё? Rust навсегда?
От: L.K. Марс  
Дата: 17.06.20 09:46
Оценка: +3
МГ>в гораздо (порядок/порядки) большей степени зависит от квалификации инженеров и менеджеров, нежели от инструмента. Профессионалы высокого класса могут и на Си (без классов) написать стабильный и безопасный код, обложившись линтерами, тестами

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

Потому что армию стрельцов (массовую армию) можно обучить за пару недель ("сыплешь туда порох, засовываешь пулю, поджигаешь фитиль, целишься"). А для стрельбы из лука нужна многолетняя каждодневная тренировка. Т.е. профессиональных лучников будет мало.
Re[3]: С++ всё? Rust навсегда?
От: Ops Россия  
Дата: 18.06.20 10:07
Оценка:
Здравствуйте, L.K., Вы писали:

LK>Потому что армию стрельцов (массовую армию) можно обучить за пару недель ("сыплешь туда порох, засовываешь пулю, поджигаешь фитиль, целишься"). А для стрельбы из лука нужна многолетняя каждодневная тренировка. Т.е. профессиональных лучников будет мало.


Так битва не насмерть. И когда лучники научатся, они начнут убивать стрельцов еще на этапе насыпания пороха.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[4]: С++ всё? Rust навсегда?
От: L.K. Марс  
Дата: 18.06.20 10:30
Оценка:
Ops>Так битва не насмерть. И когда лучники научатся, они начнут убивать стрельцов еще на этапе насыпания пороха.

Я же говорю: квалифицированных лучников будет мало. Это дорогой юнит.

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