Я что-то (временно?) перестал понимать почему люди хотят заменить C в качестве системного языка. Да и что такое "системный язык" тоже перестал понимать.
Но если уж фантазировать на эту тему, то понятно, что есть 2 аспекта, и они почти не пересекаются. Одно дело, теоретически (принципиально) более оптимальный язык для современного железа и какого-то круга "системных" задач. Другое дело - язык, способный заменить огромное количество C/C++ кода на практике, т.е. которым согласятся пользоваться большие массы "системных программистов".
При этом теоретически стройный и эффективно компилирующийся язык сделать-то не проблема, но пользоваться им никто всё равно не будет. Есть же пример ATS прямо перед глазами уже не мало лет.
А на практике Rust не так уж сильно отличается от C с одной стороны, но при этом предлагает значительные преимущества с другой. Поэтому сейчас - самый реалистичный претендент.
C'est la vie. 🤷♀️ 😊
ATS - эффективный, но стройный? Там же дичь дикая в синтаксисе. Читать этот код даже с поллитрой очень тяжело. Система типов там, конечно, кое что гарантирует, но не всё, особенно в арифметике. Поэтому код вычитывать надо, а это легко выворачивает мозг наизнанку.
Судьба Rust лично мне не очень понятна. Он концептуально тяжелее Си. При чём, в неправильном месте: на нём тяжело писать эффективные алгоритмы на сложных структурах данных. А борется он с теми проблемами, которые в мире Си легко решает POSIX-операционка. Rust, поэтому, хорошо было бы нацеливать на что-нибудь типа Boot 2 Gecko, в котором можно говорить: хопа-хопа, смотрите, у нас тут нет ядра и барьеров между userspace и железом. Но тогда у пользователей надо отбирать unsafe, а без unsafe в Rust ещё тяжелее.
Легче в таком Boot 2 Gecko писать на JavaScript. При чём, не факт, что будет потеря производительности. JavaScript нынче удивительно хорош. В общем, мне кажется, Rust будет нишевым языком. А следующая операционка будет жабаскриптовой. Вон там автор Android пилит что-то такое уже.