История изменений
Исправление no-such-file, (текущая версия) :
Это уже проектирование приложений
Нет, это не проектирование. Это обычное программирование, когда нужно учитывать все возможные варианты утечек, исключений, переполнений буфера и прочих исключительно технических моментов. Я не видел ни одной учебной программы на Си, где обрабатывались бы все возможные ошибки, да ещё кроссплатфоремнно. И я не утверждаю, что это обязательно делать при обучении, но ТС выдвигает аргумент о «настоящем» программировании - тогда извольте писать и на Си по-настоящему, а уж использование паскаля в качестве «настоящего» языка звучит просто смехотворно.
всё, что собирает управляемый код - делает еще что-то кроме того, что ему говорят
Он ничего такого не делает. Считайте, что все динамические переменные просто утекают. В конце-концов учебные программы на Си тоже пишутся так - главное напечатать «привет мир», а там будь что будет.
Ну и ещё, ваши потуги выдать знание механизма работы с динамической памятью в Си за что-то необходимое выглядят странно, т.к. на самом деле это знание ограничивается применением malloc/free и арифметикой указателей. Но если студента интересует действительные алгоритмы управления динамической памятью, то встроенные указатели не имеют никакого и преимущества перед обычными массивами с косвенной адресацией через переменную. Напротив, использование массива, как абстракции кучи, гораздо более наглядно и никакие указатели, встроенные в язык, для этого не нужны - это можно и на самом древнем фортране изучить и на джаве с gc. Даже полезнее, т.к. не привязано к конкретной модели памяти.
Исходная версия no-such-file, :
Это уже проектирование приложений
Нет, это не проектирование. Это обычное программирование, когда нужно учитывать все возможные варианты утечек, исключений, переполнений буфера и прочих исключительно технических моментов. Я не видел ни одной учебной программы на Си, где обрабатывались бы все возможные ошибки, да ещё кроссплатфоремнно. И я не утверждаю, что это обязательно делать при обучении, но ТС выдвигает аргумент о «настоящем» программировании - тогда извольте писать и на Си по-настоящему, а уж использование паскаля в качестве «настоящего» языка звучит просто смехотворно.
всё, что собирает управляемый код - делает еще что-то кроме того, что ему говорят
Он ничего такого не делает. Считайте, что все динамические переменные просто утекают. В конце-концов учебные программы на Си тоже пишутся так - главное напечатать «привет мир», а там будь что будет.