Читать «Идиомы и стили С++» онлайн
Albert Makhmutov
Albert Makhmutov
Идиомы и стили С++
Шаг 1 - Введение. Зачем все это надо и что это такое.
Чтобы сразу пояснить свой план, сообщу - здесь и далее я собираюсь вместе с Вами разобрать следующие темы:
1. Объекты-указатели на другие объекты.
2. Объекты-интерфейсы к другим объектам.
3. Использование шаблонов как средства безопасности.
4. Массивы данных, итераторы и курсоры.
5. Нестандартное управление памятью.
6. Разное.
Давайте посмотрим, что мы имеем на этот день. Если Вы добрались сюда, и начали читать, значит Вы облазили FirstSteps по всем разделам, вероятно, списали часть разделов себе на винчестер, и держите на столе пачку книг по программированию. Предполагаю так же, что Вы имеете за своей спиной 2-4 работающих проекта на FoxPro, Delphi или C/C++. То есть опыт имеете, но супермастером себя ПОКА не считаете. Но почему, собственно? Что нам мешает? Разве в Lotus или Microsoft работают одни гении (звучит прикольно, кстати)? Почему какие-то ребята вполне способны написать Windows или PhotoShop, или там DeltaForce, а нам то что мешает? Вы только подумайте - С++ изобрел один Бьярн Страуструп. Один! И перевернул мир. А STL придумал Алексей Степанов. Один. Сейчас в Хьюлет-Паккарде сидит. Тоже мир перевернул. (Если не верите, сравните второе и третье издание Страуструпа, "Язык программирования С++").
Похоже где-то есть неслабый пробел. Ну, может Вас, в институте учили разным штучкам и фенечкам в программировании, а меня, помнится, учили, что: "Компьютер состоит из монитора, системного блока и клавиатуры; при выходе из строя системного блока необходимо заменить системный блок". И если про бинарные деревья и хэш-таблицы можно почитать у Д. Кнута, то есть огромная область, которой похоже не учат до сих пор. Похоже на то, как если Вы выучили иностранный язык, и можете на нем читать-писать, а вот как разговорная речь так вроде все слова понятны, а вместе не ложатся. (Христос за это апостолов корил: "Какое слово вам непонятно!") Почему? Потому, что слова в разговорной речи, а равно и в программировании, складываясь, могут приобретать иной смысл и становиться фразеологизмами, или идиомами. И нам этот смысл надо постигать посредством чтения умных книжек. А что там? А там посмотришь на прилавки - выбор каков - "С++ для тупых", "С++ для Бивиса и Батт-хеда" да плюс справочники по функциям и алгоритмам. Но того, о чем я говорю, практически нет.
Итого получается, что не хватает нам того, чтобы секреты мастерства нам кто-то передавал. Секретов-то много, своим умом не дойдешь. Это в древности хорошо было - помирает старый мастер, перед смертью в двух словах раз-два, сказал пару слов и глазки закатил. Ну вы знаете - "Как ты делаешь такой вкусный чай" - "Ложите побольше заварки!". С программированием такого не бывает. Надо секрет загодя узнавать, мастера душить. Найти бы его только. Но делать то что-то надо!
Так вот, что я предлагаю: Я тут сижу и прорабатываю пачку книжек на эту тему. По мере продирания через них буду шкрябать статейки, и размещать их на FS. Надеюсь, авторы не обидятся. Напишу пяток-десяток, если будут отклики - продолжу. Если нет - значит не надо.