История изменений
Исправление MOPKOBKA, (текущая версия) :
В Линукс давно уже нет концепции «всё – файл». Сейчас есть концепция «всё – fd».
Так было и до Linux, общая память, сокеты.
Это гораздо ближе к модели NT с хэндлами.
Там модель с объектами, которая работает иначе, в Windows сокеты не могут обрабатываться с помощью _write, _close.
на дизайн языка Си очень сильно повлиял ассемблер PDP-11.
Да. В Си нет ничего про ближние/дальние указатели и сегментную модель памяти, которая была в x86, например.
Деннис Ритчи писал что свой ассемблер для PDP-11 делали они тоже, поэтому синтаксические конструкции типа *b++ пришли из него действительно, но придумали они их сами. Поэтому влияние не такое сильное как можно предположить.
А если мы возьмём Лисп-машины или, ещё хуже, какой-нибудь iAPX432 с хардварной поддержкой ООП, там Си фактически с другой планеты будет.
В AS/400 есть опкод «создать базу данных». Для С там наверное есть as400.h или набор #pragma, как сделали для аппаратного zlib в POWER. В этом же и суть портабельности, что нету разных типов указателей и команд create_db().
Исправление MOPKOBKA, :
В Линукс давно уже нет концепции «всё – файл». Сейчас есть концепция «всё – fd».
Так было и до Linux, общая память, сокеты.
Это гораздо ближе к модели NT с хэндлами.
Там модель с объектами, которая работает иначе, в Windows сокеты не могут обрабатываться с помощью _write, _close.
на дизайн языка Си очень сильно повлиял ассемблер PDP-11.
Да. В Си нет ничего про ближние/дальние указатели и сегментную модель памяти, которая была в x86, например.
Деннис Ритчи писал что свой ассемблер для PDP-11 делали они тоже, поэтому синтаксические конструкции типа *b++ пришли из него действительно, но придумали они их сами. Поэтому влияние не такое сильное как можно предположить.
А если мы возьмём Лисп-машины или, ещё хуже, какой-нибудь iAPX432 с хардварной поддержкой ООП, там Си фактически с другой планеты будет.
В AS/400 есть опкод «создать базу данных». Для С там наверное есть as400.h или набор #pragma. В этом же и суть портабельности, что нету разных типов указателей и команд create_db().
Исправление MOPKOBKA, :
В Линукс давно уже нет концепции «всё – файл». Сейчас есть концепция «всё – fd».
Так было и до Linux, общая память, сокеты.
Это гораздо ближе к модели NT с хэндлами.
Там модель с объектами, которая работает иначе, в Windows сокеты не могут обрабатываться с помощью _write, _close.
Исходная версия MOPKOBKA, :
В Линукс давно уже нет концепции «всё – файл». Сейчас есть концепция «всё – fd».
Так было и до Linux, общая память, сокеты.
Это гораздо ближе к модели NT с хэндлами.
Там модель с объектами, которая работает иначе, сокеты не могут обрабатываться с помощью _write, _close.