История изменений
Исправление hobbit, (текущая версия) :
Ты уже не первый за него вступаешься. Поясняю — я не говорю, что препроцессор как мощный инструмент управления исходниками это плохо. Плохо, когда с помощью препроцессора начинают в каждом файле исходного кода говнякать элементарщину, для которой в других языках есть более подходящие (и более контролирующие результат) инструменты.
Простейший пример: если ты в объектном паскале забудешь uses, компилятор выругается, как только дойдёт до первого неизвестного символа. То же, ЕМНИП, будет, если в Java забыть import.
Если же ты в крестах или сях забудешь #include — результат зависит от фазы Луны. Точнее, от того, как в версии используемой библиотеки организованы заголовочники. Если твоя программа должна собираться на 3-4 платформах, возможны очень весёлые сюрпризы. Да, это ошибка программиста, но это такая ошибка, которую компилятор вполне может находить.
Интересно, кстати, как модульность будет организована в метапроге, если дело до неё дойдёт, конечно. :)
Исправление hobbit, :
Ты уже не первый за него вступаешься. Поясняю — я не говорю, что препроцессор как мощный инструмент управления исходниками это плохо. Плохо, когда с помощью препроцессора начинают в каждом файле исходного кода говнякать элементарщину, для которой в других языках есть более подходящие (и более контролирующие результат) инструменты.
Простейший пример: если ты в объектном паскале забудешь uses, компилятор выругается, как только дойдёт до первого неизвестного символа. Если же ты в крестах или сях забудешь #include — результат зависит от фазы Луны. Точнее, от того, как в версии используемой библиотеки организованы заголовочники. Если твоя программа должна собираться на 3-4 платформах, возможны очень весёлые сюрпризы. Да, это ошибка программиста, но это такая ошибка, которую компилятор вполне может находить.
Интересно, кстати, как модульность будет организована в метапроге, если дело до неё дойдёт, конечно. :)
Исходная версия hobbit, :
Ты уже не первый за него вступаешься. Поясняю — я не говорю, что препроцессор как мощный инструмент управления исходниками это плохо. Плохо, когда с помощью препроцессора начинают в каждом файле исходного кода говнякать элементарщину, для которой в других языках есть более подходящие (и более контролирующие результат) инструменты.
Простейший пример: если ты в объектном паскале забудешь uses, компилятор выругается, как только дойдёт до первого неизвестного символа. Если же ты в крестах или сях забудешь #include — результат зависит от фазы Луны. Точнее, от того, как в версии используемой библиотеки организованы заголовочники. Если твоя программа должна собираться на 3-4 платформах, возможны очень весёлые сюрпризы. Да, это ошибка программиста, но это такая ошибка, которую компилятор вполне может находить.