: . Главная . : . Форум . : . Загрузка . : . Пользователи . : . ЧаВо . : . Документация . :


Операционная система 3OS -> Форумы -> Идеология проекта
<< Предыдущая тема | Следующая тема >>   

Обращение к участникам проекта

Автор Отправлено
Vadim Ushakov
Tuesday 08.02.2005 09:29 Цитата
Зарегистрирован Monday 07.02.2005 04:57
Местоположение: Россия, Красноярск
Сообщений - 35

Здравствуйте, все участики проекта 3ОС!

На мой вопрос, почему было решено отказаться от своего ядра, мне ответили ссылкой на достаточно любопытную статью( http://www.joelonsoftware.com/articles/fog0000000069.html), где объясняется, что нужно использовать существующий код, даже если никто не понимает как он работает. Интересная точка зрения, если учесть, что программист - это прежде всего инженер. Вы где-нибудь видели инженера, который согласен включить в проектируемое устройство механизм, который неизвестно как и почему работает, неизвестно кем спроектирован, и имеет неизвестно какие эксплутационные характеристики? (Впрочем, эта тема выходит за рамки моего письма, если вам интересно, поищите в Интернете сайты по запросу "Движение за открытую проектную документацию.") На самом деле речь не может идти о каком-либо повторном использовании стороннего кода, поскольку 3ОС заявлена как АБСОЛЮТНО НОВАЯ система.

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

Любопытное изменение концепции: от повторного использования СВОЕГО КОДА мы вдруг перешли к использованию ЧУЖОГО КОДА. Такая вот невинная игра слов скрывает под собой перевод проекта на новые рельсы: раньше была цель создать идельную ОО-систему - концепт в чистом виде; теперь цель в создании прикладной ОО-технологии - одной из многих таких же.

В статье "Обновление 3OS" вы заявляете:
"Согласно обновленной концепции 3OS можно считать, что главное, что должен реализовать проект – это свои прикладные технологии. В прикладных технологиях и заключается весь 3OS."
Боюсь, что вы заблуждаетесь. Существует COM, существует .NET - это ведь тоже прикладные технологии. Чем же ваша будет лучше? Может она будет более объектно-ориентированной? Куда еще более?

Проект 3ОС - это проект создания объектно-ориентированной СИСТЕМЫ. Именно с таким логическим ударением. Вы же сместили ударение: 3ОС - ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ система. А затем и вовсе отбросили слово система, заменив его прикладной технологией. И получилась банальность.

В оправдание изменения концепции (а фактически полного отказа от прежней концепции) вы говорите: "Надо признать, что специалистов, способных заниматься развитием ядра ОС у нас порядка 1.5 штук." Я заглянул в проектную документацию: в разработке участвуют более 20 человек. И среди них всего полтора ядерщика? Может быть вы просто не набирали в группу кодеров и системщиков, ограничившись "генераторами идей"? Так наберите! Вывесите объявление на сайте - и вам посыпятся десятки предложений. Просто напросто настало время переходить к воплощению концепции в код, а вы струсили. Ведь проектирование - это итеративный процесс. Пишем концепцию. Пишем код. Убеждаемся, что это не то, чего мы хотели. Вносим корректировки в концепцию. Пишем код. И так 4, 5, 10 раз. Однажды вы напишете код - и все участники проекта скажут: "Да, это то, чего мы добивались." Это будет победа.

Также вы говорите: "В общем, есть мысль, что разработкой ядра должны заниматься те, кто лучше всего разбирается в ядрах." Однако разбираться в таких, с позволения сказать "ядрах" каким является Linux - большого ума не надо. Ведь все равно никто не понимает как оно работает - так что "специалисты" могут пороть любую чушь с криками "Мы стоим на плечах гигантов", "Это лучшая технология", "Над проектом работают тысячи людей во всем мире." Если же вам нужны настоящие специалисты в области ОО-ядер - обратитесь в Swiss Federal Institute of Technology Zurich - там родилась Native Oberon, там знают, что такое ООП на самом деле. Вот только боюсь, вам откажут. Когда проект только начинался, у вас была смелость сказать, что вы действительно способны сделать НОВОЕ. И пусть профессор Вирт со всеми своими диссертациями не смог донести до людей, что за ОО-системами будущее, а 3ОС сможет. Но вы снова струсили.

От вас не ждали, что вы создадите систему, размером с Windows. От вас ждали концепт. И пусть в нем нет даже самых нужных приложений, пусть нет поддержки железа. Я просто хотел бы скачать с вашего сайта инсталяционный образ, запустить его, и заорать: "УРА!!! Заработало!!!." Дальше я все напишу сам - и приложения, и драйвера, и все прочее, что может мне понадобиться. Я, и еще три сотни участников форума 3ОС, и еще сотни и тысячи программистов по всему миру. Ведь программирование в ОООС превращается в сказку: идеальное повторное использование кода, идеальная инкапсуляция, идеально работающие объекты. От вас ждали... Но, видимо, уже ничего не дождемся.

Если вы не хотите писать свое ядро, давайте возьмем за основу ядро, которое наиболее близко по духу к идеологии проекта. Есть Native Oberon, есть AOS. Да, у этих систем огромное количество не достатков, но есть и огромное достоинство - ОНИ ОБЪЕКТНО-ОРИЕНТИРОВАНЫ. Дорабатывайте, развивайте существующую функциональность. Всю разработку можно вести на высокоуровневом языке Oberon. Языке, который лаконичен и выразителен, как и все, созданное Виртом. Языке, который является гораздо более объектно-ориентированным, чем все эти Си++, Ада и прочие. И это при том, что описание языка даже не содержит слова "объект"! "Сделай так просто, как возможно, но не проще того." - сказал Альберт Эйнштейн, а Вирт выбрал эти слова девизом своего языка.

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


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

С уважением и надеждой на будущее, Vadim Ushakov.
Наверх
czarker
Tuesday 08.02.2005 17:03 Цитата

Зарегистрирован: Monday 10.01.2005 17:26
Местоположение: Москва, т.д.
Сообщений - 48
Не читайте старую документацию. Дождитесь новой, тогда и поговорим.
Прежняя документация - это клубок взаимоисключающих выссказываний политического характера. Систему на них построить нельзя,
[ Редактирование Tuesday 08.02.2005 19:18 ]

Но это всё, конечно, моё сугубо личное мнение.
Наверх

Модераторы: Roman I Khimov, netwizard.

Переход:     Наверх