вторник, 22 января 2008 г.

Любители CookBook

Читал заметку Компьютерно-лингвистическое в журнале Витуса и всё больше убеждался что что-то не так в обучении программированию в школе - в основном "военный разговорник"
Пришла мне в голову мысль, что "современные программисты" учат языки программирования примерно так, как учат иностранные языки матросы торгового флота - что-то перехватить у более опытных коллег, что-то - на опыте, набивая синяки и шишки (в случае матросов - часто в буквальном смысле) в процессе живого общения.

Тот способ которым привык учить языки программирования я, больше похож на изучение иностранного языка посредством систематического курса. Когда учатся не столько обиходные фразы, сколько правила грамматики, и это обязательно сопровождается экскурсом в культуру страны, породившей данный язык. Когда тексты, на которых набирается практика и словарный запас, взяты из произведений лучших писателей, писавших на этом языке. Т.е. не столько сам язык, сколько способ мышления, стоящий за ниим. В случае языков программирования это еще важнее - слова-то все у них одинаковые, а способ мышления различается сильнее, чем у разных народов.

Мне приходилось общаться с людьми, которые предпочитают "Perl Cookbook" Camel Book-у. Первая книга - это "военный разговорник", для людей изучающих язык первым методом. А Camel Book - как раз систематическое изложение. Лично мне, когда исчерпался запас знаний, почерпнутых из этой книги, потребовалась уже "Пантера".

Но вот в чем беда - для некоторых "мейнстримовых" языков по-моему, просто нет учебников, по которым бы их можно было учить привычным мне способом. Скажем, мне пока не удалось найти такой учебник по client-side скриптингу в Web. Все книги по Javascript, которые я видел, были именно "военными разговорниками", сборищами готовых рецептов.

А потом такого рода "моряки" приходят на олимпиады по программингу и показывают лучшие результаты 15 из 100.

"Может в консерватории что-то надо поправить?"