 По классификации ученого-химика А. Шкроба, создателя хорошего сайта о науке под названием "VivosVoco", программисты делятся на любителей, ди- дилетантов и профессионалов1. Любители пишут программы для развлечения, дилетанты пишут программы по необходимости, профессионалы пишут про- программы для заработка. Вероятно (кто бы провел такое исследование?), люби- любителей и дилетантов больше, чем профессионалов. Мало того, с распростране- распространением Интернета и появлением онлайновых сообществ грани между любите- любителями, дилетантами и профессионалами при разделении их по признаку цели все больше и больше стираются — к какой категории, например, отнести добровольных членов сообщества создателей Linux? Сейчас самодеятельное (объединим таким названием область деятельности любителей и дилетантов) программирование у периодических компьютерных изданий несколько'ие в моде— просто в силу того, что значительную часть ниши, которую раньше занимали программы непрофессионалов (точнее, программирующих специа- специалистов), ныне занимают универсальные фирменные продукты. Однако, как заявляют авторы одного старого пособия по программированию: "...прикладные программы, созданные програшшруюгцим профессионалом (т. е. "дилетантом" в нашей классификации— IO. Р.), с точки зрения про- профессионального программиста зачастую выглядят неуклюжими и неизящ- неизящными. Но зато они обладают одним общим достоинством — они дейспюи-
тельно работают... . Дополним данную мысль — это происходит потому, что у дилетантов нет выхода: они пишут программы для себя, и плохо рабо- работающие им просто не нужны. Но согласно хорошему определению, услышанному автором этих строк от одного профессионального фотографа, профессионал отличается от любителя тем, что любитель всегда ищет ответ на вопрос "как", а профессионал — "за- "зачем". Любой любитель или дилетант в конце концов доходит до той стадии, когда ему позарез требуются некоторые функции, которые Delphi (а боль- большинство непрофессионалов использует именно Delphi) сама по себе дать ли- либо не может, либо их осуществление не описано в обычных учебниках и по- пособиях. Причем среди таких функций есть очень распространенные и необ- необходимые. Вот таким любителям и дилетантам и адресована эта книга. Не ждите от нее последовательного изложения основ объектно-ориентирован- объектно-ориентированного программирования (ООП) или построения Windows API. Подобно тому, как можно грамотно писать по-русски, не понимая разницы между существи- существительным и сказуемым, создавать вполне работоспособные программы можно без глубокого знания ООП. Правда, как и в случае грамотности, ваши умения будут ущербными в том смысле, что выйти за рамки конкретных образцов вам будет сложновато, но на основе изложенного в этой книге материала вполне можно научиться делать программы не хуже фирменных — ну, а если вас программирование заинтересует, как самостоятельный предмет, то для этого нужно читать совсем другие пособия и, как правило, не на русском языке.
|