LINUX.ORG.RU

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

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

типы != ограничения на типы && типы != абстрактные безопасные типы

У тебя Си головного мозга. На уровне высокоуровневого ЯП нет никакой аппаратной реализации, зато есть логические сущности, например «число от минус двух до пяти», или «строка с числом символов, равным значению параметра функции». Типы в Си такие, какие они есть, именно потому, что это препроцессор к асму, который гвоздями прибит к железу, с минимальной переносимостью. Хуже того, эти самые типы кочуют из языка в язык с минимальными изменениями.

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

Исправление byko3y, :

типы != ограничения на типы && типы != абстрактные безопасные типы

У тебя Си головного мозга. На уровне высокоуровневого ЯП нет никакой аппаратной реализации, зато есть логические сущности, например «число от минус двух до пяти», или «строка с числом символов, равным значению параметра функции». Типы в Си такие, какие они есть, именно потому, что это препроцессор к асму, который гвоздями прибит к железу, с минимальной переносимостью. Хуже того, эти самые типы кочуют из языка в язык с минимальными изменениями.

Те же алгебраические типы данных (ADT) — лютая годнота. Самый элементарный пример ADT — это указатель с опциональным значением NULL. Но ADT может быть еще, например, типа «строка или число». Когда ты вводишь подобные типы в сложные структуры, то у тебя внезапно возникает возможность описать сложнейшие байтовые структуры точными типами.

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

типы != ограничения на типы && типы != абстрактные безопасные типы

У тебя Си головного мозга. На уровне высокоуровневого ЯП нет никакой аппаратной реализации, зато есть логические сущности, например «число от минус двух до пяти», или «строка с числом символов, равным значению параметра функции». Типы в Си такие, какие они есть, именно потому, что это препроцессор к асму, который гвоздями прибит к железу, с минимальной переносимостью. Ухже того, эти самые типы кочуют из языка в язык с минимальными изменениями.

Те же алгебраические типы данных (ADT) — лютая годнота. Самый элементарный пример ADT — это указатель с опциональным значением NULL. Но ADT может быть еще, например, типа «строка или число». Когда ты вводишь подобные типы в сложные структуры, то у тебя внезапно возникает возможность описать сложнейшие байтовые структуры точными типами.