Интернет -первые шаги

         

Программы для работы в Интернете


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

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

То, что программы можно продавать отдельно от компьютеров, впервые придумал Билл Гейтс, основатель фирмы Microsoft. До этого программы рассматривались скорее как составная часть технической поддержки компьютеров. Второй важной идеей Гейтса было осознание важности рынка операционных систем - особых программ, которые автоматически загружаются при включении компьютера, а затем распределяют его ресурсы между другими программами и обеспечивают их взаимодействие между собой и с устройствами ввода-вывода. Контроль в области операционных систем дает значительное конкурентное преимущество при разработке программ, предназначенных непосредственно для пользователя. Большая часть персональных компьютеров сейчас работает под управлением различных вариантов операционной системы Windows и широко использует другое программное обеспечение фирмы Microsoft. Благодаря этому Гейтс стал самым богатым человеком планеты.

Особенность программ как товара - это то, что они легко копируются, и то, что их принято поставлять в скомпилированном виде, то есть исходный текст программы, написанный программистами, уже переведен в вид, удобный для исполнения на компьютере. Первое приводит к распространенному, и не только в нашей стране, незаконному копированию, которое получило название компьютерного пиратства (хотя больше, чем на воровство, это не тянет). Второе приводит к более тяжелым последствиям. Не обладая исходным текстом программы, который является коммерческой тайной фирмы-изготовителя, вы не можете проконтролировать, сами или с чужой помощью, не производит ли программа каких-то нежелательных для вас действий. Вам приходится полагаться в этом на фирму-изготовителя. Вы не можете, сами или с чужой помощью, исправлять ошибки в программе или приспосабливать ее к своим нуждам. А если фирма-изготовитель вдруг обанкротилась, то этого уже не сможет сделать никто.

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

Самым важным достижением этой модели разработки программ стало написание операционной системы Линукс (англ. Linux).

Линукс - это разновидность Юникс - той системы, которую, в различных ее вариантах, использует основная часть Интернет-серверов. До появления Линукса Юникс редко устанавливали на персональные компьютеры, потому что он был дорогой системой, стоимостью до нескольких тысяч долларов. Линукс начал разрабатываться как экспериментальный проект Линуса Торвальдса в 1992 году, в то время, когда он был студентом Хельсинкского университета. Вскоре проект собрал вокруг себя группу заинтересованных программистов со всего мира. Благодаря Интернету и открытому для всех исходному коду, развитие Линукса шло необычайно быстрыми темпами, и к 1996 году он уже соперничал на равных со своими коммерческими аналогами. В чем Линукс вне конкуренции, так это цена. Линукс был и остается бесплатным.

По всем меркам Линукс - это крупный проект. Никто бы не мог поверить, что такой результат может быть достигнут довольно анархичным коллективом добровольцев, связанных только через Интернет. При этом Линукс не просто бесплатен. В соответствии с лицензией, которой он сопровождается, вы можете распространять его за деньги и зарабатывать на этом.

1998 год стал переломным для новой модели разработки программ, потому что в этом году программы с открытым исходным кодом были наконец замечены компьютерными журналами и другими средствами массовой информации, а крупные компьютерные компании стали вкладывать в это деньги. В настоящее время значительная часть программистов считает для себя предпочтительным писать программы с открытым исходным кодом. Линукс установлен на 10-12 миллионах компьютеров и распространяется быстрее любой другой операционной системы.

Вообще-то программа с открытым исходным кодом не обязательно должна быть бесплатной, но на практике это часто совпадает. Почему люди вообще пишут бесплатные программы? Для славы. Для рекламы, впрочем, слава - это та же реклама. Чтобы не быть ограниченными жесткими рамками коммерческого проекта и довести любимый продукт до возможного совершенства. Для тренировки - чтобы чему-то научиться. Чтобы почувствовать себя членом сообщества, в котором так принято. В общем, из тех же соображений, по которым пишутся научные труды.

Практически для работы в Интернете вам прежде всего понадобятся две программы: почтовая программа и браузер - для просмотра вебовских документов и ftp-архивов. И, разумеется, на вашем компьютере должна быть установлена поддержка протокола TCP/IP. Сейчас уже нет необходимости приобретать эти программы за отдельную плату - они или входят в состав вашей системы, или могут быть бесплатно скопированы из Интернета.



Содержание раздела