> man operating_systems
Microsoft представила "открытую" ОС для ученых
Microsoft представила прототип новой операционной системы Singularity, ориентированной в первую очередь на ученых. Бесплатный инструментарий для разработки приложений под эту ОС и ее исходный код выложены на сайте Microsoft Codeplex. Все желающие могут использовать их в исследовательских целях.

Исходники: http://www.codeplex.com/singularity/

[Прислал GVL]
Roman I Khimov  в  Пятница, 07 Март 2008, 00:12  |   Комментарии: 59  |  для печати

Комментарии
Hmmm |07.03.2008 11:52
Комментарии: 45

Зарегистрирован: 09.08.2006 11:29

Чудо сие, как я понял, на сишарпе писано?

Dron |07.03.2008 13:30
Комментарии: 558


Вроде бы специальная модификация C#...

Hmmm |07.03.2008 13:32
Комментарии: 45

Зарегистрирован: 09.08.2006 11:29

Код я посмотрел, простите меня за дремучесть, но IMHO ффтопку.

Roman I Khimov |07.03.2008 14:41
Комментарии: 952


Hmmm, не сказал бы, что в топку. Штука не идеальная, но достаточно интересная и, самое главное, вполне реализованная. Это уже на голову выше Windows и GNU/Linux в системном плане. Вопрос только, что MS с ней дальше делать будет.

nightstalker |07.03.2008 17:45
Комментарии: 1

Зарегистрирован: 02.01.2008 22:27

Ну явно не отложит в долгий ящик

Dron |07.03.2008 22:52
Комментарии: 558


Кстати удивительно много своих секретов Майкрософт открыл в последнее время. Форматы офис (хотя даже в открытых форматах офис никто не разберется), многие другие протоколы, Сингулярити вот... не иначе как решили сменить курс... Правда не пойму куда...

Да и AOL туда же... всмысле открывать протоколы...

К чему бы такая эпидемия?

Hmmm |08.03.2008 00:29
Комментарии: 45

Зарегистрирован: 09.08.2006 11:29

А в чем эта поделка выше Linux? Ну я понимаю там с соляркой бы сравнивали, есть на что пингвину попенять, но это.

GVL |08.03.2008 13:36
Комментарии: 12

Зарегистрирован: 28.10.2005 18:16

Меня всегда с одной стороны удивляет, а с другой смешит глубочайшие заключения типа «фтопку», выше/ниже чего-то там.

Ув. Hmmm, может быть, вы не заметили, но код там образцово-показательный: четкий, ясный, доступный пониманию, написанный по стандартам. Такой код легко читать, изучать, модифицировать… В отличие от практически любого другого открытого продукта, от вида кода которого начинает тошнить (http://is.ifmo.ru/works/open_doc/).

Сингулярити не выше и не ниже Linux’a, Windows’a или чего бы то ни было еще. Она просто другая, совершенно другая (не вижу смысла уточнать - описаний в сети достаточно). Глупо сравнивать несравнимые вещи. Вместо этого на много больше пользы будет от изучения сего творения, так как перед нами пример серьезной исследовательской разработки, проведенной на высоком уровне.
Например, я бы выделил следующие моменты, которые возможно помогли бы понять почему у них группа из 12-15 человек может, а у нас нет.

GVL |08.03.2008 13:37
Комментарии: 12

Зарегистрирован: 28.10.2005 18:16

1. Организация управления проектом. Это самый важный момент. О нем можно косвенно судить по опубликованной документации, где описано организация групп и механизмы взаимодействия между ними. Есть тонкие моменты обеспечения координации между членами групп в принятии ключевых решений на уровне разработчиков, не противоречащих проекту в целом.

2. Проектирование архитектуры системы. До сих пор самая загадочная область. К сожалению опубликованный материалы описывают достаточно высокий уровень абстракции. Кто-нибудь может сказать какой путь проходит идея от «а давайте ка…» до конкретного воплощения в коде типа class BusMasterDma {…}? Мы видим конечный результат, найти бы описание процесса его достижения…

3. Реализация не противоречащая самой себе. Хм, для многих программистов это все еще искусство…

Hmmm |08.03.2008 15:37
Комментарии: 45

Зарегистрирован: 09.08.2006 11:29

Ув GVL Вы ответили в стиле "сам дурак", тем более что я знаю что такое "образцово-показательный код" поскольку практически все время в чужих исходниках копаюсь. В этой поделке код неплохой, местами, а местами так себе. Ничего особенного в общем. Очень грамотный код я встречал в некоторых проектах Sun, Intel (не все исходники этих компаний мне ведомы ). Хотя это был С, С++ ну и немного асма.
Если вот это например называть"образцово-показательным кодом" - мне вас откровенно жаль.
return "" +
               (char)('@' + (buffer[offset + 0] >> 2)) +
               (char)('@' + (((buffer[offset + 0] & 0x3) << 3) | (buffer[offset + 1] >> 5))) +
               (char)('@' + ((buffer[offset + 1] & 0x1f))) +
               hexdigit((byte)(buffer[offset + 2] >> 4)) +
               hexdigit((byte)(buffer[offset + 2] & 0xf)) +
               hexdigit((byte)(buffer[offset + 3] >> 4)) +
               hexdigit((byte)(buffer[offset + 3] & 0xf));


Я не говорю что весь пингвин написан красиво, я конкретный вопрос задал - чем Singularity принципиально лучше? Пока никто грамотно ответить не может. Хоя я конечно многого хочу, проект только релизнулся, насколько я понял.

GVL |08.03.2008 19:18
Комментарии: 12

Зарегистрирован: 28.10.2005 18:16

Не знаю, какой смысл вы вкладываете в «сам дурак», комментировать не буду. У меня, о вас сложилось впечатление как о человеке, который имеет свое экспертное мнение решительно обо всем на свете, даже о том в чем вы не разбираетесь (исходя из ваших же предыдущих постов).

Я также ожидал «фе» по поводу кода с привидением выдержек, не укладывающихся в понятие идеальных. Ну что ж, это классика высказываний фе – когда говорят в целом - переводить разговор на конкретный кусочек (и наоборот) – будете гарантированно на высоте (что конечно же необходимо для экспертного мнения). Да действительно, там многовато “+ >> &” ну и что с того? Или вы судите о целом проекте только по этому куску?

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

Hmmm |08.03.2008 22:45
Комментарии: 45

Зарегистрирован: 09.08.2006 11:29

Хотите меня пообсуждать? Думаете форумчанам это интереснее чем предмет статьи? Высказывайтесь лучше по существу вопроса.
"Фе" вы ожидали, его вы и получили. Непонятно зачем тогда называть код "идеальным" зная что это не так? В таком поведении я логики не вижу.
Гадания о причинах меня мало интересуют, я тут тоже могу гадать начать, толку то от этого. Что кого к чему побудит вообще неясно. Лично вас к чему эти исходники побуждают? Поделились бы своими задумками, хоть о чем то конструктивном поговорить можно бы было.
Вот меня эти исходники побудили отправить проект "ффтопку", и заметьте в моей оригинальной фразе стояло IMHO (In My Humble Opinion - по моему скромному мнению). Если вырастет вокруг этой поделки нормальное community, может быть чего путное и получится. Но лично мне гораздо интереснее рабочие системы исследовать, поскольку они просто в силу своего "боевого" применения вынуждены функционировать грамотно. А пока у Singularity ничего кроме смутных ожиданий чего то великого на горизонте. Да если бы было желание в рабочих ОС покопатся ведь никаких проблем, открытого кода навалом, городить очередного кадавра какой смысл?

GVL |08.03.2008 23:59
Комментарии: 12

Зарегистрирован: 28.10.2005 18:16

Да, согласен давайте лучше по теме…
Код там действительно отличный, зря вы его хаете. Я уже успел пошагать в отладчике по некоторым модулям. Все достаточно прозрачно, так что с понимаем проблем не будет.
Лично меня этот проект побуждает к его исследованию (как наверное и многих других) форумчан. Конкретных задумок пока нет, по-разбираться сначала нужно. На счет туманного будущего тут согласен. Вот надыбал интересные размышления по теме, хотя и староватая статья но все равно: http://www.applematters.com/index.php/section/comments/singularity/

Roman I Khimov |09.03.2008 10:09
Комментарии: 952


Hmmm, проект давно уже существует, была информация по нему, в доках (которые в комплекте с исходниками) очень неплохо поясняется, какие задачи проект решает и как. Сами исходники здесь важны меньше всего. Кроме одного момента: что дальше?..

Hmmm |09.03.2008 22:55
Комментарии: 45

Зарегистрирован: 09.08.2006 11:29

Да понимаю я Роман, что существует. Собственно документацию я читаю, впечатление пока тягостное. Что это за подход: современные ОС базируются на технологиях 70-х, зато у нас новый язык C# завалялся, мы на нем ОС напишем и будет она от этого лучше всех. Дальше лучше: Зачем ОС пишете? Для исследований. А чего исследовать будете? Исследовать будем все. (OS, language, or tool innovations)
Может у меня мозги в таком ключе думать не приспособлены, но я постановки задачи так и не увидел.
Singularity improves system reliability by attempting to mitigate sources of unreliability as early as possible in the life of a system.
Вообще шедевр мысли. Код мы будем писать без ошибок, а оборудование у нас будет работать без сбоев. Остальные дураки и до такой простой мысли никто еще не допирал. Увы, в реальности все сложнее, и того г-на что повылезет несмотря на все ухищрения хватит что бы основательно испортить жизнь и позабыть о прошлых достижениях.
Дальше комментировать не хочу. Особенно не хочу комментировать SDN14 Tracing.pdf
Потому что это не подход а детский лепет по сравнению с вот этим хотя бы: Hidden in Plain Sight

changer |11.03.2008 23:41
Комментарии: 15

Зарегистрирован: 13.10.2007 05:55

Ну что, произошёл момент, оказывается все рассуждения что написать там что-то чего-то не реально, просто барахло и ковыряние пальцем сами знаете где. Небольшая команда затыкает всех за пояс, сколько они там писали по времени, а? Я хоть и не фэн C# & Co. но что я увидел - это действительно красиво и понятно. Очень необычный подход, и красивая реализация средствами ООП. Правда мужики там вообще без понятия о том что всякие префиксы а-ля "Венгерская нотация" облегчает жизнь не только себе, но и коллегам по цеху. А в остальном... вполне жизнеспособное дитё, с далеко идущими последствиями. В чём правда я так и не разобрался, зачем они пошли на этот шаг опубликования? Могли бы и не делать, и никто бы на этом свете не обломался. Т.к. фундаменталисты всё равно будут сидеть с рантаймом а-ля середина 80-х, 90-х, и со всей отречённостью доказывать свои религиозные взгляды, хи-хи.

2GVL: респект за обстоятельную дискуссию! Дальше так!

ossadchy |13.03.2008 20:12
Комментарии: 58

Зарегистрирован: 10.10.2007 22:55

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

Чем лучше Linuxа? Ну вопрос откровенно... как бы помягче... глупый. Это исследовательская ОС, если вас таковые не интересуют -- не смотрите. Но не кничать же -- нафик это надо и т.д. -- просто уже смешно.

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

В общем пошел соурс читать я.

ossadchy |13.03.2008 20:22
Комментарии: 58

Зарегистрирован: 10.10.2007 22:55

а венгерская нотация -- бред полный.

Dron |13.03.2008 21:07
Комментарии: 558


Венгенская нотация, отражающая информацию о типе - бред полный...

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

Hmmm |13.03.2008 22:31
Комментарии: 45

Зарегистрирован: 09.08.2006 11:29

Вы ossadchy как всегда, даже в код не заглянули а мнение имеете

changer |13.03.2008 23:46
Комментарии: 15

Зарегистрирован: 13.10.2007 05:55

2ossadchy: Ну подарок - не подарок, НО! Могли и не выпускать, а потом(как всё более-менее продвинулось) только поставить весь мир перед фактом, как обычно и делали раньше.

2ossadchy&dron: Да понятное дело, что если брать в чистой форме - это далеко не предмет воздыханий. НО! При всём при том, рациональное зерно там есть, и при этом высокомерно сотрясать воздух "бредом полным" весьма тупо. На одном IntelleSense не уедешь, и доверяться там... история отдельная. Ну да ладно, сопли тут мазать. Вообще-то разговор шёл о Сингулярити, и там применение какой-либо весёлой нотации не обломило бы код ни на грамм.

changer |14.03.2008 02:15
Комментарии: 15

Зарегистрирован: 13.10.2007 05:55

На мой взгляд, народ из Микрософта решил на этот раз не навязывать концепт обществу, а попустился на медленное проникновение, чтобы снова не получить на погоны очередной какой-нибуть "сакс" или "маздай", читай обвинения в использовании выгод от монопольного положения. Наверное в этом основной упор этого шага - выпуск Буратино с задатками быть откомпилированным или/и интерпретированным. Хм. Всё же есть радостные проявления, тенденция на максимально возможную привязку на всякие там объекты и ООП-дела, их рантайм&Co. весьма интересный с этих позиций. Есть конечно моменты, от чего коробит, и что не нравятся. Но это в целом, позитивная тенденция. Правда с одним крепким минусом, на мой взгляд, опять к базовому велосипеду приделаны крылья и движки от сверхзвукового истребителя. Можно было быть и поскромней и более детальным(движки там подвесятся ой какие! ), и не устраивать зоопарк языковых расширений, слишком уж мудрёно-запутанно получилось. Наверное оно ok, и потом лет через 10 станет негласным стандартом. Очень интересный вопрос, который назревал последние лет наверное 10-15. Тут с одной стороны не хочется ударится в какой-нибуть фундаментализм или ортодоксальность, и потерять грань разумности. Но при этом, на день сегодняшний сиё видится очень перегруженным. Тут конечно играет свою роль реактивность мышления, видно в общем будет что. С 3-ей стороны, как я уже говорил, что это высококлассный пример, что операционки создаются и нынче, и ни разу не заезжанный шаблон, а какой-то шажок в новое. Позитив.

Dron |14.03.2008 10:12
Комментарии: 558


Ну ОПЕРАЦИОНКА - это громко сказано. там кроме шелла ничего нету. Да половина из присутствующих написали более существенные вещи.

Но это КОНЦЕПЦИЯ - можно сказать концепт-ос . Кстати лицензия запрещает ее модицифировать вроде - изучайте, компилите пжалста...

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

changer |15.03.2008 03:24
Комментарии: 15

Зарегистрирован: 13.10.2007 05:55

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

Я даже не знал, что они ещё и всем руки повязали. Всё равно "это" никто по прямому назначению пока юзать не станет, кроме самого Майкрософта. Смысла-то? Разве что посмотреть внутрь, да какие-нибудь интересные моменты для себя перенять, померятся какими-либо девайсами у кого длиннее-шире там. Больше толку я пока не вижу. Так... в плане "есть ли жизнь на Марсе, и как Марсиане выглядят".

А по поводу несчастной нотации имён(я спец. не называю "венгерской", т.к. последнею сам не рекомендую использовать)... Это когда переменная лежит в пределах нескольких экранов текста, то ещё можно жить. Иначе - что-то из тем клуба любителей садо-мазо шалостей. Это раз. А 2, дело в том что аффтар хоть и жжёт, но кроме автора есть и коллеги по гильдии, который по характеру работы юзают или читаю тот код. Ну и есс-но ненотированный код понять с наскоку не редко во всей мешанине, что любят некоторые деятели культуры устраивать, делают его не то что нечитаемым, нет, ещё хлеще, просто непонимаемым за разумный интервал времени. На что вываливается законное: "какой идиот это написал!?". 3-е во всём, тема эгоизма. Я такой крутой, что спасу мне нету, гуру во плоти. Свои изречения я-то понимаю. А вот остальные коллеги по ремесленному цеху парятся, и всаживают своё время чтобы понять. На мой взгляд шикарно, и без того личного времени мало, ещё на код каких-то эгоистов трать своё драгоценное время, ЩАЗ. Действительно ФТОПКУ, ну или в крайнем случае если жмёт, то по БОЛЬШОЙ нужде. Короче, с эгоистами работать - себе в убыток. Они о себе подумали, им-то хорошо: удобно и комфортно, а остальным далеко не всегда оно так.

Есть ещё более жестокие и серьёзные моменты в плане бузинесса. О чём речь? А речь о том, что с пробором на всё укладывать не надо. Далеко не всегда история позволяет локализоваться. А бывает так, что сама по себе локализация глупа, а когда и вредна, и к машине Формель Айнс якорь баржи сзади прилепливать, далеко не всегда кошерно. Ну и что получается? Мешанина кода, тут юзаем, там не юзаем. Оно визуально выглядит весьма потрясно, и делает не программу, а очень загадочную такую женщину со своими манерными тайнами. Так лучше коли такая история - везде использовать и без исключений. Пройдёт время адаптации, а там и аллес кляр и коллеги не воют и не рычат на тебя. Пошли вечером, да пиффка в клубе как следует попили - это ли не романтика?

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

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

ossadchy |19.03.2008 21:27
Комментарии: 58

Зарегистрирован: 10.10.2007 22:55

2Hmmm: мое мнение по сабжу было сформировано еще раньше, т.к. с основами достаточно детально познакомился, а вот соурс в данный момент почитал и остаюсь на своих позициях
2changer: ну код документируется, пишутся книги по архитектуре и масса прочей бумажной продукции. не думаю что аналогичный код на C читать легче(хотя неплохо ориентируюсь в коде ChorusOS, FreeBSD, Linux, Mach, Fiasco и т.д. -- в целом все зависит от того насколько сабж интересен)

ossadchy |19.03.2008 21:48
Комментарии: 58

Зарегистрирован: 10.10.2007 22:55

2dron:
1. венгерская нотация как раз отражает ТИП переменной
2. ну если бы написали тетрис и прочее, конечно многие бы сказали ВАХ. хотя, думаю, присутствующие здесь понимают что это кардинально положения не меняет
2changer:
перенавороченность в плане языковых расширений -- факт. та же JNode обходится более естественными механизмами, равно как и JX.

Dron |19.03.2008 22:54
Комментарии: 558


2ossadchy: В оригинале венгерская нотация использует префиксы для указания функционального назначения объекта.

http://msdn2.microsoft.com/en-us/library/aa260976(VS.60).aspx

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

Надо сказать что родилась эта нотация не в 99-м году, а значительно раньше, возможно к этому времени она уже достаточно извратилась.

Hmmm |20.03.2008 00:41
Комментарии: 45

Зарегистрирован: 09.08.2006 11:29

2ossadchy: Код поизучали, это хорошо. Так в чем смысл системы теперь сформулировать можете? Может нашли в ней оригинальные архитектурные решения, которых вы не заметили в "ChorusOS, FreeBSD, Linux, Mach, Fiasco и т.д." Программы мало читать, желательно еще понимать как они работают.
2Dron: +1
по поводу венгерской нотации этот линк мне кажется лучше - Как заставить неправильный код выглядеть неправильно

Dron |20.03.2008 10:02
Комментарии: 558


Hmmm, Да Джоэл хорошо все расписал, я просто пытался найти оригинальный документ

ossadchy |20.03.2008 17:31
Комментарии: 58

Зарегистрирован: 10.10.2007 22:55

2Dron: имелась в виду венгерская нотация в исполнении MS
2Hmmm: да смысл говорить то что было сказано много раз уже, вы просто отказываетесь это воспринимать. Ну если коротко, то SIP вот есть та отличительная особенность.

По поводу "надо понимать", собственно, не много ли на себя берете? справитесь?

Код прочтен, если он понят. При чем как правило каждое такое "прочтение" подразумевало практическую работу с кодом -- его изменение и т.д.

ossadchy |20.03.2008 17:33
Комментарии: 58

Зарегистрирован: 10.10.2007 22:55

2Dron: http://local.joelonsoftware.com/mediawiki/index.php/Как_заставить_неправильный_код_выглядеть_неправильно -- вот тут чётко сказано что есть венгерская нотация. Thanks to mr.(dr.?) Hmmm.

Hmmm |21.03.2008 15:12
Комментарии: 45

Зарегистрирован: 09.08.2006 11:29

2cmp: You're welcome. mr. - еще ничего, но вот dr. - точно мимо
Я в курсе что такое майкрософтовский SIP, лично мне представлялось что реализация будет несколько "поумнее". Я совсем не против самой идеи, просто представлял себе несколько иную реализацию, которая была бы абсолютно универсальной и не ориентировалась на анализ промежуточного кода, сборщики мусора и т.п. То что я увидел в SIPе - суть софтверная защита памяти с постоянной проверкой типов и даже значений. Вот этого хотелось бы избежать, поскольку в большинстве случаев такие проверки окажутся избыточными и выйгрыша от софтверной реализации заложенных в x86 процессор аппаратных механизмов не получится. Было бы интересно другое, вот если бы в майкрософт предложили базовую иерархию классов, для которых была бы математически доказана невозможность нарушения привилегий при любой суперпозиции вызовов с одной стороны и соответствие результатов работы предложенной спецификации с другой... Короче мои мечты. В Singularity меня возмутило именно несоответствие подхода и поставленные задачи. Я ожидал увидеть что то более "наукообразное", если хотите. А такой подход я и сам развивал, пока не увидел что получается очередная поделка на тему. Сами посудите, можно ли полностью автоматизировать поиск НДВ? Увы, на данном этапе развития языков программирования - нет. А так можно было бы предложить вообще универсальную схему оценки адекватности реализации к поставленной задаче. Тем более сейчас на первый план выходят распределенные вычисления, кластеры, локальный кранчинг это уже прошлый век. Искать НДВ (а это то чем мне приходится заниматься) в таких системах - повеситься можно. Поэтому я вынужден именно понимать как работает система, а не просто проглядывать код узнавая знакомые конструкции.

Hmmm |21.03.2008 15:13
Комментарии: 45

Зарегистрирован: 09.08.2006 11:29

Я дебил, прошу прощения. Конечно имелся в виду ответ mr. (dr.) ossadchy

changer |23.03.2008 08:25
Комментарии: 15

Зарегистрирован: 13.10.2007 05:55

2ossadchy: Да то что код документируется и книги даже пишутся - это понятно. Обычно когда код/платформа устаканились, и появилась обратная реакция. Но до этого-то как? Это один момент, другой, как бы там ни было, ненормированный код всякими там нотациями воспринимается всяко сложнее. Т.к. постоянно приходится уточнять кто там, и что имел в виду. Поэтому книги/детальные доки хорошо и нужно, но для проектов, начавших только развиваться, это убиться об угол стола. Слишком дорого(иначе вся команда превратится в вечных журналистов), что до написания шедевра разок на 10-ый всё подкорректируется, не в целом, а так... на мелочах среднего плана, уже достаточно. Поэтому не надо закрывать глаза на проблему: "доки рулез". А надо действовать, так, чтобы и не читая все доки, любой адекватный человек мог после относительно небольшого промежутка времени влиться в проект, в какую-нибудь часть ненапряжно. А нужно-то что? Банально, какая-нибудь клёвая нотация кода, чтобы не пялиться на всё очень долго. В общем, создавая свой "шедевр", надо ещё и грань разумности удерживать, чтобы сиё могли понять и другие клёвые программеры, потратив совсем немного времени. Т.е. писать, и ещё задумываться время от времени об адекватности написанного для коллег. Это не просто, но надо. Какая-нибудь нотация(желательно очень интересная, и при этом разумно простая) в этом - это первый шаг на встречу другим. Что касается кода C&Co. - то там это само собой разумеющееся нынче. Уже 3-ие тысячелетие, и времена не зачаточные для нашего ремесла в делах фундаментальных, для шабашки и лажи что пишется временами на работе(и по работе) по принципу "quick&dirty" что попало - оно ok, шефский этаж будет ходить со своим локальным восторгом. Однако, если дело касается чего-то там интересного - то руки прочь, писать - так писать: жёстко, и понятно. Эту грань хорошо мужики из проекта Сингулярити пронесли, однако... на нотации похоже поругались или остановились на панкушнике: "мама - Анархия, папа - стакан портвейна"(лишь бы срослось, лишь бы работало), либо вообще пофигизмом гуру занялись.

Про тетрис и т.д. что было сказано - это было хорошо! Тема! Мне понравилось. Ужесточить можно.

Мне их языковые расширения встали комом в горле: "нафига"? Ну первичное "нафига"-то понятно, но в целом-то нафига? ) Разум не отказал, но наверное надо к этим расширением предполагать, что прилагаются в коробке с C# несколько тайских спа-массажисток и кресло программера "Код - вечный Аргазм". ) Опять разумный минимализм ушами к стенке приколотили, и сделали Чебурашку с весьма развесистыми ушами.

2остальным: я так побулькал о своём, что нотация там в никуда, ну это их проблемы, большому кораблю - большую торпеду, их это погубит. )

2Hmmm: Я не спец в теме НДВ. С другой стороны, если посмотреть на проблему, то компилятор C# поделка вообще закрытого плана. И что он может подключить к коду - вообще тьма(зачем даже остальное обсуждать?). С Си++(вернее с рантаймами) ещё как-то жить в этом плане можно. Но что ТО в своём рантайме может подключить на исполнение... так что попало. Даже не доходя до конструкций, что там делается в операционке, что нам выложили. Поэтому сия поделка, вредна по своей природе, даже не стоит искать там закладок и прочих прелестей, тратить своё время. В этом плане ФТОПКУ. Плюс, замечу в том, что разработчики, всё же, более-менее все запчасти затолкали в ООП-обёртку, и оно интересно между собой связанно. Это шаг вперёд, точнее я бы сказал, для всех остальных классный пример, и красная тряпка, как команда вперёд, т.е. доводить(или выпускать наконец-то!) детища до чего-то подобного в этом плане.

ossadchy |08.04.2008 19:38
Комментарии: 58

Зарегистрирован: 10.10.2007 22:55

2changer: в общем подход из ряда "зачем нам техзадание, это трата времени". Вот Dron как-то упоминал, что начал все записывать, собственно документирование необходимо для любого мало-мальски серьезного проекта. Это есть хороший стиль и подход к работе, и обсуждать это как-то несерьезно.

