LINUX.ORG.RU

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

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

препроцессор Си => препроцессор асма => асм => линкер

Так можно сказать про любой компилятор.

Огромное количество артефактов сишки вызвано именно тем, что это просто-напросто нашлёпка над асмом, в том числе нуль-терминированные строки были родными для асма PDP

Это все не делает ЯП низкоуровневым. PDP давно стал историей, но нуль-терминированные строки до сих пор здесь, хотя ни для x86 ни для ARM они не являются чем-то родным. А сишку, тем не менее, зачем-то продолжают ставить в один ряд с асмом.

паскаль было жавой своего времени, максимально платформонезависимым ЯП с настолько безопасной памятью, насколько было приемлимо для того времени

Единственное средство защиты памяти, которое было тогда в рантайме у паскаля – контроль выхода за границы массивов. Все. Принципиально не понимаю, что помешало ввести аналогичную фичу в C, кроме нежелания уподобляться «клятому паскалю».

FPC разрешает арифметику над Pointer, которую Delphi, если я не ошибаюсь, запрешает до сих пор (разрешена только типизованная).

Арифметика указателей через кастинг к LongInt была доступна даже в TP под DOS. Начиная с Delphi 2009 она ровно на том же уровне, что и в C.

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

препроцессор Си => препроцессор асма => асм => линкер

Так можно сказать про любой компилятор.

Огромное количество артефактов сишки вызвано именно тем, что это просто-напросто нашлёпка над асмом, в том числе нуль-терминированные строки были родными для асма PDP

Это все не делает ЯП низкоуровневым. PDP давно стал историей, но нуль-терминированные строки до сих пор здесь, хотя ни для x86 ни для ARM они не являются чем-то родным. А сишку, тем не менее, зачем-то продолжают ставить в один ряд с асмом.

паскаль было жавой своего времени, максимально платформонезависимым ЯП с настолько безопасной памятью, насколько было приемлимо для того времени

Единственное средство защиты памяти, которое было тогда в рантайме у паскаля – контроль выхода за границы массивов. Все. Принципиально не понимаю, что помешало ввести аналогичную фичу в C, кроме нежелания уподобляться «клятому паскалю».

FPC разрешает арифметику над Pointer, которую Delphi, если я не ошибаюсь, запрешает до сих пор (разрешена только типизованная).

Арифметика указателей через кастинг к uint была доступна даже в TP под DOS. Начиная с Delphi 2009 она ровно на том же уровне, что и в C.