LINUX.ORG.RU
ФорумTalks

Plan 9

 ,


1

6

Продолжаем:

Операционная система Plan9 опередила свое время на 20 лет. Задачи для решения которых она была проектрована еще не стояли перед коммерчским миром IT, во всю испольовался однозадачный DOS, и UNIX более чем хватало для решения проблем.

По этой причине Plan9 не вышла за пределы акадамического круга разработчиков, так и не придя к прикладным разработчикам и админам. И как следствие сильно отстала от мейнстрима, не в плане концепции, а в плане инструментария и драйверов.

До появления ChatGPT казалось, что это отставание вечно, и Plan9 уже не возможно вернуть, так как под UNIX написанны «терра-тонны» кода, и как их портировать. Но LLM дает второй шанс. Так как на LLM можно сложить перевод драйверов и перевод системных библиотек для реализации новых сетевых протоколов таких как QUIС и HTTP/3. Приложения уже напишут разработчики на Go (который поддерживается в Plan9 нативно, команда Роба Пайка не забывает Plan9).

Plan9 действительно отличается от UNIX, так же как UNIX отличается от Windows. Потому, что предоставляет универсальный интерфейс для любых объектов системы. Программисту достаточно понять одну концепцию и он избавляется от необходимости постоянного изучения новых интерфейсов. Это как STDIN/STDOUT распределенные далеко за предлы CLI.

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

Plan9 is not a product

From: s...@ulysses.homer.nj.att.com (Steven Bellovin)
Newsgroups: comp.unix.wizards
Subject: Re: Plan 9? (+ others)
Date: 23 Aug 88 16:19:40 GMT

«Plan 9» — это не продукт и не задумывался как таковой. Это исследование — экспериментальное изучение иного подхода к вычислениям. Разработчики исходили из нескольких базовых предположений: что процессоры стали очень дешёвыми, но мы не умеем эффективно их объединять; что хорошие сетевые технологии крайне важны; что интеллектуальный пользовательский интерфейс (включая растровый дисплей и мышь) — это верное решение; что существующие системы с сетями, мышью и т.д. не являются правильным путём, и в частности, что современные рабочие станции — не тот ориентир, к которому стоит стремиться. (Нет, я не буду утруждать себя объяснением всех их доводов — это материал для отдельной длинной статьи.) В конечном счёте, система UNIX как таковая мертва в качестве инструмента для серьёзных исследований в области структуры операционных систем — она стала слишком громоздкой и слишком ограничена более чем 15-летней историей.


Подробнее:



Последнее исправление: lbvf50txt (всего исправлений: 3)
Ответ на: комментарий от hateyoufeel

Идиомы языкоспецифичные конструкции, паттерны нет.

Паттерны специфичны языкам. Например, в том же хачкеле нет синглтонов.

В гораздо меньшей степени. Если у тебя стратегия, то у тебя стратегия и в джаве и в плюсах и в го. Если у тебя адаптер, то у тебя адаптер и в джаве и в плюсах и в го.

Это просто цикл, чувак.

Это идиоматичный цикл, чувак. Если отойти от формальных определений, то понятие паттерна можно свести к фразе «здесь так носят», а понятие паттерна к «так везде носят».

skiminok1986 ★★★★★
()
Ответ на: комментарий от lbvf50txt

В вопросах Golang, а конкретно работы Боднера - идеоматичность подразумевается шире чем синтаксические конструкции. Скорее подразумевается как стиль письма который густо завязан на парадигме и выбираемой архитектуре (dependency injections).

Я в силу своей необразованности не смог более точно выразить мысль. Ваше сравнение со стилем письма мне понравился, возьму на вооружение.

Разбираясь дальше архитекура определяется парадигмой, а идиомы архитектурой.

Тут, видмио, даже большие доки от программирования не пришли к единому мнению. Возможно, моё сознание покалечено книгами с ламой и альпакой, где идиомы сведены к более простым сущностям, и ближе к идиомам в естественных языках (видимо, Ларри Уолл довлеет над всем, что связано с перлом). Мне интуитивно хочется подвязать идиомы в программировании с идиомами в лингвистике. Вплоть до местечковых идиом на уровне команды или проекта.

skiminok1986 ★★★★★
()
Ответ на: комментарий от hateyoufeel

Это ты lbvf50txt объясняй, он сейчас расскажет про Великую Оптимизацию, которой гошники занимаются.

Писать тяжёлый, медленный и текущий код можно на любом языке программирования. Всегда есть ситуации, когда закидывание железом уже не помогает.

skiminok1986 ★★★★★
()
Ответ на: комментарий от lbvf50txt

Сейчас набегут «сайтописцы» и будут доказывать, что они без алгоритмов уже 20 лет работают, и имеют уважние. И им алгоритмы не нужны.

Для формошлёпства действительно не обязательны.

skiminok1986 ★★★★★
()
Ответ на: комментарий от spbzip

Попробуй написать на Go сканер портов хотя бы, совершенство ты мое архитектурное.

О! Здравствуйте. Как-то мимо меня прошел этот комментарий.

В Golang написать сканер портов на сокетах не сложно. Для этого для заданного адреса запускается цикл по диапазону адресов, и на каждой итерации цикла вызывается DialTimeout. Можно параллелить, разложив диапазон на фрагменты и запустив каждый в горутине.

https://pkg.go.dev/net#DialTimeout

Вызываем метод DailTimeout, отслеживаем error, если nil == error - то помечаем данный порт как открытый.

lbvf50txt
() автор топика
Ответ на: комментарий от skiminok1986

Паттерны специфичны языкам. Например, в том же хачкеле нет синглтонов.

В гораздо меньшей степени. Если у тебя стратегия, то у тебя стратегия и в джаве и в плюсах и в го. Если у тебя адаптер, то у тебя адаптер и в джаве и в плюсах и в го.

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

Это просто цикл, чувак.

Это идиоматичный цикл, чувак.

Что такое идиоматичный код? Это код с идиомами. Что такое идиома? Часть идиоматичного кода. Сепульки! Является ли идиомой следующий код на Си?

for(int i = 0; i < N; i++) {
...
}

Или это просто обычный цикл?

Если отойти от формальных определений, то понятие паттерна можно свести к фразе «здесь так носят», а понятие паттерна к «так везде носят».

Но мы и не подходили к формальным определениям ещё. Как мы можем от них отойти?

Это ты lbvf50txt объясняй, он сейчас расскажет про Великую Оптимизацию, которой гошники занимаются.

Писать тяжёлый, медленный и текущий код можно на любом языке программирования. Всегда есть ситуации, когда закидывание железом уже не помогает.

Можно, конечно. Я к тому веду, что подавляющее большинство голангеров так и делают и никакой особой оптимизации не проводят, пока петух в жопу не трахнет, что несколько противоречит словам ТС.

Впрочем, это справедливо не только для голангеров. Сейчас вообще оптимизацией заниматься не слишком модно.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 2)
Ответ на: комментарий от sanyo1234

В начале XX века в военных лабораториях Первого Рейхсмахта разработали суперсекретный танк, обладавший боевой мощью и сверхоружием, намного опередившим свое время. Для того, чтобы испытать танк и при этом раньше времени не разрушить Европу, он был заброшен в Центральную Африку для порабощения непокорных зусулов. Через некоторое время в целях безопасности все, кто знал о существовании этого проекта, были уничтожены, и о танке забыли.

ptah_alexs ★★★★★
()
Ответ на: комментарий от hateyoufeel

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

Паттерны применимы внутри одной парадигмы. В другой парадигме будут другие паттерны.

Что такое идиоматичный код? Это код с идиомами. Что такое идиома? Часть идиоматичного кода. Сепульки! Является ли идиомой следующий код на Си?

Единственный вариант написания не является идиомой.

Или это просто обычный цикл?

Он.

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

s/голангеров/программистов/

Так правильнее будет. Но те, кто на хайлоаде сидят, те заморачиваются. Да и в целом бывает. У нас почти везде можно не думать, но есть пара сервисов, которые надо очень аккуратно и оптимизированно по скорости писать.

skiminok1986 ★★★★★
()
Ответ на: комментарий от hateyoufeel

Что такое идиоматичный код? Это код с идиомами. Что такое идиома? Часть идиоматичного кода. Сепульки! Является ли идиомой следующий код на Си?

Вот хороший пример идиомы в С. И в С такого поооолно при работе со строками/массивами. На других языках так и близко не пишут.

while (*dst++ = *src++);

urxvt ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)