Как создается программа

Спецвыпуск Хакер, номер #004, стр. 004-012-1

The Hound of Winter (thow@ireland.com)

Привет! Тебе уже надоело изучать языки программирования только в теории? Хочется попробовать свои силы на настоящем проекте с бета-версиями и релизами? Тогда поговорим о том, как создается Программа - настоящая Программа, а не дружеские фишки типа HackInternetPasswords (о них ты и сам все знаешь). ;-) Обычно в процесс создания коммерческой программы вовлекается очень много людей, начиная с художников-дизайнеров, которые рисуют логотипы и окна диалогов, и заканчивая продюсерами, которые под конец работ собирают деньги и сбегают. ;-) Но существуют также и проекты "Open Source Projects" - проекты с открытыми исходными текстами, которые обычно ведут одни программисты. Вернее, они по совместительству являются еще и художниками, и продюсерами, и распространителями, и координаторами... и т.д. Обычно они создают абсолютно бесплатные программы, которые энтузиасты потом дописывают и поддерживают по нескольким причинам. Во-первых, это обыкновенный понт - желание выпендриться и показать собственную крутость: "А я вот так умею да так, что именно как я никто не смог!". ;-) Это же самое чувство сподвигло многих стать демомейкерами, вирусописателями и прочими кодерами. Во-вторых, обычно это желание иметь хорошую и неглючную утилиту, которая умеет больше, чем всякие поделки от M$. В-третьих, это просто интересно, и, однажды втянувшись, человек уже не может не писать программы. А когда это делаешь не один, а в группе таких же кодеров, которые один лучше другого, то со временем приобретается бесценный опыт кодинга и программерства. Дело это довольно долгое и на самом деле состоящее из множества этапов. Пройдемся по каждому из них и посмотрим, какие подводные камушки могут подстерегать наш Титаник. ;-)

Часть 1. Идея

Итак, все начинается с идеи. Кому-то (поначалу весь проект ведет один человек) падает на голову кирпич или еще что, но этот кто-то однажды заявляет: "Э! А почему бы мне не написать вот такую классную прогу!". Тут-то все и закручивается. Сначала придумываются всевозможные фичи, которые должна поддерживать эта программа, придумывается ей название и устанавливается первоначальный порядок авторства (чтобы в больших коллективах потом не возникало проблем вроде: "А почему Пупкина опять первым написали? Он вообще ничего не делал!!!"). Идея обязательно должна быть красивой и привлекательной - иначе на нее никто не клюнет, и все придется делать тому, кто ее придумал. Писать в одиночку обычно надоедает, особенно если проект большой, а идея не так уж и интересна. ;-)

Часть 2. Набор участников

После того как идея сформирована, обрела достаточную прочность и представляет собой законченную мысль, инициатор проекта может начать агитировать своих знакомых, друзей и близких просто начать рекламную кампанию по продвижению этой идеи. Попросту говоря, набираются те, кто потом будет на халяву трудиться над проектом. А то, что это должен быть проект, - понятно само собой. Немного официальности, немного растопыренных по-хорошему пальцев, и (вуаля! - как говорят французы) находятся добровольцы, которые также загораются идеей проекта бесплатного навороченного мейлера-почтовика со встроенными возможностями дистанционного управления холодильником или проекта драйверов для микроволновой печи под Windows 2000. Да-да, открытый проект - это не обязательно только Linux/Unix. Например, совсем недавно ко мне в руки попал Dos Navigator Open Source Project, написанный под DOS и DOS/DPMI на Borland Pascal 7.0. Так что платформа, язык программирования и погода на улице особой роли не играют. Важна именно идея. Dos Navigator, например, был изначально коммерческим продуктом. За него платили деньги, но позже фирма-производитель отказалась от дальнейшего исправления немереного количества багов в своем продукте и "выбросила" в Интернет исходники со словами и пожеланиями всем, кому не лень, наделать там новых багов. Так до сих пор и делают. И удачно, надо сказать, поскольку глючит по-страшному. ;-)

Содержание  Вперед на стр. 004-012-2

загрузка...
Cпец Хакер #075Cпец Хакер #074Cпец Хакер #073Cпец Хакер #072Cпец Хакер #071Cпец Хакер #070Cпец Хакер #069Cпец Хакер #068Cпец Хакер #067Cпец Хакер #066Cпец Хакер #065Cпец Хакер #064Cпец Хакер #063Cпец Хакер #062Cпец Хакер #061Cпец Хакер #060Cпец Хакер #059Cпец Хакер #058Cпец Хакер #057Cпец Хакер #056Cпец Хакер #055Cпец Хакер #054Cпец Хакер #053Cпец Хакер #052Cпец Хакер #051Cпец Хакер #050Cпец Хакер #049Cпец Хакер #048Cпец Хакер #047Cпец Хакер #046Cпец Хакер #045Cпец Хакер #044Cпец Хакер #043Cпец Хакер #042Cпец Хакер #041Cпец Хакер #040Cпец Хакер #039Cпец Хакер #038Cпец Хакер #037Cпец Хакер #036Cпец Хакер #035Cпец Хакер #034Cпец Хакер #033Cпец Хакер #032Cпец Хакер #031Cпец Хакер #030Cпец Хакер #029Cпец Хакер #028Cпец Хакер #027Cпец Хакер #026Cпец Хакер #025Cпец Хакер #024Cпец Хакер #023Cпец Хакер #022Cпец Хакер #021Cпец Хакер #020Cпец Хакер #019Cпец Хакер #018Cпец Хакер #017Cпец Хакер #016Cпец Хакер #015Cпец Хакер #014Cпец Хакер #013Cпец Хакер #012Cпец Хакер #011Cпец Хакер #010Cпец Хакер #009Cпец Хакер #008Cпец Хакер #007Cпец Хакер #006Cпец Хакер #005Cпец Хакер #004Cпец Хакер #003Cпец Хакер #002Cпец Хакер #001