История изменений
Исправление byko3y, (текущая версия) :
типы != ограничения на типы && типы != абстрактные безопасные типы
У тебя Си головного мозга. На уровне высокоуровневого ЯП нет никакой аппаратной реализации, зато есть логические сущности, например «число от минус двух до пяти», или «строка с числом символов, равным значению параметра функции». Типы в Си такие, какие они есть, именно потому, что это препроцессор к асму, который гвоздями прибит к железу, с минимальной переносимостью. Хуже того, эти самые типы кочуют из языка в язык с минимальными изменениями.
В то же время алгебраические типы данных (ADT) — лютая годнота. Самый элементарный пример ADT — это указатель с опциональным значением NULL. Но ADT может быть еще, например, типа «строка или число». Когда ты вводишь подобные типы в сложные структуры, то у тебя внезапно возникает возможность описать сложнейшие байтовые структуры точными типами.
Исправление byko3y, :
типы != ограничения на типы && типы != абстрактные безопасные типы
У тебя Си головного мозга. На уровне высокоуровневого ЯП нет никакой аппаратной реализации, зато есть логические сущности, например «число от минус двух до пяти», или «строка с числом символов, равным значению параметра функции». Типы в Си такие, какие они есть, именно потому, что это препроцессор к асму, который гвоздями прибит к железу, с минимальной переносимостью. Хуже того, эти самые типы кочуют из языка в язык с минимальными изменениями.
Те же алгебраические типы данных (ADT) — лютая годнота. Самый элементарный пример ADT — это указатель с опциональным значением NULL. Но ADT может быть еще, например, типа «строка или число». Когда ты вводишь подобные типы в сложные структуры, то у тебя внезапно возникает возможность описать сложнейшие байтовые структуры точными типами.
Исходная версия byko3y, :
типы != ограничения на типы && типы != абстрактные безопасные типы
У тебя Си головного мозга. На уровне высокоуровневого ЯП нет никакой аппаратной реализации, зато есть логические сущности, например «число от минус двух до пяти», или «строка с числом символов, равным значению параметра функции». Типы в Си такие, какие они есть, именно потому, что это препроцессор к асму, который гвоздями прибит к железу, с минимальной переносимостью. Ухже того, эти самые типы кочуют из языка в язык с минимальными изменениями.
Те же алгебраические типы данных (ADT) — лютая годнота. Самый элементарный пример ADT — это указатель с опциональным значением NULL. Но ADT может быть еще, например, типа «строка или число». Когда ты вводишь подобные типы в сложные структуры, то у тебя внезапно возникает возможность описать сложнейшие байтовые структуры точными типами.