Программы и их виды

Программы и их виды

Работая с компьютером, большинство людей не создает нужные программы самостоятельно, а лишь пользуется уже готовыми разработками. Потому и называются они пользователями. Впрочем, быть пользователем тоже непросто. Ведь необходимо уметь не только обращаться с несколькими распространенными программными пакетами, но и ориентироваться в «программном море» – для того, чтобы в случае нужды легко и быстро найти нужную программу и научиться с ней работать. Перечислить их все? Но это почти невозможно: существуют сотни тысяч, если не миллионы разнообразных программ, и каждый день к ним прибавляется еще около сотни! Так стоит ли пытаться объять необъятное? Поэтому попытаемся разбить весь массив созданных в мире программ на несколько основных групп.

Виды программ по назначению

Как известно, каждая программа отвечает за свой, конкретный участок работы. Одни помогают создавать текст или графику, другие – наводить порядок на жестком диске, третьи – работать в сети Интернет... Порой кажется, что сколько программ – столько может быть и их категорий. И отчасти это действительно так. Однако при некотором усердии можно попытаться свести всё программное изобилие к нескольким основным разделам. Побалуемся классификаторством и мы, создав небольшую «периодическую таблицу программ» в духе Менделеева.

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

Системные – значит, необходимые для обеспечения нормальной работы компьютера, его обслуживания и настройки. К таким программам относится в первую очередь операционная система. И ряд вспомогательных небольших программ – утилит.

Операционная система – это первый и главный посредник между компьютерным «железом» и всеми остальными программами, душа и сердце компьютера. Нет операционной системы – и ваш компьютер будет не в состоянии воспринять ни одну команду – даже загрузиться не сможет.

Утилиты. Этот класс объединяет громадное количество полезных программок, предназначенных для обслуживания вашего компьютера. К выбору утилит надо подходить особенно тщательно, дабы не слишком переусердствовать. Но и пропускать что-нибудь действительно полезное не стоит – правильно подобранная утилита может существенно облегчить вам жизнь. Сюда же можно включить и тесты – программы для тестирования как программного обеспечения, так и аппаратных ресурсов ПК.

Конечно, несправедливо, что самое большое количество программ создано для обслуживания потребностей компьютера, а не его хозяина – человека...

Прикладные программы. Наиболее важные для нас программы, так сказать, созидательные, рабочие инструменты, предназначенные для создания и обработки информации.

Пользователь, в отличие от компьютера, – существо необычайно прихотливое. Поэтому и типов прикладных программ куда больше, чем системных. Назовем лишь некоторые из них:

Офисные программы. Задача этих программ – создание и редактирование документов, будь то текст, электронная таблица, изображение или их совокупность. Иногда такие программы называют по старинке «редакторами» (хотя настоящим редактором остается человек, а программа – лишь его рабочий инструмент). Сегодня отдельных программ этого класса на рынке почти не осталось – куда чаще продаются «полные наборы», включающие все, что вам нужно. Самый популярный офисный пакет Microsoft Office состоит из текстового редактора Microsoft Word, электронной таблицы Microsoft Excel, программы для подготовки презентаций Microsoft PowerPoint, программы управления базами данных Microsoft Access и ряда вспомогательных программ поменьше.

Особняком стоят финансовые и бухгалтерские программы. Домашняя бухгалтерия сегодня пока что не стала у нас модной, но это только вопрос времени! На Западе программы планирования расходов, учета семейных финансов и расчета налогов всегда были в числе самых популярных. В этой же группе – электронные таблицы и вспомогательные финансовые утилиты.

Мультимедийные программы. «Медиа» в переводе означает – «носитель», «вестник», а в современном толковании – вид информации. Стало быть, «мультимедиа» – это совокупность всех видов информации. Сам этот термин появился на свет в эпоху, когда использование каких-либо информационных средств, помимо «голого» текста, было для компьютера в диковинку. Строго говоря, «мультимедийными» можно называть лишь те программы, которые умеют работать с несколькими видами информации. Но таких программ в природе не много... И так уж повелось, что «мультимедийными» сегодня называют и графические, и звуковые, и видеопрограммы... словом – те, которые работают с видом информации, отличным от текстового.

Программы для обработки и создания изображений. Это – уже вполне профессиональные программы, ставить которые на ваш компьютер стоит лишь в одном случае – если вы хотя бы умеете рисовать. Если нет, то даже такая мощная программа, как редактор векторной графики (рисунков) CorelDraw, вам не поможет. То же самое относится и к программам для обработки фотоизображений – например Adobe Photoshop. Конечно, с их помощью можно соорудить великолепный фотомонтаж или поиздеваться над фотографией обожаемой женушки... Но, опять-таки, является ли это для вас жизненно необходимым?

Программы для работы со звуком. Минимальный комплект программ для обработки и проигрывания звуков и музыки уже включен в комплект вашей операционной системы. Несколько дополнительных программ (например, проигрывателей, или «плейеров») не помешают. А серьезные, профессиональные пакеты для обработки звуков (Sound Forge, CoolEdit) оставьте профессионалам.

Проигрыватели (плейеры) и программы просмотра (вьюверы) в отличие от редакторов не позволяют редактировать текстовый документ, звуковой файл или видео. Их задача скромнее – например, проиграть музыкальную композицию или вывести на экран картинку.

Редакторы трехмерной графики и анимации. Благодаря «Парку Юрского периода» и прочим напичканным спецэффектами фильмам, эти программы стали у нас удивительно популярны (хотя на Западе те же 3D Studio MAX или SoftImage – сугубо профессиональные программы стоимостью в десятки тысяч долларов).

Профессиональные программы. Весьма условная группа. Вообще-то к профессиональным, узкоспециализированным программам можно отнести программу любой группы – это зависит только от ее «навороченности», востребованности сравнительно небольшим кругом людей и, как следствие, высокой цены. Объединяет эти программы одно – для домашнего офиса и для повседневного употребления они непригодны. А необходимы они специалистам, которые знают, зачем им, собственно, эта программа нужна. Можно, конечно, и дома в 3D-Studio поиграться, но дело это неблагодарное. Конечно, помимо того, что описано здесь, существует еще море «специализированных» программ, но обо всех написать, увы, невозможно.

Инструменты программирования. Суперсложные системы программирования, профессиональные компиляторы и многое другое. Для программистов это – инструмент номер один, а вот домашнему пользователю чаще всего они не нужны. Хотя многие современные системы программирования настолько просты и «визуальны», что позволяют создавать приложения, конструируя их из готовых блоков.

Системы автоматизированного проектирования(CAD). Эти программы (например, AutoCAD) тоже частенько ставят на домашние машины – по незнанию, видимо, ибо рисование профессиональных блок-схем занятие трудное и на игру не похожее.

Математические и научные программы – вотчина ученых и продвинутых инженеров.

Коммерческий статус программ

Помимо тематического деления программ существует еще одна классификация. Связана она со способом распространения программы и теми условиями, приняв которые, потребитель получает возможность оной воспользоваться. Ну и, разумеется, с ее стоимостью... То, что программы бывают платные и бесплатные, знает каждый пользователь. Но мало кто догадывается, сколько именно модификаций «платного» и «бесплатного» напридумывали хитрые авторы программ!

Бесплатное программное обеспечение (freeware). Первоначально по принципу freeware распространялись небольшие утилиты или бесплатные дополнения к известным коммерческим пакетам. Однако сегодня по принципу freeware иногда распространяются и довольно серьезные пакеты известных производителей, включая Microsoft.

К freeware программам иногда относят и приложения, распространяющиеся по принципу OpenSource (открытых исходников) – например, операционную систему Linux и приложения для нее. Однако это не совсем верно: постулаты OpenSource подразумевают возможность изменения кода программы самим пользователем (на что идут далеко не все авторы freeware-программ). А распространение таких продуктов не обязательно должно быть бесплатным – так, в мире существует множество «коммерческих» версий той же Linux. Однако чаще всего freeware и OpenSource идут рука об руку.

Условно-бесплатное программное обеспечение (shareware). Самая массовая группа программ, в которую входят практически все утилиты, а часто – и весьма серьезные, умелые программные пакеты. Как правило, shareware-программы распространяются в виде полнофункциональных версий, ограниченных либо по времени работы, либо по количеству запусков. По истечении отведенного вам на тестирование срока (как правило – от 15 до 45 дней) программа либо просто перестает запускаться, либо утрачивает часть своих функций, превращаясь в менее функциональную freeware-версию. В самом благоприятном для вас случае программа полностью сохраняет работоспособность, однако время от времени надоедает вам настоятельными призывами заплатить – так поступает, например, популярный файловый менеджер Windows Commander.

Если вы все-таки решитесь приобрести программу и перечислите на счет автора некую сумму, то в обмен вы получите специальный цифровой код (ключ), который необходимо ввести в специальное регистрационное окошко программы. В качестве варианта может быть выслан специальный «ключевой» файл, который необходимо скопировать в папку с установленной программой.

«Рекламно-оплачиваемые» программы (adware). Расцвет этого вида программ пришелся на конец 90-х годов – сегодня их популярность значительно снизилась. Принцип adware подразумевает, что платит за программу не пользователь, а рекламодатель, которому взамен дается пространство для размещения информации о своих продуктах – в виде баннеров или всплывающих окошек. А пользователи вынуждены эту рекламу смотреть, а иногда – еще и щелкают по особо понравившимся картинкам, отправляясь прямиком на сайт фирмы-рекламодателя... Отдача от этих путешествий не слишком велика, однако и пара клиентов может принести, например, интернет-магазину сотни долларов прибыли, 10– 15 из которых он с охотой выплатит программисту.

К сожалению, создатели программ часто злоупотребляли этой возможностью, внедряя в свои продукты шпионские модули и даже вирусы, так что сегодня adware программы практически поставлены вне закона.

Коммерческое программное обеспечение (commercialware). За эти программы всегда надо платить, и чаще всего – довольно значительные суммы. Сюда относятся все крупные программные пакеты известных производителей и ряд утилит. Программы этого типа можно приобрести в красивых коробках или без оных в любом компьютерном супермаркете. Однако сегодня все чаще и чаще программные продукты продаются через сеть Интернет. Купить их можно либо на сайтах производителей программ, либо – в больших интернет-магазинах программного обеспечения. Получить товар вы можете двумя способами. Большие программы в виде тех самых красочных коробок с компакт-диском или документацией доставляются вам на дом курьерской службой или по почте, а мелкие программы вы можете скопировать прямо с сайта Интернет. При этом, как и в случае с shareware-программами, вы получаете урезанную (Demo) или ограниченную по времени работы (Trial) версию. Trial, как и shareware-программу, можно превратить в полнофункциональный вариант с помощью регистрации, а вот с демоверсией такой фокус не пройдет, поскольку в ней некоторые функции отсутствуют изначально. Например, в текстовом или графическом редакторе вы не сможете сохранить внесенные вами изменения.

OEM-версии. Специальные варианты обычных коммерческих программ, поставляющиеся по сниженной цене вместе с готовыми компьютерами. Например, стоимость Windows в OEM-поставке может быть в несколько раз дешевле «коробочной» версии.

«Условно-платные» программы (donation ware). Автор такой программы намекает, что, в принципе, он не отказался бы от пары-другой монет за свое детище, но платить он никого не принуждает и функциональность программы не ограничивает. Появится желание – заплатите, не появится... Ну что ж, на нет и суда нет! Понятно, что таких «альтруистов наполовину» среди программистов немного. А честных плательщиков среди пользователей – и того меньше.

«Открыточные» версии (cardware). Весьма экзотический вид программ, в качестве вознаграждения за пользование которыми вас просят отправить автору красивую почтовую открытку.

Версии программ

Программы, как известно, пишут живые люди. А люди имеют привычку ошибаться. А в программах ошибки встречаются, пожалуй, чаще, чем во всех остальных видах человеческой деятельности вместе взятых. Причин для этого много, но основная – сложность современных компьютеров: ни один человек не может отследить все команды, выполняемые компьютером при работе программы, – уж очень там много всего задействовано. Я даже не говорю о диком разнообразии всевозможных железок, настроек и установленных программ, с которым встречается творение любого программиста, вышедшее «в свет». Ну и, разумеется, про ошибки самого программиста – как в алгоритме, так и в его реализации – тоже забывать не стоит...

Для того чтобы понять, откуда берутся ошибки реализации, можно взять типичный пример – деление на ноль. Допустим, вы решили написать программу, которая будет считать среднюю скорость роста человека (не знаю зачем, но допустим). Пользователь вводит дату своего рождения и свой рост, а программа вычитает из сегодняшнего числа дату рождения, подсчитывает ваш возраст в днях и делит рост на число ваших дней. Такая программа будет прекрасно работать для вас и ваших родственников, но если вы ее «выпустите в люди», то обязательно найдется кто-то, кто в качестве дня рождения введет сегодняшнее число. И готово – возраст ноль дней, попытка деления на ноль и программа вылетает с ошибкой. Разумеется, это самый простой пример. В реальной жизни все сложнее и зависит не только от данных, вводимых пользователем (которые можно, а точнее, нужно проверять перед использованием в программе), но и от установленных системных файлов, драйверов и кучи других вещей, предсказать которые невозможно, а их влияние на работоспособность программы – совсем не очевидно. Как правило, ошибки «первого типа» вычисляются и исправляются очень легко, в течение 10 минут. «Второй тип» – сложнее, но он затрагивает относительно небольшое число пользователей. Обычно исправление подобных ошибок приводит к изменению второй или третьей цифры в номере версии (или же, автор вообще не меняет версию, а просто выкладывает обновленный файл).

