Не уверен насчет «во многом», но такие люди, естественно, есть. И... что это доказывает?
А должно доказывать? Не думаю.
Я так и думал, что это не доказывает ровно ничего.
А вообще я рассчитываю на появление subset от Go без GC
Продолжай рассчитывать.
либо некоего языка inspired by Rust, но с более человеческим дизайном.
У языка, решающего задачи, которые решает Rust, будет ровно такой же дизайн. И просто для протокола: перестань путать дизайн и синтаксис. Да, ты их путаешь.
Если ты не способен понять, что никакого идеального решения не существует
Пошла ахинея. Какое еще идеальное решение, о чем ты вообще и зачем.
и решать задачи можно разным способом
Всем пофиг, как ты будешь решать задачу - важно только итоговое решение. А все решения этой задачи будут различаться так же, как решения дифура - на константу
Если тебя постоянно не понимают, подумай о том, умеешь ли ты выражать свои мысли.
Если ты неправильно понимаешь
Я понимаю буквально. То, что это не соответствует тому, что ты хотел сказать - твоя проблема.
Для моего текущего проекта мне нужно: дешёвый FFI в обе стороны, отсутствие GC, маленький размер бинаря, статический бинарь.
По-настоящему статический, т.е. с musl? (А как там под виндой с этим?) В Debian rust ставится не по-умолчанию, но это ладно. А пакета rust+musl нет вообще.
GC мешает так что заметно на глаз (что же это за задача тогда?) или только в бенче, или профайлинга и не было?
У меня статические бинарники с веб-фреймворком на Rust (Actix) с musl и LibreSSL занимают от 4 до 7 МБ. Stripped, armv7l. Очень хорошо, учитывая что они лежат в голом докер контейнере в котором только CA сертификаты для https клиента
Обоснуй получше почему фанбойство. Приведи примеры языка без рантайма и без gc с такими же гарантиями работы с памятью и многопоточных кодом и с zero cost abstractions.
Оно того стоило, серваки с вебней жрут по 5 МБ памяти и работают со скоростью nginx
Покажи что за вебня. А то может все решается lua-модулем для nginx, а ты стоя на лыжах в гамаке наваял неподдерживаемую нетленку, потому что раст это огогого.
Ядро ОС? Простой ответ - нет. Но если подумать, то это только используя существующую реализацию.
Непонятно как отделить раст от от конкретной реализации, ведь он не стандартизирован. Но вполне себе можно представить реализацию в которой есть сейфовые, или полусейфовые интринсики компилятора для всяких ассемблерных штучек.
Почему нет? Нельзя написать ОС целиком на Safe Rust.
потому, что вы своего собеседника не читаете:
И/или можно написать аналог trusted computing base как здесь на unsafe rust, а поверх этого написать все остальное без unsafe и назвать это остальное ядром
Собеседник сначала сказал «нет», а потом дал длгое объяснение, которое сводилось к «да, но не на Safe Rust». Я предложил так отвечать сразу, потому что unsafe Rust - это тоже Rust.
Синтаксис у Раста с одной стороны трудночитаемый, но с другой стороны - очень информативный и компактный. Так что проблема непосредственно чтения компенсируется быстрым вниканием в то, что происходит в коде. Так что я проблем при чтении чужого кода на Rust не испытываю.
Зачастую читаю исходники библиотек, которые использую - это бывает быстрее и проще, чем лезть в документацию. А в документации - опять же, удобно, что можно сразу по ссылке перейти на соответствующее место в коде.
Я понимаю, что со стороны синтаксис Rust'а может выглядеть кошмаром - мне и самому он не нравился, когда я начал переходить на Rust (переходил из-за его технических, а не гуманитарных преимуществ). Но с опытом перестал замечать проблемы чтения, опять-таки из-за информативности, которая помогает быстро понять, что происходит в коде.