Как стать автором
Обновить

Комментарии 17

круто, интересно было бы mysql через fuse прикрутить
по сути дела файловая система - это дерево. Фактически все, с чем мы имеем дело - имеет подобную структуру. База данных - это дерево с фиксированным количеством уровней.
Если Вы пользовались плагинами к Тотал Командеру, то наверняка знаете, сколько удобных вещей можно сделать таким образом.
Для разработчиков интерфейсов - файловая система - это идея фикс - воплощение унифицированного интерфейса.
Вопрос в том, насколько будет удобно этим пользоваться
Не совсем так. Само по себе использование файловой системы для реализации интерфейса не определяет, будет интерфейс удобным, или нет. Два примера:
  1. Можно весь интерфейс реализовать в виде единственного файла, который нужно будет открыть, и дальше читать/писать согласно определённому протоколу. В этом случае никакой разницы между использованием "файловой системы Inferno" и обычным unix- или tcp-сокетом для подключением к MySQL нет вообще!
  2. Можно к любому интефейсу на базе "файловой системы Inferno" написать модуль на Limbo, который предоставит любой удобный интерфейс в виде привычных вызовов функций, как любая библиотека на любом языке. Это будет просто обёртка вокруг файловых операций, и таких модулей в стандартной поставке Inferno довольно много.Таким образом, само по себе использование файловой системы никак не ограничивает удобство интерфейса.

    Единственное, что оно меняет - программировать на низком уровне становится намного проще, т.к. программист имеет дело с меньшим кол-вом сущностей. Ну и сама операционка тоже становится значительно проще (а значит - стабильнее и быстрее, кстати).
Спасибо за подробное раскрытие темы, которая была озвучена в последнем предложении

Полностью согласен, что один из существенных плюсов такой файловой системы - это простота обращения к базе данных. Например в юниксе администраторам часто приходится писать командные файлы и теперь при обращении к базе данных можно будет не выходить за рамки команд cp, mv, rm - красота!!!
стабильнее она уж точно не становится. когда вы работаете не с типизированными данными, а с каналами байт(например), интерпретируя эти байты как душе угодно, фактически вы теряете всякую типизацию. отсюда неуловимые компилятором ошибки, и сложность в апгрейде вашего кода, поскольку изменись формат данных в вашем канале, вы будете глазками искать и ручками править, все места, где новый формат канала требует исправления кода интерпретирующего этот формат.
Если исходить из того, что все (или почти все), абстракции дырявы, то чем меньше этих абстракций - тем лучше. А в Inferno их на порядки меньше, чем в других OS. :)
То, о чём я хочу спросить, возможно, не очень в тему, но покуда в Рунете тема Inferno снова ожила именно здесь, здесь и спрошу:
вот, любят говорить про Инферну: "стоит как гостевая" (приложение то есть) и добавляют "а может и как родная".. А были прецеденты вообще установки её как родной? и если кто в курсе, то можно поподробнее? или хотя бы теоретически...
Сам ищу, могут быть проблемы с поддержкой железа :-)
Поиск рулит: Native inferno, ipwl, & misc. У меня первый образ (inferno1440.img) загрузился под VMware без проблем. Графические не пошли, но, возможно, или VMware можно под них настроить, или использовать Qemu или другой эмулятор. Живьём не пробовал, но, опять же, первый образ должен загрузиться в любом случае (правда, увидит ли он сетевуху - вот вопрос), а графическим для работы вероятно понадобится древняя видуха. В общем, загрузить-то его можно, но смысл? Без сотен драйверов для разнообразного железа запускать что-то нативно смысла мало... а драйвера эти для Inferno писать никто не будет, в этом просто нет смысла.
Спасибо, я тоже, помнится, что-то находил.. Кину, возможно, со временем ссылки. Однако, действительно, хотеть Инферну на современном железе - хм.. Я однако рискну утверждать, что для специальных задач (на специализированных машинах) система ещё может пригодиться весьма...
посмотрел инферну по даигонали, такое впечатление что язык писали люди, настрадавшиеся от скриптов. причем так и не понявшие причины своих страданий...чуть не каждый пример чего-либо сносного предлагает накосячить какой-то скрипт,...а ведь инструментом обьявляется сильно типизированный лимбо!
короче вопрос. синхронизация синхронизацией, а где таймауты елы палы? ну сел я читать канал...а когда я с него соскочу, если туда писать забыли...или писали писали и вдруг забыли?
ну запустил я процедуру как тред, она читает канал, а туда писать перестали. тред застрял, как его убить?
-почему в сильно типизированном языке полным ходом неявно декларируюся переменные просто по типу присваивающего выражения?
навроде myvar:=Expression;
это всегда считалось дурным тоном, когда переменные не декларируются явно с нужным типом, а возникают из "воздуха". да конечно, присвавающее выражение всегда имеет некий тип, и компилятор его знает, но! тип неявный, и читатель программы должен особо разбираться в приведении типов в выражениях и самих типах членов выражения.
запуск просто функции как треда - вроде слабовато? как треду приделать собственные переменные, коотрыми будут пользоваться функции вызываемые в треде? в яве тред это обьект класса, с собственными переменными класса, коими пользуются методы этого класса. все ок. а тут как делать? ручками делать запись - контекст треда? и потом передавать на нее указатель другим функциям? непонятно..впрочем смотрел по диагонали.
блокировку совместно используемых переменных тоже вроде предлагется делать ручками? ничего подобного синхронайзд вроде нет? опять же синхронайзд должен быть с таймаутом, инача встанешь в ожидание освобождения блокировки обьекта и никогда не выйдешь из него.
как работать-то?
подскажите.
И в догонку: господа знатоки Инферны, поделитесь, как вы создавали, а главное удаляли (бы) новых пользователей в системе.. ?
http://www.resc.rdg.ac.uk/twiki/bin/view/Resc/InfernoTutorial
смотреть тут.
написано - взять копию папки inferno из /usr и засунуть ее туда же с именем пользователя. видимо это usr/inferno типа шаблон для пространства пользователя? тайна сия велика есть. но написано открытым текстом - скопировать и все тут.
а чтоб удалить - небось просто удалить папку с именем пользователя?
Всем привет.
А существуют ли веб-серверы на базе инферно или полностью не применимо?

Просто у меня есть программа написанная на C# c самодельной ДБ. Одноко локальная версия. А хочется обеспечить работу с этой ДБ многих пользователей да ещё и через интернет а не локальную сеть.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории