информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыСтрашный баг в WindowsПортрет посетителя
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / operating systems
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Updated] Я опять же повторюсь -- _пользовательские_ интерфейcы не хороши для надстраивания и оперирования ими -- хоть CLI, хоть GUI. 29.12.06 10:07  Число просмотров: 3279
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 29.12.06 10:49  Количество правок: 3
<"чистая" ссылка>
> > А плохо то, что текстовый интерфейс берётся за основу,
> Ориентация программы на текстовые потоки - это не плохо :)
Это -- меньшее зло. Но зло! -))
Сейчас в линухе есть неплохая тенденция использования новой примочки DBUS, шины для локальной доставки сообщений. Вот её вообще достаточно для написания софта. И можно сказать, для написания операционной системы, где всё основано на доставке ообщений -- рулез немерянный -))

> Это в первую очередь удобный и прозрачный способ для
> взаимодействия программ между собой (можно вызывать их из
> своих программ, связывать их в конвейер, передавая вывод
> одной команды на вход другой, и т.д.), и лишь во вторую
> очередь - это пользовательский интерфейс (возможно, не
> самый удобный). Традиционно в *nix выше ценится первое, чем
> второе. Так уж сложилось :)
Нда... Вот что значит сила привычки, своя трава самая удобная и прозрачная и забористее -)).
В текстовых потоках мультиплексируется канал управления и канал данных, причём в каждой программе таким способом, на какой хватило фантазии разработчика. Полоса пропускания тоже -- для двоичных данных приходится всё это кодировать дабы втиснуть в существующие ограничения. Одному нравится BASE64. Кому-то что-то другое. И т.д, и т.п...

Вопрос: нафига частную реализацию IPC применять как основу? А я скажу вам, почему так получилось. Патамушта C и UNIX. -))

Запустите Dolphin SmallTalk X6, к примеру... Маленькая виртуальная машина, призванная заниматься одним — максимально быстро создавать объекты, и передавать им сообщения... Чистый интерпретатор...
Нетипизированный. О Боже!!! А как же т.н безопасность? Безопасность, её никогда нет, на самом деле. Адептов переносимого ассемблера заботит не "безопасность", а чтобы ихний процес не прибивался осью от неверных параметров. Или чтобы оперативная память процесса не покорёжилась от неправильной работы с указателями... Если что-то не нравится (неверные параметры), но они объективно существуют, то стыдно прятать голову в песок, вводя ограничения в язык!
Cуществуют "неверные" параметры. Кому неверные? Когда неверные? Это всё субъективно достаточно... Все параметры чудесны -)) Сегодня они неверные, а завтра... Кто знает? Нельзя "всеведение" вводить в программирование, этим утрачивается гибкость изменений. А всё течёт, всё изменяется...

SmallTalk может передать какое угодно сообщение какому угодно объекту или классу... Не падает, не переполняется... Просто работает, и всё... На моей машине считает факториал 10000 за ~180 миллисекунд, без плясок с бубнами подключения библиотек работы с большими числами... Причём сама процедура вычисления факториала -- тоже интерпретируемая.
factorial2p
	"Private - 2-partition fast factorial algorithm from 'Fast Computation of Factorials of Numbers',
	Thompson & Ugur."

	| x0 x1 x2 |
	self < 2 ifTrue: [^self < 0 ifTrue: [self error: 'negative factorial'] ifFalse: [1]].
	x0 := 2.
	x1 := 10.
	x2 := x0.
	self // 2 - 1 timesRepeat: 
			[x0 := x0 + x1.
			x1 := x1 + 8.
			x2 := x2 * x0].
	self odd ifTrue: [x2 := x2 * self].
	^x2

---


Чем больше я смотрю на SmallTalk, тем сильнее я ненавижу C/C++ с юниксом и вендами, интерпретируемые среды, ну может быть с вкраплениями "переносимого ассемблера" — это то, чем должны были стать операционные системы, но не стали. Аминь.

И есть поле для развития -- к примеру, во время простоя система может заниматься компилированием тех своих участков, которые давно не менялись, и место есть для машкода. Сам язык... В свое время кое-кому показалось, что SmallTalk недостаточно "чист", и фонатеги чистоты занялись разработкой языка Self... Были интересные наработки... потом эти товарищи ушли в Sun Microsystems -))

> Зато поверх CLI легко можно реализовать любой интерфейс -
> для того же wget есть GUI frontend-ы.
Ну давайте про события поговорим. Итак, идёт закачка файла WGet'ом. Оно выводит "красивый" CLI прогресс бар. Моей программе надо знать о состоянии закачки. Да, возможность узнать об этом есть. И она единственная -- парсить самому эту "красоту". Занавес.

В общем, тема флеймообразующая, дальше писать ничего не хочу... -))

[UPDATE]
К чему я это всё? Дабы не было оффтопиком, скажу, что открытые системы типа SmallTalk никогда не будут на службе у корпораций типа M$, им не нужна открытость. Ну и поделом им. Пуcть эти чудесные системы останутся на службе у тех, кто ценит их, оставляя траходром тем, кто его пытается навязать.
[/UPDATE]

Бесплатный Dolphin Smalltalk X6 Community Edition
<operating systems> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach