[Freeschool] [JT] Re: чему стоит учить в школе

Denis Kirienko =?iso-8859-1?q?dk_=CE=C1_altlinux=2Eru?=
Вс Окт 26 21:27:23 MSK 2008


Andrey V Stolyarov пишет:

> Возьмите Лисп. Или Scheme. Не надо это делать на C++,
> правда-правда.  Я студентам-то говорю всегда, что не надо ни в
> коем случае хвататься за т.н. стандартную библиотеку C++ (всякие
> векторы и прочая муть), пока не научились программировать.
> Потому что это портит будущего специалиста безнадёжно, напрочь.

Спасибо, я вас совет выслушал, но следовать ему не буду. По большому 
ряду причин. Скажу только, что Scheme я рассматривал в свое время как 
учебный язык, но отверг.

И не надо думать, что я учу С++, и уж тем более, что я учу его 
стандартной библиотеке. Я учу программированию. Пример: пока школьник не 
напишет быструю сортировку массива про стандартный sort я ему не 
расскажу. А если он сам про него узнает - запрещу им пользоваться.

Другой пример - одно из первых учебных заданий: даны две строки. Нужно 
их сравнить на равенство, вывести YES, если они равны, вывести NO, если 
не равны. Проверка автоматическая.

Если особо сообразительный школьник напишет решение

string S1, S2;
cin>>S1>>S2;
if(S1==S2)
   cout<<"YES";
else
   cout<<"NO";

оно приниматься не будет. Ибо задача не на то, знает ли школьник, что в 
C++ две строки можно сравнивать при помощи ==. А на умение написать 
соответствующий алгоритм.

Так что меня C++ целиком и полностью устраивает. Не вижу причин 
отказываться от него. Так вектор для меня - это удобный массив, размер 
которого можно менять и размер которого можно узнать имея ссылку на сам 
вектор. Это гораздо проще, чем передавать в функции двойные указатели.
Больше мне от вектора ничего не нужно, кроме как сделать массивы более 
человечными и дружественными к программисту (на как в паскале, на 
который вы потом ссылаетесь).

--
Денис



Подробная информация о списке рассылки Freeschool