The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"В ядро Linux 5.12 принята подсистема KFence для выявления ош..."
Отправлено Совершенно другой аноним, 02-Мрт-21 10:16 
> Ну то есть эта штука не кросплатформенна

На тот момент было: "а других кроссплатформенных языков у меня для Вас нет" (с).

Мне кажется, Вы всё-таки, пытаетесь оценивать без учёта тогдашней специфики:
- тогда было больше аппаратных архитектур - тяжелее было договориться производителям аппаратуры между собой - каждый гнул свою линию и не хотел подстраиваться под других - ведь уже в аппаратуре реализовано так, и никто под компилятор переделывать железо не будет. Что говорить, что тот-же представление float/double более-менее стандартизировали в 85-то году;
- тогда было гораздо больше разработчиков компиляторов, и C в частности, причём каждый из которых скорее всего ориентировался на свою родную аппаратную архитектуру, а другие плевал с большой колокольни (даже сейчас маленькая фирма Microsoft, которая активно участвует в разработке стандартов на язык C не реализовала у себя даже C99, не говоря об более новых C11 и д.р.). На одной платформе x86 были и borland C/C++, и несколько компиляторов от Microsoft, и Intel-евский компилятор, GCC, Watcom C/C++, Digital Mars C/C++ и, небось, ещё пяток компиляторов, про которые сейчас никто даже и не вспомнит;
- железо было, по сегодняшним меркам, очень слабое и заставить какую-то из аппаратных платформ делать что-то дополнительно, только для абстрактной совместимости, которая пользователям этого железа была не нужна, ну или явно не просматривалась, было тяжеловато.

С другой стороны у Rust сейчас:
- аппаратных архитектур, по сравнению со всем тем многообразием - раз два и обчёлся - кто там остались. В Rust более-менее нормально поддерживаются только 686, x86-64 и aarch64, без тестов (т.е. без гарантии того, что они хоть что-то правильно там компилируют) - arm, mips*, sparc*, power, riscv, 586.
- всего одна реализация компилятора, без всяких стандартов и необходимости хоть с кем-нибудь договариваться;
- аппаратное обеспечение гораздо мощнее, что позволяет как наворачивать сам компилятор, так и программно всех "стандартизировать" - добиваться того, что с точки зрения программы на разных аппаратных платформах она ведёт себя абсолютно одинаково - например нормализуя результат для тех платформ, которые по какой-либо причине выбиваются из строя.

Так-что, имхо, сравнивать в каких условиях развивался C, а в каких Rust не совсем корректно.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру