Когда не работаю, многие читают bash.org.ru или anekdot.ru .
а этой зимой я от скуки начал перечитывать сайт ОС Инферно .
Пришёл с тоской, потому что хоть меня и тянуло к Inferno, я ожидал от чтения документации по Inferno не меньше практической пользы, чем от вышеупомянутых сайтов.
Но произошло нечто неожиданное — во время чтения ко мне пришло озарение: я понял, что OS Inferno — это не операционная система, а среда разработки ! Звучит странно? Да.
Это особенно странно, если учесть, что на сайте Inferno первое предложение звучит так: «Inferno — компактная операционная система.
».
Суть в том, что когда говоришь «операционная система» в наше время, в головах людей появляются настольные Windows и Linux, а с ними начинают сравнивать любую другую ОС.
Мало кто задумается о серверных операционных системах помимо десктопных.
Но Inferno кажется недостаточным даже для сервера; Я не говорю о десктопе.
Таким образом, сравнив Inferno с Windows и Linux, мы приходим к очевидному выводу, что Inferno хоть и потрясающая, но «игрушечная» ОС.
Возможно, в будущем, когда в Inferno появятся bash, apache, mysql, perl, vi и mplayer, он станет более-менее пригодным для использования.
Будущее уже наступило, в последний раз Я выбрал Inferno около 5 лет назад. и что? Но ничего не изменилось, в Inferno по-прежнему нет bash, apache, mysql, perl, vi и mplayer! Моё прозрение можно описать так: Inferno — это скорее не ОС, а что-то вроде обычная служба, разделяющая ресурсы компьютера, на котором она запущена, с сетью по протоколу Стикс .
Да, это, мягко говоря , не совсем точное описание Inferno. ;-) но оно моментально изменило ВСЁ: я перестал чувствовать дискомфорт из-за отсутствия привычного софта в Inferno - я прекрасно могу продолжать работать в Linux, используя обычный Vim (с подсветка синтаксиса для Limbo !), bash, mc за разработку программного обеспечения для Inferno! Более того, после нескольких дней интенсивной работы с Inferno я вообще стал склонен рассматривать Inferno не как ОС, а как.
язык программирования! :) Например, можно сравнить Inferno/Limbo и мой любимый Perl. В обоих случаях я пишу программу, она компилируется в байт-код, а затем выполняется внутри виртуальной машины.
Моя программа имеет доступ к некоторым абстракциям высокого уровня и системным вызовам низкого уровня (системным вызовам).
Так что в обоих случаях можно реализовать практически любую задачу, и работать они скорее всего будут с сопоставимой скоростью (кстати, я проводил некоторый тесты , который это подтвердил).
Единственное существенное отличие — это среда, с которой взаимодействует моя программа:
- Perl предоставляет «более чем один способ сделать это», множество высокоуровневых вещей, таких как структурные, объектно-ориентированные и функциональные (карта, grep, сортировка,.
) стили программирования; скалярные переменные, отсутствие проверки типов и многое другое, что делает программирование удобным.
- Inferno предоставляет очень простую и элегантную среду, скрывая от меня кошмары архитектуры ядра POSIX/Linux/Glibc и реализации.
Он также обеспечивает гораздо больший контроль над используемыми ресурсами (perl не просто использует много памяти, он просто съедает ее!), не заставляя меня программировать на слишком низком уровне: вызвать free(), вручную создать строки из массивы символов, вызывать функцию каждый раз, когда мне нужно сравнить или скопировать строки и т. д.
Эти определения просто пытаются описать отношение к Inferno, то есть не «что такое Inferno», а «как использовать Inferno».
Например, когда я начинаю сравнивать Inferno и Perl, это происходит потому, что когда мне нужно разработать приложение, я могу использовать либо Inferno/Limbo, либо Linux/Perl. С большой вероятностью размер кода, скорость разработки и выполнения будут сопоставимы.
И когда мне нужно будет выбрать наиболее подходящую платформу для реализации этой задачи, я выберу между очень богатым и гибким Perl на некрасивой архитектуре Linux или между не таким богатым и гибким, но очень простым Limbo на удивительной архитектуре Inferno. Например, если вам нужно написать парсер веб-страниц, анализатор журналов и другие приложения для обработки текста, для этих задач нет ничего лучше Perl. Но если вам нужно что-то более низкоуровневое, например, сложный сервер с асинхронным вводом-выводом, то писать такие вещи на Inferno/Limbo будет гораздо проще и приятнее.
Что касается существующих приложений в Inferno (браузера, например), то, насколько я понимаю, это примеры приложений, и не более того.
Это всего лишь демонстрация возможностей системы, а для демо-версий они более чем впечатляют!
В целом Inferno — это инструмент. Так же, как, например, язык программирования.
И этот инструмент уже давно готов к использованию в реальных коммерческих приложениях.
И, как любой инструмент, для одних задач он подходит гораздо лучше, чем для других.
Но об этом - в следующий раз .
Теги: #OS #inferno #inferno #limbo #limbo #perl #Software
-
Сколько Вы Экономите, Пополняя Запасы?
19 Oct, 24 -
Кладбище Стартапов Closedclub
19 Oct, 24 -
Крутая Gif-Анимация
19 Oct, 24 -
Первая Тренировка Скаутской Школы!
19 Oct, 24 -
Обмен Электронных Валют Cash 2 Webmoney
19 Oct, 24