LINUX.ORG.RU

История изменений

Исправление tailgunner, (текущая версия) :

В каком языке 20 лет назад ты использовал дженерики, трейты и ADT?

В Паскале, Аде и Си

В Паскале и Си нет дженериков, трейтов нет нигде в перечисленных.

Хотя ты мне сейчас скажешь, что вариантные типы - это не алгебраические типы данных

Не скажу. Tagged unions - это, ИМХО, что-то очень близкое (хотя, возможно, не эквивалентное с точки зрения CS), но из перечисленных языков приличные tagged unions разве что в Аде.

структура с указателями на функции - это не трейты

Абсолютно не трейты.

раст - лишь синтаксический сахар

В Rust есть еще и концепция управления памятью, а это ни с какой стороны не синтаксис (да и называть тот же Си++ «синтаксическим сахаром» над Си - это, как бы это помягче, понты).

Исходная версия tailgunner, :

В каком языке 20 лет назад ты использовал дженерики, трейты и ADT?

В Паскале, Аде и Си

В Паскале и Си нет дженериков, трейтов нет нигде в перечисленных.

Хотя ты мне сейчас скажешь, что вариантные типы - это не алгебраические типы данных

Не скажу. Tagged unions - это, ИМХО, это что-то очень близкое (хотя, возможно, не эквивалентное с точки зрения CS), но из перечисленных языков приличные tagged unions разве что в Аде.

структура с указателями на функции - это не трейты

Абсолютно не трейты.

раст - лишь синтаксический сахар

В Rust есть еще и концепция управления памятью, а это ни с какой стороны не синтаксис (да и называть тот же Си++ «синтаксическим сахаром» над Си - это, как бы это помягче, понты).