LINUX.ORG.RU

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

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

А че в паскале не так? Каждый же модуль компилируется, потом, на основании интерфейсной информации модуля, линкуется в бинарь

К моменту линковки в случае паскаля однозначно ясно, из какого модуля брать разрешаемую зависимость. В случае си же она начинает искаться по всему зоопарку библиотек - нет никакой логической связи между *.h (которые обработал ещё препроцессор) и *.a (которые обрабатывает уже линкер).

Зато есть возможность всеми этими процессами управлять

Управление тут нужно далеко не всегда. В тех же случаях, когда оно действительно нужно (сильно платформозависимый код и др.) - в современном паскале точно так же есть макроопределения, условная компиляция и инклуды. Такая кувалда для сложных случаев.

C/C++ же заставляют махать кувалдой всякий раз, когда хватило бы лёгенькой киянки.

P.S. О, оказывается, ты уже про молотки писал. Так вот, у хорошего мастера в инструментарии вполне может быть сильно больше одного молотка.

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

А че в паскале не так? Каждый же модуль компилируется, потом, на основании интерфейсной информации модуля, линкуется в бинарь

К моменту линковки в случае паскаля однозначно ясно, из какого модуля брать разрешаемую зависимость. В случае си же она начинает искаться по всему зоопарку библиотек - нет никакой логической связи между *.h (которые обработал ещё препроцессор) и *.a (которые обрабатывает уже линкер).

Зато есть возможность всеми этими процессами управлять

Управление тут нужно далеко не всегда. В тех же случаях, когда оно действительно нужно (сильно платформозависимый код и др.) - в современном паскале точно так же есть макроопределения, условная компиляция и инклуды. Такая кувалда для сложных случаев.

C/C++ же заставляют махать кувалдой всякий раз, когда хватило бы лёгенькой киянки.