Если вы видите, что вместо версии 2.1 появилась, скажем, 2.11, то имеет смысл заглянуть на сайт программы и посмотреть, не появилось ли там описание изменений, чтобы понять, нужно оно вам или нет. Ну а если программа небольшая, то можно просто скачать обновленную версию...

Другая штука – это внесение новых функций в программу. Ведь после выхода программы автор получает какое-то количество писем от пользователей с просьбами добавить или изменить что-то в программе, советами по ее совершенствованию и тому подобное. Если много людей просят что-то одно, то автор часто прислушивается к их мнению и дописывает соответствующую функцию. Кроме того, он и сам может придумать что-то новое и интересное и встроить в программу. Обычно подобные изменения приводят к увеличению второй цифры в номере версии, то есть вместо 1.1 появляется 1.2.

Такие обновления в большинстве случаев документируются и их описание помещается в файл history.txt или WhatsNew.txt. К такой версии стоит приглядеться повнимательнее – есть большая вероятность того, что там появилось что-то такое, чего вам не хватало...

Обнаруженные ошибки или неоптимальные куски в алгоритме программы, как правило, оказываются самыми неприятными для автора, так как они требуют переписывания больших кусков кода или даже всей программы «с нуля». В то же время их исправление приносит наибольшую пользу тем, кто этой программой пользуется – значительно увеличиваются возможности программы, скорость ее работы, часто меняется внешний вид, появляется много новых функций... С другой стороны, при этом может измениться формат хранения данных, что потребует каких-то специальных действий при переходе на новую версию; может измениться название программы, ее цена и какие-то другие вещи, которые потребуют от пользователя внимательного изучения документации (что, в общем-то, никогда не мешает). Подобные «глобальные» изменения обычно приводят к увеличению первой цифры версии программы, то есть из 1.х она превращается в 2.0.

К сожалению, правила изменения версий нигде не описаны и не формализованы; то, что я описал – это усредненное описание. Многие авторы в качестве номера версии используют дату выхода программы. Кто-то не использует «минорные» версии вообще, увеличивая номер на единицу при любом самом маленьком обновлении. Кто-то меняет программу, не меняя версии. Иногда встречаются случаи, когда версия меняется, но отсутствует какое-либо упоминание о сделанных изменениях. Все в руках авторов...

Работая над программой, ее автор может выкладывать в Сеть не только окончательные, но и предварительные версии! Каждая из них имеет свое собственное обозначение.

Альфа (Alpha) – самая первая версия программы, черновой набросок. Статус «альфы» гарантирует вам, что скачанная программа установится и даже запустится, однако ее дальнейшие действия непредсказуемы. Чаще всего «альфа-версия» напичкана ошибками, как сдобная булочка изюмом, многие из ее возможностей и функций просто не работают. Вот почему пользоваться «альфой» могут лишь самые нетерпеливые и отчаянные экспериментаторы, выполняя таким образом роль тестеров. Остальным же стоит дождаться появления более стабильной и надежной версии – «беты».

Бета (Beta) – уже вполне пригодный к употреблению продукт. Грубые ошибки убраны, базовые задачи программа выполняет успешно. Остались лишь маленькие недоделки, которые могут исчезнуть уже в следующих «бетах». В статусе «беты» многие программы пребывают большую часть жизни, вспомним хотя бы проигрыватель WinAmp, почтовую программу The Bat! и ряд других программ, «бетовость» которых не мешает пользоваться ими миллионам пользователей.

После того как ошибки, обнаруженные в альфа– и бета-версиях программы, исправлены, а функции добавлены, наступает очередь RC (Release Candidate) – кандидат на окончательную версию. Эта программа уже считается стабильной и используется для выявления наиболее скрытых ошибок – такую программу, практически без опаски, могут скачивать и устанавливать даже те пользователи, которые слабо разбираются в компьютерах. А так как таких – большинство, то увеличивается число пользователей, что означает увеличение числа «тестеров». Ошибки в RC-версиях вычисляются довольно редко, так что при переходе в «основную» версию программа практически не меняется.

Наконец, после всех мучений и доделок на свет появляется релиз (Release) – полностью готовая, окончательная версия программы.

Данный текст является ознакомительным фрагментом.