PascalABC.Net совершенно непригоден для начального обучения программированию.
А можно поинтересоваться, кто Вы по профессии - школьный учитель или преподаватель вуза? Какой у Вас опыт обучения детей программированию? Или это было Ваше личное мнение?
Стало быть, первым языком программирования должен быть Паскаль, каким его создал Н.Вирт? Без строк, без динамического распределения памяти, без классов, без библиотек, требующий реализации вручную простейших и постоянно повторяющихся алгоритмов. Делающий для массового школьника практически нереальным решение заданий ЕГЭ, связанных с динамическим программированием. Заставляющий с нуля каждый раз писать навязшую в зубах пузырьковую сортировку и нахождение максимумов/минимумов. Ведь ваше утверждение ведет именно к этому. А давайте тогда учить ассемблер? Это еще больше углубит понимание процессов, лежащих в основе.
Нет, уважаемый, предлагаемое Вами - это попытка продолжать увеличивать отставание уровня образования наших школьников и студентов от требований сегодняшнего дня. Где требуется не понимание того, как биты в компьютере располагаются, а умение оперировать объектами, как целым. Байт в массовом школьном обучении - это давно уже не кирпичик в программировании, теперь кирпичик - объект. В решении множества повседневных задач сегодняшнего дня школьник с базовой информатикой, с хорошим знанием электронной таблицы и текстового процессора добьется куда больше, чем тот, который закончил углубленку на Турбо Паскаль. Школьная информатика готовит не программистов. Прежде всего, она готовит грамотных пользователей средств вычислительной техники. Небольшая часть которых затем станет студентами вузов, готовящих программистов. И нельзя ради этой небольшой части всех школьников напрягать пузырьковыми сортировками.
Вы много общались с учителями информатики? Вы слышали их претензии к программе по информатике? К учебникам с Турбо Паскалем? Вы знаете, почему они массово кинулись переучиваться на Пайтон? Да им всего лишь насточертел этот Турбо Паскаль с бесконечным переписыванием ненужных для дела конструкций! Или Вам куда важнее выказывать свою стойкую привязанность к TP/BP/FPC ?
Теперь о PascalАВС.NЕТ.
Во-первых, никто не мешает на нем писать в стиле Н.Вирта. Да, в нем не поработаешь с указателями (как и в любом другом .NET-языке) из-за особенностей .NET-среды. Но современные языки программирования давно отошли от этой концепции: в них применяется ссылочная объектная модель и это мэнстрим, нравится Вам это или нет. Вы как себе представляете работу со ссылками в языке, за который ратуете? Никак? Типа, было хорошо для наших дедов, будет хорошо и для нас?
Во-вторых, показав
один раз реализацию сортировки или чего-то другого, можно затем пользоваться встроенной в язык, экономя время и не занимаясь постоянно тупым копированием кода. Это делает обучение более эффективным, экономя время на разбор более важных и нужных вещей. Теперь можно показать и научить пользоваться динамическими структурами, контейнерами, разобраться с абстрактными типами данных. И все это, не меняя сетки часов, отведенных для изучения информатики.
В третьих, это еще и помощь при сдаче ЕГЭ. Умея писать короткий, но емкий и алгоритмически понятный код, в котором вероятность ошибиться крайне невысока, школьник получает экономию времени и снижение экзаменационного стресса. А это очень важные факторы.
В четвертых, как Вы сами заметили, такой паскаль - фактически C#, который изучается в большинстве вузов. И школьник придет туда, уже зная концепции .NET среды и умея пользоваться ее библиотеками. Переход на C# происходит в кратчайшие сроки и безболезненно. Это плохо, верно же? ))
И последнее. Паскаль - простой язык, если он Turbo Pascal. Простой, потому что он использует минимум синтаксических конструкций и примитивов. Простой настолько, что в нем сложно написать что-нибудь не совсем простое, посему от него и отказались. Паскаль - если он PascalАВС.NЕТ - язык, имеющий такую сложность, какую вы сами от него захотите получить.