27.03.2009

О ханжеском лицемерии или лицемерном ханжестве

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

Боже мой, ну как же это можно-то, а? Батюшки святы, это ж такой развратище на сцене-то твориться. В зале мальчики — а они, мерзавцы нечестивые и неправедные — порнуху гонють уже оказывается десять лет к ряду и никто (ну никто-же, батюшки) не призвал их, окаянных растлителей, к ответу! И вот нашлись доброхоты из прокуратуры, взялись таки за директора, до поры попустительствовавшего моральному и духовному разложению молодёжи.

Читая новости по ссылкам, мой разум вскипел. По моему скромному разумению, бредовость ситуации просто запредельна. Прокуратуре заняться нечем? Родителям тоже? Нравственность они защищают? Чью нравственность? Свою или чужую?

Боже мой, ведь мальчики (много у нас мальчиков в 16 лет?) увидят на сцене (увидят и только-то, в течении примерно 3..4 секунд с расстояния в 10 метров) обнажённую актрису во время спектакля, охарактеризованного постановщиком как «жуткая история, приключившаяся с киевским бурсаком Хомой Брутом из-за неумеренной тяги к бабам и горилке».

Соринку в глазу видим, бревна не замечаем. Спектакль. Вечером. Для взрослых. Про нечистую силу. Ещё вопросы есть?

Если уж прокуратуре не терпится заняться нравственностью, пусть почешется по другим — значительно более весомым — поводам, взять хоть пресловутый «Дом-2». Не знаю, кстати, идёт это развратничество до сих пор или нет, ибо телевизор принципиально не смотрю.

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

Честно, не понимаю, кто и зачем этот новостной бред затеял. Не вижу цели, стало быть не могу сколь-нибудь внятно себе объяснить мотивы. Я действительно, искренне недоумеваю. Моя логика даёт сбои, ибо не понимаю я. Обычный эпизод из спектакля стал вдруг поводом для разбирательства прокуратуры. В то же время, настоящая порнуха долбит по глазам с половины интернет-страниц, с половины рекламных плакатов, с экрана дебильника — отовсюду! И никто реального потока смрадного разврата не замечает. Притерпелись?

16.03.2009

Про национальную операционную систему

Предисловие
Перед вами вторая версия настоящего текста. Увидев, что ссылку на мою заметочку поставил у себя уважаемый Руслан Богатырёв, я решил переделать текст, превратив его из потока сознания, коим он был на момент написания, в нечто более литературно выверенное. Комментарии остались, без изменений, потому возможно, некоторые из них покажутся читателю подвисшими.

Сегодня по какой-то ссылке из ленты новостей наткнулся на замечательную статью в блоге господина Мамыкина. Говоря кратко, в своей заметке господин Мамыкин старается обосновать бессмысленность создания собственной российской национальной операционной системы. Безотносительно необходимости создания национальной операционной системы или программной платформы или как бы ещё не назвать этот проект, постараюсь своими словами опровергнуть высказывания господина Мамыкина относительно возможности выполнения этой работы.

Говоря откровенно, с некоторым опасением приступал я к написанию настоящей критической заметки. Если Владимир Мамыкин действительно автор критикуемой статьи, то мне даже как-то неловко возражать столь уважаемому и опытному человеку. Однако, эмоции во мне возбуждены были нешуточные и они требовали изложения на публике. Посему уняв дрож в коленях и пальцах приступлю.

Пункт первый.
Господин Мамыкин заявляет «Не существует ни одного успешного проекта в мире по созданию собственной национальной ОС. Нет ни одной страны в мире, которая имела бы собственную ОС. Ни США, ни Китай, ни Франция, ни Бразилия, никто не имеет собственную ОС».