2все: точно так же несерьезно рассуждать на тему "надо улучшать подходы к разработке ОС или нет". конечно надо. Возможно подход в духе Oberon(ну и JNode, Singularity и пр.) не идеальный, но это шаг вперед. И это боольшой плюс и пример всем интересующимся разработкой ОС и околоОСевых компонент.

changer |09.04.2008 01:32
Комментарии: 15

Зарегистрирован: 13.10.2007 05:55

@ossadchy: Не-не, о ТЗ вообще речь не шла, отдельная тема. Поэтому придётся пояснить, т.к. сам с другой стороны не дал нужный акцент, определяющий конечный смысл(к сожалению - это писанина, а не личная беседа в реале). Итак, разговор шёл про код, который способен самодокументироваться(в разумных пределах есс-но) с помощью нормализации имён по какой-либо нотации. Что по сути, не редко заменяет детальные документации на начальных(допустим, плывём к альфе) стадиях развития проекта. Журналистика разработчиков поэтому остаётся весьма на умеренном уровне. Создаётся содержимое доки по мере появления надобности. Т.е. там есс-но присутствует описание структуры проекта, взаимодействий объектов, возможная алгоритмика и т.д и т.п. А вся мелочная бухгалтерия, остаётся в коде. ТЗ есс-но задокументировано как полагается, вплоть до бизнес-плана, если треба. И о присутствии/отсутствии ТЗ нём вообще речь не идёт, оно само собой разумеющееся и подразумевающееся.

Абсолютно согласен с Вами по поводу подходов "что улучшать". Скажу так: об этом говорить не надо много. Самое лучшее из всего - делать самому. Утвердительно подтверждая и проталкивая свою идейную базу на практике. Соратники и товарищи появятся.

Dron |09.04.2008 11:50
Комментарии: 558


2ossadchy: Документация несомненно нужна. Но чтобы писать докумментацию надо понимать что ты пишешь собствено. Нет смысла при нулевом уровне знаний, опыта и проекта начинать с доккументации, потому что всеравно ничего не понятно.

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

2changer: А документацию в коде не люблю. ИМХО она ухудшает прозрачность кода. Хотя это типично программистский подход...

Dron |09.04.2008 11:52
Комментарии: 558


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

Технические подробности прояснятся на этапе разработки. Собствено и техзадание в процессе разработки тоже может трансформироваться в соответствии с суровыми реалиями

ossadchy |03.05.2008 13:58
Комментарии: 58

Зарегистрирован: 10.10.2007 22:55

Dron, выводы с вышесказанного?



Комментарии доступны только авторизованным пользователям, авторизуйтесь или зарегистрируйтесь на сайте здесь

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.