[Freeschool] Pascal vs. C (was Re: чему стоит учить в школе)
Andrey V Stolyarov
=?iso-8859-1?q?crocodil_=CE=C1_croco=2Enet?=
Вс Окт 26 20:36:03 MSK 2008
On Sat, 25 Oct 2008, Anton Farygin wrote:
> не понимаю, чем паскаль в этом случае лучше C ? Поясните несведущему..
> мне всегда казалось, что Pascal намного сложнее.
Хотя бы тем, что в Паскале имеют место быть полноценные массивы,
а не заплатка в виде арифметики указателей. Это позволяет, в
частности, использовать массивы, _не_ вводя указателей вообще,
как таковых. Кроме того, это позволяет избежать необратимых
повреждений детских мозгов на тему "массив и его адрес суть одно
и то же" (ни хрена оно не одно и то же, просто в Си _нет_ никаких
массивов, это всё обман трудящихся).
Далее, в Паскале есть var-параметры, которые, опять таки, очень
легко объяснить, не употребляя слово "адрес". В Си мы вынуждены
впервые употребить слово "адрес", объясняя функцию scanf, ибо
иначе никак, а scanf требуется уже на втором-третьем уроке. Не,
ну то есть мы можем, конечно, ученикам сказать, что вот эта вот
закорючка, которая называется непонятным словом "амперсанд",
означает что-то очень сложное, но в общем её тут обязательно надо
поставить, ага. Только от таких объяснений деткам легче не
станет.
Конечно, в полноценном курсе обучения мы рано или поздно
указатели введём -- но не на первых уроках. На первых уроках
ученики НЕ ГОТОВЫ вообще никак, ни психологически, ни
интеллектуально, к восприятию этой концепции.
Затем, в Паскале нет монстра по имени "препроцессор". И он там
-- вот какая штука -- нафиг не нужен. И это хорошо и правильно.
Даже для профессионального языка, а для учебного и подавно.
И строки в Паскале можно складывать. Не в стандарте, конечно, но
во всех известных реализациях можно.
NB: я не к тому, что Паскаль лучше Си "вообще" -- это не так, я
сам пишу на Си и Си++, а вовсе не на Паскале. НО! В качестве
_учебного_ языка Паскаль приемлем, а Си -- категорически
непригоден. Ещё хуже, чем бейсик. Руки отрывать за обучение
школьников Си (ну, исключая вариант, когда сначала всё-таки
Паскаль, а Си излагается уже для подготовленной аудитории,
имеющей к этому времени навыки программирования и определённое
понимание программистской культуры -- но такое возможно разве что
в кружках, а не для всех школьников). Тут я очень хорошо знаю, о
чём говорю, ибо мне самому с завидной регулярностью приходится
бороться с последствиями такого обучения.
--
avst
Подробная информация о списке рассылки Freeschool