По соцсетям гуляет контроверсивный ролик с недавнего Rails World, в котором DHH со сцены странным голосом произносит фразу «Rust is [an] amazing [language] if you never, ever, ever, ever, have to look at it yourself». Я, если честно, не знаю, в чем конкретно все остальные видят контроверсивность, каюсь, не слежу (ну, кроме его фашистских взглядов, понятно), но с утверждением хотел бы поспорить.
Тезис, как я понимаю, в том, что раз код теперь пишет ЛЛМ, то нам пофиг более-менее на эстетические чувства тупой машины и на то, насколько она устанет. А раз пофиг, надо язык по характеристикам выдаваемого результата выбирать. Ну и понятно, что хоть на Руби писать и приятнее, но на Расте зато программы быстрее получаются, а значит надо брать Раст. (Вот это да, программист начал думать об удобстве пользователя, а не об удобстве программиста??? Последние времена настают).
Ну, короче. Программы на Расте, конечно, быстрые получаются. НО! В чем вообще было видение Раста? В том, чтобы понаставить везде заборов и ограждений и помешать программисту сконструировать некорректную программу. Не неправильную — этих можно конструировать сколько угодно — а именно некорректную. Делает он это ценой значительного такого мозгоебства, которое запрещает, конечно, по построению некорректные программы, но также и многие корректные, которые я тебе или ты мне могли бы объяснить, но никто из нас не смог бы объяснить компилятору. Короче говоря, Раст это не просто безопасный язык, это безопасный язык с довольно неудобными ограничениями, которые предлагается терпеть во имя высшей цели — корректности. Не правильности, опять напоминаю, а корректности.
Ну вот. Понятно, зачем это нужно человеку. Человек слаб. Он ошибается тут и там. Память течет направо и налево. Сегфолт за сегфолтом, эксплойт за эксплойтом. Но это человек. Понятно, ему нужен Руби^W Раст.
А что ЛЛМ? А ЛЛМ, на самом деле, пофиг. Она мало того, что пишет сразу правильно и допускает меньше ошибок, так она еще и не ленится: может и проверить, и поревьюить, и баги поискать. И в этом смысле совсем неочевидно, что вот эти вот страховочные сетки, расставленные в Расте тут и там, обязательно помогают. Если ты сразу видишь и пишешь корректную программу, они даже скорее мешают. Без борьбы с борроу чекером можно сгенерировать корректную быструю программу в несколько раз быстрее, потом еще проверить, и в конце суммарно меньше устать.
Так что я думаю, что Раст, конечно, эмейзинг, но лучший язык для ЛЛМ это все-таки Си.
Post #4485
1.34K
Forwarded from Стой под стрелой (Nikita Prokopov)
- 🤡 39
- 💯 21
- 🔥 6
- 😁 4
- ❤ 3
- 🗿 2
- 👍 1