vitus_wagner: My photo 2005 (Default)
[personal profile] vitus_wagner
Похоже, что желание создать нормальное Free Software, в смысле, такое, которое пользователь действительно свободен модифицировать, потому что способен понять, таки начинает у народа возникать.

Вот, например, Tomb, юзер-френдли инструмент для создания криптованных дисков, написанный на shell. Под лозунгом complexity hides insecurity.

Надо, что-ли почитать, и понять, удалось авторам добиться заявленных целей, или insecurity пробралась в проект с другой стороны.

Но в общем и целом подход вполне заслуживает внимания.

Date: 2015-07-25 06:41 am (UTC)
From: [identity profile] otstavnov.com (from livejournal.com)
По-моему, пресловутая "высокоуровневость" шелла во многом обусловлена его особым местом в ОС. Если написать привязки всех утилит к пайтону, на пайтоне тот же код будет сопоставимо компактен, нет?

P.S.: Ну или для sys.* придумать сопоставимый синтаксис.
Edited Date: 2015-07-25 06:45 am (UTC)

Date: 2015-07-25 07:07 am (UTC)
From: [identity profile] permea-kra.livejournal.com
>пайпы, параллельное выполнение. А работа с переменными играет вспомогательную роль.

В таком стиле можно писать, например, на хаскеле. Или на эрланге. Да хоть на перле.

А шелл ужасен. сколь-либо серьезные преобразования формата данных (чтобы вывод одной утилиты скормить другой) на нем - сущее мучение.

Date: 2015-07-25 08:08 am (UTC)
From: [identity profile] permea-kra.livejournal.com
Тогда весь смысл высокоуровневого языка пропадает, поскольку в оном языке можно сцепить функционал с минимальными телодвижениями.

Т.е. я понимаю, что на шелле иначе нельзя, но это не достоинство. Ладно еще, что для преобразований колоночных форматов есть awk, и то хлеб. Но если однострочника на оном не хватает, приходится делать то самое (писать программу на нормальном языке)

Date: 2015-07-25 07:08 am (UTC)
From: [identity profile] otstavnov.com (from livejournal.com)
Если заставить писать для всего, что есть в системе, привязки на языке X (в том смысле, в котором "утилита" является "привязкой" к шеллу), разумеется, ты можешь запустить исполнение чего угодно параллельно с односторонней передачей данных, если в X в принципе есть такие средства. Очевидная же вещь. (Менее очевидные и более смешные вещи будут при двусторонней передаче, на чем сценарные языки для GUI и ломаются).

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

Date: 2015-07-25 07:55 am (UTC)
From: [identity profile] otstavnov.com (from livejournal.com)
Я "заставить" имел в виду только в том смысле, в котором утилита может быть запущены родной конструкцией шелл. (пока Поттеринг rundll для GNU/Linux не придумал.) Мы просто не называем утилитой (ОС) то, что не может быть так запущено. Это логическое принуждение, а не введение какой-то несвободы.

По поводу второго: ты совершенно прав.

Date: 2015-07-25 09:13 am (UTC)
From: [identity profile] otstavnov.com (from livejournal.com)
На сегодня я думаю, что ближайшим аналогом модели печатающего оператора и конвейеров в линейной среде для нелинейной среды может быть акторная (в том виде, до которого ее дотянули в эрланге или акке), а не недообъектная à la си++ и ява (остатки которой мне мерещатся в ява/ЭКМАскрипте, хотя я здесь могу просто ошибаться ввиду недоученности).

При этом я бы очень удивился синтаксису, обеспечивающему такую семантику и сопоставимому по фундаментальной простоте с шеллом. А некоторые моменты с безопасностью в акторной модели, действительно, решались бы (если бы акка не на JVM была реализована).
Edited Date: 2015-07-25 09:19 am (UTC)

Date: 2015-07-25 10:05 pm (UTC)
From: [personal profile] ramendik
Идея заменить утилиты на что-то вроде модулей более строгого языка, была еще в Oberon-системе у Вирта. Не выстрелило.

Аргумент от рынка, у тебя? Или я чего-то не понял?

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

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

June 2025

S M T W T F S
1 234567
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 3rd, 2025 05:02 am
Powered by Dreamwidth Studios