Мнения о преподавании языков программирования в школе

 

Бейсик и Паскаль

Когда-то наиболее популярными языками программирования в школах мира были Бейсик и Паскаль. Бейсик всегда считался самым простым языком программирования, а Паскаль — самым подходящим языком для обучения программированию. Но теперь это не так. Да, Бейсик прост. Но он создавался во времена, когда человечество не имело никакого опыта создания компьютерных систем, и основан на устаревших и не оправдавших себя принципах. Собственно, никакой фундаментальной целостной идеи в основе Бейсика не лежит. Сегодня есть простые и при этом более наглядные и идейно замкнутые языки программирования, нежели Бейсик. Паскаль удобен в учебных целях; ведь именно для них он и создавался. Студенты быстро учатся решать с его помощью алгоритмические задачки. Но так получается, что изучать Паскаль полезно только для того, чтобы писать программы на Паскалe. А если нужно создать настоящий программный продукт, Паскаль оказывается неудобен. И студентам, знающим только Паскаль, приходится переучиваться, что часто сложнее, нежели изучить правильные языки и технологии с нуля. Часто слышишь от преподавателей школ и вузов:

«Уж лучше Паскаль, чем Бейсик. И лучше Java, а не Паскаль: в Java есть сборка мусора, а это очень удобно для изучения программирования. А еще лучше какой-нибудь сценарный слабо типизированный язык. Там и сборка мусора есть, и в типах путаться не будут, всё будет просто и понятно.»

Но есть и другие мнения:

«Первый язык программирования должен быть требовательным к ученику. Необходимо, чтобы ученик имел чёткое представление о том, что его программа делает на каждом шаге, и уметь записывать алгоритмы на строгом формальном языке, без лишних поблажек, которые имеются, например, в языке Перл, где можно писать круглые скобки вокруг аргументов функций, а можно не писать, и делать другие подобные вещи. Первый язык должен быть cтрого типизированным, ибо смешение целых чисел, вещественных чисел и текстовых переменных приводит у начинающих программистов к неправильному представлению о методах хранения данных в памяти компьютера. Чем больше сообщений об ошибках ученики увидят от компилятора, и чем больше из этих сообщений они поймут, тем больше фундаментальных знаний о программировании они получат. Паскаль — неплохой язык в этом смысле. Особенно приятно, что в нём есть проверка на принадлежность индекса массива допустимому множеству значений. Это школьникам очень полезно. Но Паскаль редко применяется на практике, и специалист по паскалю оказывается мало востребованным на рынке труда; для реальной работы приходится учить более популярный язык[1] (Java, C/C++, PHP и т.д.). С языком Си другая проблема: в нём много отпугивающих конструкций. С другой стороны, никто не заставляет учителей показывать все глубины Си. С ним можно[источник?] работать на том же уровне, что и с Паскалем, не занимаясь сложными махинациями c указателями и не используя сложных конструкций.»

«Язык Бейсик, используемый сейчас в большинстве школ, просто вреден как для будущих программистов, так и для обычных школьников. Он не имеет никакой системы отладки[источник?], не имеет контроля типов и не требует явного объявления переменных. Это приводит к тому, что ученики не могут находить ошибки в своих программах. Ошибки, с которыми они встречаются, обычно неадекватны и создают у учеников отвратное представление о программировании вообще. Бейсик в принципе не пригоден для учебных, и тем более практических целей.»

«Скриптовые языки больше соответствуют потребностям среднего пользователя компьютера. Многие из существующих скриптовых языков имеют достаточно серьёзный идеологический фундамент, замкнутую модель, наглядный естественный синтаксис и хорошие учебные материалы с примерами, в том числе на русском языке. В первую очередь, я имею в виду языки ФортРуби и Питон

«Ныне школьникам приходится работать с морально устаревшими и неудобными системами Borland Pascal и Бейсик. Введение в школах более современных языков программирования автоматически поднимет уровень преподавания информатики, и уровень учителей тоже.»

«Если кто хочет заниматься программированием и идти дальше, желательно начать изучение с Паскаля, прорешивать задачи по циклам, массивам, матрицам и т.д. Когда базовые понятия уже будут заложены можно переходить на Borland Delphi, это тот же Паскаль, только там используется объектно-ориентированный подход. Этот язык имеет Ооо! какие возможности.»

Было время когда WEB странички писали ( т.е. программировали на языке HTML) в блокноте.

Сейчас используют WYSIWYG редакторы.

И получают вполне пристойный результат, не зная ни единого тега. Ясно, что те кто знают, могут залезть внутрь и код почистить, ускорив время загрузки, но это уже не обязательно.

Так может и в программировании процесс пойдёт тем же путём прогресса?!

Уча, учишься сам

На сегодняшний день в школах основным языком остается Паскаль.  Если ученик хочет стать программистом, то он сам изучает другие языки, и Бейсик в том числе. И никто не жаловался, что переучиватся трудно, а наоборот они сравнивают синтаксис языков и узнают глубже возможности языка. И еще, чтобы научится программировать можно выбирать любой язык, это вопрос неархиважный. Бейсик тоже может дать азы программирования.

Как и в естественных языках, чем больше языков программирования освоишь, тем легче изучать следующий. Замечательно работать с Visual Basic. Но, к сожалению, мы часто привязаны к ЕГЭ и ГИА. Поэтому процедурный Basic менее приемлем, чем Pascal  именно с точки зрения дисциплины прграммирования.

К Паскалю отношусь очень положительно. Некоторым детям действительно трудно, но, думаю, это проблема решаема. Базовые конструкции в состоянии освоить каждый ребенок, а вот требовать умение решать задачи со всех учеников по темам "массивы", "файлы", "записи" и т.д. необязательно. Думаю, что достаточно ограничиться типовыми задачами.

В 6-х классах немного приходится "говорить" и на Бейсике.

К теме алгоритмизация привлекаю исполнителей типа Робот, Чертежник, Черепаха.

Вопрос переучивания с одного языка на другой не составляет труда. Думаю, что профессиональному программисту разницу и особенности языков необходимо ощутить самому, а не по наслышке.

Для меня Паскаль - это классика!