[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