Возможно, это правда. Возможно действительно никому не приходила в голову мысль писать собственную операционную систему. Но прежде чем утверждать де не писали прежде, и писать не нужно, следует подумать, почему не возникало нужды в подобных проектах. Не потому ли, что потребности не было? Не потому ли что к началу 21 века мы дошли до состояния, когда наша зависимость от технологий, в том числе информационных, стала определяющей нашу безопасность как бытовую так и государственную? Снова повторю, если закрыть глаза на вопрос необходимости и обратиться к возможности, то можно вспомнить кое-что из истории. 60 лет тому назад ни СССР, ни США, ни Франция не имели собственных космических ракет. И не было тогда ни одного успешного проекта по их строительству. Работы ЦАГИ и господ Годдарда и фон Брауна нельзя было рассматривать без умильной улыбки. Однако ракеты были построены, и в космос поднялись спутники и корабли СССР, США а ныне Китая и многих других стран. Разумно ли сейчас Индии или Китаю создавать собственную ракету-носитель, если можно прекрасно запускать спутники «Протонами» или «Арианами» или «Дельтами»? Нет, категорически не разумно! Однако почему-то Китай делает свои ракеты. Почему? О чём они думают?

Пункт второй.
Господин Мамыкин заявляет «Основная причина, по которой не имеет смысла разрабатывать свою собственную ОС, кроется именно в технологической особенности любых операционных систем».

Разумеется, любая ОС имеет технологические особенности. Равно как имеют их автомобили, самолёты и даже трубопроводы. Отчего бы не позакрывать напрочь все институты и заводы, влившись нефтяным и территориальным придатком к глобальной мировой экономической матрице? Нет? Отчего же? Если любое производство и любые разработки имеют технологические особенности то сам факт их наличия обязывает нас отказаться от оных разработок ввиду нецелесообразности.

«ОС осуществляет связанную работу различных аппаратных устройств [лишнее вырезано мной — С.С.] для того, чтобы другие программы могли с ними работать. [...] ОС должны уметь работать со всем спектром существующих аппаратных устройств. А для этого компании-производители этих аппаратных устройств должны написать драйверы для этой ОС […]»

«При этом драйверы могут написать только сами производители аппаратных устройств, так как только они знают, как их устройства работают.»

Простите за резкость, но это полнейшая ересь. Во времена моей юности любой школяр при желании мог открыть журнал типа «Монитор» или «Мир ПК», прочитать описание VGA-адаптера и наваять драйвер для него. Аналогично можно было прекрасно управляться с COM или LPT портом. Для драйвера нужно знать в какой порт записать число, какую ячейку памяти изменить и за какою ниточку операционная система должна при нужде этот драйвер дёргать.

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

«Поэтому главной задачей производителя ОС является работа по уговариванию производителей аппаратных устройств написать драйвера именно для их операционной системы.»

В свете изложенного выше, главной задачей производителя ОС является добиться от изготовителей аппаратуры доступа к спецификациям. Пусть изготовитель аппаратного обеспечения делает своё дело, а о программной обвязке плодов трудов их позаботятся другие люди, зачастую эта забота будет лучшей, чем у самого изготовителя аппаратуры. (Примера ради приведу купленный мною два года назад ноутбук Асус. Изготовитель его как выпустил драйверы в 2007 году так и не удосуживался далее вносить минимальные улучшения. Это нормально?)

Откровенно говоря, вообще не понимаю откуда взялась проблема доступа к спецификациям. Снова возвращаясь во времена своей студенческой юности, напомню. Буквально 20, да что там, 10 лет назад не было проблемы узнать как работает аппаратура! Архитектура была открыта, любой желающий в книгах и справочниках мог найти описание любого агрегата, включая принципиальную схему, уровни сигналов, тайминги и прочее. Любой человек мог взять книгу, свои мозги и компилятор чтобы написать программу или драйвер для любой приглянувшейся железки. Что случилось с миром сейчас? С какой такой стати я, как разработчик программы, должен уговаривать и упрашивать изготовителя дать мне описание его творения и тем более валяться у него в ногах, моля его написать для меня программу? В конце концов, я и сам не дурак и в состоянии настрочить на ассемблере в нужном порядке команды MOV или OUT.

