Правильно:
— Ребята написали прототип (Singularity), ЗАТЕМ начали строчить статьи "как у нас будет круто", "смотрите какие у нас результаты тестов" и т.п.
— В Ericsson создали erlang, но никому не сказали, опробовали, ЗАТЕМ написали кучу статей, защитили диссертации, где рассказали, как у них все круто и надежно и параллельно.
Неправильно:
— ОС будет крутая! Будет быстро! Вот какая идея! [БОЛЬШАЯ СТАТЬЯ 1 БОЛЬШАЯ СТАТЬЯ 2 БОЛЬШАЯ СТАТЬЯ 3]. А где результаты тестов? Есть downloads? Эээ, да мы еще толком и не начали, вот, эмулятор версия 0.0.0.1 вчера заработал...
— SymADE это революция! Все будет по уму! А почему из файлов только документы? Где в твоих статьях скриншоты? де результаты тестов? Эээээээээ, [1000000 слов], вы не понимаете, [1000 слов], дело в том, что [10000000 слов]. Вот.
Проекты это здорово, дай бог чтобы получилось. Но: есть заметная корреляция между тем, с чего все началось — с дел или со слов, и вышел ли из проекта толк. Почему бы не вложить время, потраченное на распихивание статей по инету, в написание еще хотя бы пары десятков строчек, которых проекту так сильно не хватает.
Здравствуйте, nikov, Вы писали:
N>Давно пора. Я всегда говорил, что кнопка Save — это зло. Только у них не хватает возможности вернуть состояние любой программы на любой момент в прошлом (в том числе, и до прошлого выключения компьютера), и еще делать бранчи. Боюсь только представить, сколько ресурсов будет жрать такая система и как она будет тормозить.
Какие проблемы-то? Версирующие файловые системы давно уже существуют. В частности, то что ты описал УЖЕ делается с помощью ZFS — даже графический интерфейс в GNOME добавили: http://blogs.sun.com/erwann/entry/zfs_on_the_desktop_zfs
Осталось только делать autosave после существенных модификаций.
Здравствуйте, thesz, Вы писали: T>А авторы EROS перешли к написанию другой ОС — Coyotos, — и в процессе поняли, что их текущий ЯП C++ маловыразителен и стали собирать свой собственный язык — BitC.
Кстати, а почему надо обязательно изобретать новый язык? Разве нельзя использовать существующий? Например OCaml (или Nemerle)?
T>>А авторы EROS перешли к написанию другой ОС — Coyotos, — и в процессе поняли, что их текущий ЯП C++ маловыразителен и стали собирать свой собственный язык — BitC. MC>Кстати, а почему надо обязательно изобретать новый язык? Разве нельзя использовать существующий? Например OCaml (или Nemerle)?
Из-за мощности доказательств.
В BitC ты можешь в типе данных или функции написать все необходимые инварианты (и они постоянно работают над расширением — то есть, проверяется, пока не всё, или не так удобно, как хотелось бы). В типе OCaml или Nemerle это, мягко говоря, трудно. Я думаю, сравнимо по сложности с созданием BitC.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Здравствуйте, netch80, Вы писали:
C>>Какие проблемы-то? Версирующие файловые системы давно уже существуют. N>Ну одной из первых была VMS (считаем, середина 80-х). Тонкости подхода не помню — кажется, новая версия открывалась только при открытии, говоря сишным языком, fopen(,"w") — но сохранялось энное количество старых версий.
Угу, регулируемое число версий, до 32768.
N>Но это при чётком оформлении понятия "а вот тут сохранить состояние". А без такого чёткого оформления я что-то плохо себе представляю этот подход...
Это просто нужно ещё добавить транзакционные файловые операции — как в NTFS. Т.е. делаешь "ioctl(fl, IOCTL_ADD_TO_TRANSACTION, trans)", делаешь изменения, а потом делаешь что-то типа "commit_trans(trans);".
Мне представляется маловероятной, но к подобному подходу ("забудьте про файлы", "не надо загружаться") почему-то слишком многие стремятся, начиная с той же MS, дальше любимый Раскиным CanonCat, и так далее...
"A: Вполне реально. Прирост производительности разработчиков от простого перехода в разработке ПО с языка программирования C++ на языки Java и C# оценивается экспертами в 500 % — чем, собственно, и объясняется вытеснение первого языка двумя последними в течение достаточно короткого срока."
N>http://dz.ru/solutions/phantom/ N>кто что думает о подобной инициативе? N>Мне представляется маловероятной, но к подобному подходу ("забудьте про файлы", "не надо загружаться") почему-то слишком многие стремятся, начиная с той же MS, дальше любимый Раскиным CanonCat, и так далее...
Фантому лет 8 не меньше. Это он сейчас проснулся, а родился он давно.
Там плохой основной язык программирования.
При создании Фантома товарищи вдохновлялись идеями EROS. Но, поскольку вдохновение было давно, авторы Фантома ничего недавнего про EROS и его потомков не читали.
А авторы EROS перешли к написанию другой ОС — Coyotos, — и в процессе поняли, что их текущий ЯП C++ маловыразителен и стали собирать свой собственный язык — BitC.
О чем авторы Фантома и не подозревали.
В Фантоме нет разграничения на ядро и пользовательские процессы. Это подаётся авторами, как основное отличие от EROS. Но для такой организации всё равно необходим контроль за ресурсами, но уже на уровне типов. А их в языке толком и нет.
В общем, вот.
По-моему, будет "хотели как лучше, получилось, как всегда".
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Здравствуйте, netch80, Вы писали:
N>Мне представляется маловероятной, но к подобному подходу ("забудьте про файлы", "не надо загружаться") почему-то слишком многие стремятся, начиная с той же MS, дальше любимый Раскиным CanonCat, и так далее...
Давно пора. Я всегда говорил, что кнопка Save — это зло. Только у них не хватает возможности вернуть состояние любой программы на любой момент в прошлом (в том числе, и до прошлого выключения компьютера), и еще делать бранчи. Боюсь только представить, сколько ресурсов будет жрать такая система и как она будет тормозить.
Здравствуйте, Mr.Cat, Вы писали:
MC>Кстати, а почему надо обязательно изобретать новый язык? Разве нельзя использовать существующий? Например OCaml (или Nemerle)?
Потому что ни немерли ни окамл ни подходят на роль низкоуровнегого языка.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, nikov, Вы писали:
N>>Давно пора. Я всегда говорил, что кнопка Save — это зло. Только у них не хватает возможности вернуть состояние любой программы на любой момент в прошлом (в том числе, и до прошлого выключения компьютера), и еще делать бранчи. Боюсь только представить, сколько ресурсов будет жрать такая система и как она будет тормозить. C>Какие проблемы-то? Версирующие файловые системы давно уже существуют.
Ну одной из первых была VMS (считаем, середина 80-х). Тонкости подхода не помню — кажется, новая версия открывалась только при открытии, говоря сишным языком, fopen(,"w") — но сохранялось энное количество старых версий.
Но это при чётком оформлении понятия "а вот тут сохранить состояние". А без такого чёткого оформления я что-то плохо себе представляю этот подход...
Здравствуйте, Mr.Cat, Вы писали:
T>>А авторы EROS перешли к написанию другой ОС — Coyotos, — и в процессе поняли, что их текущий ЯП C++ маловыразителен и стали собирать свой собственный язык — BitC. MC>Кстати, а почему надо обязательно изобретать новый язык? Разве нельзя использовать существующий? Например OCaml (или Nemerle)?
У них цель — сделать полностью доказанное микроядро. Т.е. оно будет даже теоретически работать всегда корректно в отсутствие аппаратных сбоев.
T>>Фантому лет 8 не меньше. Это он сейчас проснулся, а родился он давно. A>Так они ее уже 8 лет разрабатывают? И она до сих пор у них еще в таком "загадочном" состоянии. Ладно, разбудите меня еще через 8 лет.
Они недавно проснулись и стали снова активно ей заниматься.
Поэтому не всё так плохо, но всё равно плохо.
PS
Со сроком я мог и напутать, но не сильно. Ну, шесть лет, вместо 8. По-моему, всё же, в районе 8.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Название хорошее — "Система призрак". Мне почему-то напомнило "Неуловимый Джо"
А если серьзено, то идея отказаться от сохранения мне нравится.
Но я не понял аргументацию в области:
1. Полного отказа от файлов. Хорошо когда файлы только для одного приложения, но как же разрулить ситуацию, когда один файл может использовать несколько программ? Кстати, нечто подобное было в palmOS — но там это решалось "базами" в памяти, которые могли разделяться между приложениями, ровно как файлы. И, соответственно, сохранять состояние разработчику надо было самому. Но пользователю было удобно. И для слабеньких первых пальмов это было очень эффективным решением.
2. Как согласуется то, что ОС сама всегда сохраняет состояние программы и возможность "перезапустить" программу для лишения проблемы утечки памяти? Если утечка "функциональная" — т.е. система просто не подчищает какие-то испольуемые списки, формально это не мусор, но по факту это неисползуемые программой данные, объем которых будет расти и расти. И будет честно сохраняться операционкой. А при перезапуске программы — честно зачитываться обратно...
3. Что будет с состоянием памяти и сохраненных пользовательских "документов" при обновлении версии программы? Не получится ли что усилия программиста по обеспечению обратной совместимости перебьют плюсы от ликвидации работы с файлами?
Здравствуйте, Кодёнок, Вы писали:
Кё>Правильно: Кё>- Ребята написали прототип (Singularity), ЗАТЕМ начали строчить статьи "как у нас будет круто", "смотрите какие у нас результаты тестов" и т.п. Кё>- В Ericsson создали erlang, но никому не сказали, опробовали, ЗАТЕМ написали кучу статей, защитили диссертации, где рассказали, как у них все круто и надежно и параллельно.
Кё>Неправильно: Кё>- SymADE это революция! Все будет по уму! А почему из файлов только документы? Где в твоих статьях скриншоты? де результаты тестов? Эээээээээ, [1000000 слов], вы не понимаете, [1000 слов], дело в том, что [10000000 слов]. Вот.
Нифига камень в свой огород не пропущу.
а) прототип есть, см. в подписи к каждому моему посту;
б) скриншоты уже не первый год есть, на тех сайтах, где велась и ведётся разработка, на tigris.org можешь посмотреть http://symade.tigris.org/files/documents/6460/44492/file_44492.dat/SymADE%20Demo%20-%20UI%20events.odt (OpenOffice документ);
в) ну ты дай мне денег, сколько потратили в Ericson-е, и тогда уже ожидай результата аналогичной степени завершённости; а то я прихожу к инвестору, а он спрашивает — а у вас коммьюнити есть, а у вас статьи где про это почитать есть?
Здравствуйте, netch80, Вы писали:
N>Hi,
N>http://dz.ru/solutions/phantom/
N>кто что думает о подобной инициативе?
N>Мне представляется маловероятной, но к подобному подходу ("забудьте про файлы", "не надо загружаться") почему-то слишком многие стремятся, начиная с той же MS, дальше любимый Раскиным CanonCat, и так далее...
Проект начался десять лет назад, как там написано, а состоятельность проекта обосновывается на примере чужих, успешных, причем более поздних, разработок. А что своего они тогда имели десять лет назад? И что имеют сейчас? Где скачать прототип?
Мне представляется, что кучка длинноволосых толкиенистов в чёрных рубашках придумала себе новую ролевую игру "Операционная система".
N>>Мне представляется маловероятной, но к подобному подходу ("забудьте про файлы", "не надо загружаться") почему-то слишком многие стремятся, начиная с той же MS, дальше любимый Раскиным CanonCat, и так далее... V>Проект начался десять лет назад, как там написано, а состоятельность проекта обосновывается на примере чужих, успешных, причем более поздних, разработок. А что своего они тогда имели десять лет назад? И что имеют сейчас? Где скачать прототип?
EROS был уже тогда. А что-то похожее по сохранение состояния EROS появилось в Фантоме только недавно.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Здравствуйте, artem_korneev, Вы писали:
M>>а) прототип есть, см. в подписи к каждому моему посту;
_>Это прототип среды разработки, насколько я понимаю. А где посмотреть на прототип OS?
Я о SymADE отвечал. Которая к фантому отношения не имеет.
А о прототипе надо у thesz спрашивать, он похоже в курсе.
Здравствуйте, nikov, Вы писали:
T>>Со сроком я мог и напутать, но не сильно. Ну, шесть лет, вместо 8. По-моему, всё же, в районе 8.
N>На сайте утверждают, что с 1998 года, то есть почти 11.
Я вот немного приобщился к Фантом. В плане почитал главного автора.
На сколько я понимаю, у них и близко нет разработки 8 часов в день 11 лет.
Так, переодически что то делают.
Здравствуйте, fmiracle, Вы писали:
F>А если серьзено, то идея отказаться от сохранения мне нравится.
Я то же хочу. Почему Палм умеет, телефон умеет, а комп нет ?
Вообще собирался свои мысли по этому поводу кристализовать, да руки пока не дошли. А тут всякие Сингулярити да Фантомы. Надо изучить опыт гуру .
F>1. Полного отказа от файлов. Хорошо когда файлы только для одного приложения, но как же разрулить ситуацию, когда один файл может использовать несколько программ? Кстати, нечто подобное было в palmOS — но там это решалось "базами" в памяти, которые могли разделяться между приложениями, ровно как файлы. И, соответственно, сохранять состояние разработчику надо было самому. Но пользователю было удобно. И для слабеньких первых пальмов это было очень эффективным решением.
Я бы сделал так. ФС остаётся, но её деревянный вид, это одно из отображений. Файлы в ФС — это объекты в ОС. К примеру System.String лежит в /System/String файле. Однако возникает проблемма одновременного доступа к обеъкту на запись. Или один читает, а второй меняет. Придётся делать нечто вроде ивентов: event Changed, void SurperssChanged(), делаем пачку изменений, AllowChanged().
Или ещё вариант транзакций. Т.е. пока объект в работе, он лочится. Как только программа перестала его менять, и сказала Commit() он разлочивается + райзается event + система его сотояние запоминает на диске.
F>2. Как согласуется то, что ОС сама всегда сохраняет состояние программы и возможность "перезапустить" программу для лишения проблемы утечки памяти? Если утечка "функциональная" — т.е. система просто не подчищает какие-то испольуемые списки, формально это не мусор, но по факту это неисползуемые программой данные, объем которых будет расти и расти. И будет честно сохраняться операционкой. А при перезапуске программы — честно зачитываться обратно...
Ага. Только никто exit и kill для программы не отменял. На крайних случай halt -r now.
F>3. Что будет с состоянием памяти и сохраненных пользовательских "документов" при обновлении версии программы? Не получится ли что усилия программиста по обеспечению обратной совместимости перебьют плюсы от ликвидации работы с файлами?
Кстати очень инетересный вопрос. Надо подумать, как такое можно реализовать.
Здравствуйте, master_of_shadows, Вы писали:
__>Здравствуйте, fmiracle, Вы писали:
F>>А если серьзено, то идея отказаться от сохранения мне нравится. __>Я то же хочу. Почему Палм умеет, телефон умеет, а комп нет :(?
То, что они умеют, это кривой и грязный хак, который в то же время сочетается с обычной файловой системой в Gallery.
Вообще, мне весь подход кажется весьма... мнээээ... нечестным. Данные, привязанные к программе — это упрощение, которое перестаёт работать, как только один "документ" надо вставить в другой "документ" и отправить по почте.
Здравствуйте, netch80, Вы писали:
N>То, что они умеют, это кривой и грязный хак, который в то же время сочетается с обычной файловой системой в Gallery.
Кто умеет? Палм или телефон? И в чём хаковость Палм-а, если это он?
N>Вообще, мне весь подход кажется весьма... мнээээ... нечестным. Данные, привязанные к программе — это упрощение, которое перестаёт работать, как только один "документ" надо вставить в другой "документ" и отправить по почте.
А в чём проблемма? Один объект добавляется во второй и отправляется .
Здравствуйте, master_of_shadows, Вы писали:
__>Здравствуйте, netch80, Вы писали:
N>>То, что они умеют, это кривой и грязный хак, который в то же время сочетается с обычной файловой системой в Gallery. __>Кто умеет? Палм или телефон? И в чём хаковость Палм-а, если это он?
В том, что данные не хранятся в местной FS или хранятся так, что юзер про это не знает.
N>>Вообще, мне весь подход кажется весьма... мнээээ... нечестным. Данные, привязанные к программе — это упрощение, которое перестаёт работать, как только один "документ" надо вставить в другой "документ" и отправить по почте. __>А в чём проблемма? Один объект добавляется во второй и отправляется :xz: .
Подробнее, пожалуйста. Где что как нажимать. Причём учтите реальность — первый и второй изначально лежат на разных машинах. Рецепт в студию;)
Здравствуйте, netch80, Вы писали:
N>В том, что данные не хранятся в местной FS или хранятся так, что юзер про это не знает.
Я не понимаю . Разъясните пожалуйста.
__>>А в чём проблемма? Один объект добавляется во второй и отправляется .
N>Подробнее, пожалуйста. Где что как нажимать. Причём учтите реальность — первый и второй изначально лежат на разных машинах. Рецепт в студию
Где и что нажимать в чём? В нереализованной концепции? Есть объект А, открытый в программе. Мы берём мышой и тащим в него же объект Б. Программа модифицирует объект А, добавляя в него объект Б. Или как ссылку, или как копию, в зависимости от контекста, выбора пользователя и т.д.
И давайте Вы то же приведёте пример того же самого, но в текущих программах. А то я что то не понимаю: два документа на разных машинах, вставить один в один и отослать. Это пример какого реального действия?