LINUX.ORG.RU

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

Исправление no-such-file, (текущая версия) :

Это уже проектирование приложений

Нет, это не проектирование. Это обычное программирование, когда нужно учитывать все возможные варианты утечек, исключений, переполнений буфера и прочих исключительно технических моментов. Я не видел ни одной учебной программы на Си, где обрабатывались бы все возможные ошибки, да ещё кроссплатфоремнно. И я не утверждаю, что это обязательно делать при обучении, но ТС выдвигает аргумент о «настоящем» программировании - тогда извольте писать и на Си по-настоящему, а уж использование паскаля в качестве «настоящего» языка звучит просто смехотворно.

всё, что собирает управляемый код - делает еще что-то кроме того, что ему говорят

Он ничего такого не делает. Считайте, что все динамические переменные просто утекают. В конце-концов учебные программы на Си тоже пишутся так - главное напечатать «привет мир», а там будь что будет.

Ну и ещё, ваши потуги выдать знание механизма работы с динамической памятью в Си за что-то необходимое выглядят странно, т.к. на самом деле это знание ограничивается применением malloc/free и арифметикой указателей. Но если студента интересует действительные алгоритмы управления динамической памятью, то встроенные указатели не имеют никакого и преимущества перед обычными массивами с косвенной адресацией через переменную. Напротив, использование массива, как абстракции кучи, гораздо более наглядно и никакие указатели, встроенные в язык, для этого не нужны - это можно и на самом древнем фортране изучить и на джаве с gc. Даже полезнее, т.к. не привязано к конкретной модели памяти.

Исходная версия no-such-file, :

Это уже проектирование приложений

Нет, это не проектирование. Это обычное программирование, когда нужно учитывать все возможные варианты утечек, исключений, переполнений буфера и прочих исключительно технических моментов. Я не видел ни одной учебной программы на Си, где обрабатывались бы все возможные ошибки, да ещё кроссплатфоремнно. И я не утверждаю, что это обязательно делать при обучении, но ТС выдвигает аргумент о «настоящем» программировании - тогда извольте писать и на Си по-настоящему, а уж использование паскаля в качестве «настоящего» языка звучит просто смехотворно.

всё, что собирает управляемый код - делает еще что-то кроме того, что ему говорят

Он ничего такого не делает. Считайте, что все динамические переменные просто утекают. В конце-концов учебные программы на Си тоже пишутся так - главное напечатать «привет мир», а там будь что будет.