«В подтверждение того, что эта проблема очень хорошо осознается самими производителями Linux, которые хотели бы стать производителями национальной ОС России, является выступление сторонника этой ОС Алксниса, который в бытность свою депутатом захотел провести через Думу законопроект, запрещающий производителям оборудования ввозить в Россию оборудование без драйверов к Linux. Очевидно, что такой законопроект привел бы просто к прекращению соответствующих поставок аппаратных устройств в Россию. Поэтому законопроект с очевидностью не прошел»

Запрет на ввоз чего либо без драйверов для конкретной системы - действительно бред. Почему именно Линукс? А почему бы не запретить ввоз без драйверов, ну например для FreeBSD? Если уж доводить ситуацию до абсурда, то я завтра настрочу на коленке SuperMegaOSForever и обращусь в думу за запретом на ввоз буков без драйверов для этой моей SuperMegaOSForever. Чушь получится несусветная.

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

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

Господин Мамыкин так уверенно пишет о дороговизне, что начинаешь верить в его правоту. Какова структура затрат Микрософт автору известно? Если да — прошу изложить. На что реально ушли эти миллиарды? Сколько из них ушло на НИОКР, а сколько на сбыт? Откуда автору известно где и какие команды разработчиков существуют? Он действительно уверен, что написать ОС является непосильной задачей для некоей группы людей? И что такой группы (групп) нет у нас в стране?

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

Давайте заглянем в недавнюю историю (их историю, наша к сожалению во многом утрачена, а ввиду заранее занятой пораженческой позиции во многом не просто утрачена, а намеренно уничтожена). Проекты BeBox и BeOS, NeXT Cube и NeXT OS были коммерчески провальными. Но, надеюсь, ни у кого язык не повернётся назвать их технологически провальными. Некоторые из этих проектов возродились с другом качестве, некоторые из них почив, создали почву другим проектам.

Разработка этих систем заняла не 10 лет, но меньше и значительно. Стоили они не миллиарды долларов, но значительно меньше. Применительно к ситуации свободного рынка проекты эти оказались неуместны и несвоевременны. Однако, коли автор взялся рассуждать о национальной ОС, то в рамках целевого государственного проекта и BeOS и NeXT OS вполне могли быть созданы и были бы востребованы. Примеры ИТ-проектов, созданных по заказу от государственных структур за государственные деньги есть. Взять хоть Интернет нынешний как потомок проекта, созданного по запросу DARPA или язык Ada.

Пункт четвёртый.
«Существует обманчивая видимость простоты написания ПО. Написание ПО, особенно таких масштабных проектов, как ОС, требует знания многих технологических know how. [...] Для сложных же проектов требуется умение управлять большими коллективами разработчиков. Такого опыта в России нет.»

Что есть простота разработки ПО? Неужели за 30 лет существования Виндовз или Юникс ничего не изменилось? Кому сейчас в 21 веке придёт в голову мысль писать ПО например на Си? Да никому! Это долго, опасно и трудозатратно. Давно существуют методики и средства для значительно более быстрой простой и безопасной разработки. Да, порой в ущерб производительности выполнения готового ПО, но ценой 10%..20% скорости мы выигрываем 200% скорости разработки и безопасности результирующего кода.

Аргумент про опыт ведения проектов и вовсе смехотворен! Возможно, у нас нет западного опыта ведения проектов. но своего хоть отбавляй! Даже сейчас (не говоря уже об относительно недалёком прошлом) в России существуют программные проекты масштаба не меньшего, чем пресловутая Виндовз, взять хоть 1С-Предприятие. Что до просто ведения НИОКР и производства чего угодно в огромным масштабах — такой опыт тоже есть. Можно подумать, что БАМ или Ил-96 построить или «Энергию» + «Буран» разработать и изготовить проще, чем написать Виндовз!

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

02.03.2009

Зачем это затеяно

Однажды в каждом человеке просыпается мыслетворец. После такого пробуждения волей-неволей человек начинает искать способ изложить сотворённые мысли. Аудиторией в зависимости от харизмы и талантов человека могут быть самые разные люди.

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

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

P.S. Этот журнал родился в общем-то спонтанно, как побочный продукт расположенного на этом же хостинге моего журнала по "Линукс". Прошу строго не судить и в комментариях сильно не бодаться.