ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [mdk-re] CD eject in Nau
  @ 2002-01-16 20:25 ` Maksim Otstavnov
  2002-01-16 21:14   ` Alexandre Prokoudine
  2002-01-16 22:55   ` [mdk-re] CD eject in Nau, является огромным конфликтом с automount Roman S
  0 siblings, 2 replies; 15+ messages in thread
From: Maksim Otstavnov @ 2002-01-16 20:25 UTC (permalink / raw)
  To: mandrake-russian

Этот вопрос, кажется, отвечался, но не могу найти.

Как отучить Нау (из Джуниора 1.1) открываться при обращении к CD и
посылать ему eject?


-- 
-- Maksim Otstavnov <maksim@otstavnov.com> http://www.otstavnov.com
-- Infobusiness weekly (http://www.ibusiness.ru),
--  contributing editor





^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [mdk-re] CD eject in Nau
  2002-01-16 20:25 ` [mdk-re] CD eject in Nau Maksim Otstavnov
@ 2002-01-16 21:14   ` Alexandre Prokoudine
  2002-01-16 22:55   ` [mdk-re] CD eject in Nau, является огромным конфликтом с automount Roman S
  1 sibling, 0 replies; 15+ messages in thread
From: Alexandre Prokoudine @ 2002-01-16 21:14 UTC (permalink / raw)
  To: mandrake-russian

On Wed, 16 Jan 2002 20:34:30 +0300
Maksim Otstavnov <maksim@otstavnov.com> wrote:

> Этот вопрос, кажется, отвечался, но не могу найти.
> 
> Как отучить Нау (из Джуниора 1.1) открываться при обращении к CD и
> посылать ему eject?

Этот вопрос отвечался отрицательно: никак. Если хотите, можно
устроить форк Наутилуса. Для этого нужно всего лишь разобраться, где
у него там код обращения в automount  отрезать его нафиг. Вот только
Open Software is like sex. One mistake - and you have to support it
for the rest of your life.  Это я применительно к форкам цитирую
:)))

Главные разработчики не хотят убирать эту фичу, равно как и не хотят
ставить флажок, отключающий/включающий её. Вячеслва Диконов с ними
общался по этому поводу. ПРидётся либо забыть об этом, либо
забомбить разработчиков письмами.

--
Regards,
AP



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [mdk-re] CD eject in Nau, является огромным конфликтом с automount.
  2002-01-16 20:25 ` [mdk-re] CD eject in Nau Maksim Otstavnov
  2002-01-16 21:14   ` Alexandre Prokoudine
@ 2002-01-16 22:55   ` Roman S
  2002-01-17 11:01     ` [mdk-re] Re[2]: " Maksim Otstavnov
  1 sibling, 1 reply; 15+ messages in thread
From: Roman S @ 2002-01-16 22:55 UTC (permalink / raw)
  To: mandrake-russian

[-- Attachment #1: Type: text/plain, Size: 522 bytes --]

On Срд, 2002-01-16 at 20:34, Maksim Otstavnov wrote:
> Этот вопрос, кажется, отвечался, но не могу найти.
> 
> Как отучить Нау (из Джуниора 1.1) открываться при обращении к CD и
> посылать ему eject?
Это конечно, замечательный вопрос, который я сам хотел задать...
Особенно весело это происходит, если натравить на привод CD automount.
Компьютер так забавненько начинает хлопать дверью...
(открывать-закрывать)... :((

Боюсь, придётся править. Оченб тяжелый конфликт получается....
-- 
Rgds!
Roman Savelyev.

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [mdk-re] Re[2]: [mdk-re] CD eject in Nau, является огромным конфликтом с automount.
  2002-01-16 22:55   ` [mdk-re] CD eject in Nau, является огромным конфликтом с automount Roman S
@ 2002-01-17 11:01     ` Maksim Otstavnov
  2002-01-17 12:07       ` Aleksey Novodvorsky
  0 siblings, 1 reply; 15+ messages in thread
From: Maksim Otstavnov @ 2002-01-17 11:01 UTC (permalink / raw)
  To: mandrake-russian

Hello Roman,

Я думаю, мне проще снести Нау к @#$. :)

Wednesday, January 16, 2002, 10:56:05 PM, you wrote:

RS> On Срд, 2002-01-16 at 20:34, Maksim Otstavnov wrote:
>> Этот вопрос, кажется, отвечался, но не могу найти.
>> 
>> Как отучить Нау (из Джуниора 1.1) открываться при обращении к CD и
>> посылать ему eject?
RS> Это конечно, замечательный вопрос, который я сам хотел задать...
RS> Особенно весело это происходит, если натравить на привод CD automount.
RS> Компьютер так забавненько начинает хлопать дверью...
RS> (открывать-закрывать)... :((

RS> Боюсь, придётся править. Оченб тяжелый конфликт получается....



-- 
-- Maksim Otstavnov <maksim@otstavnov.com> http://www.otstavnov.com
-- Infobusiness weekly (http://www.ibusiness.ru),
--  contributing editor





^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [mdk-re] Re[2]: [mdk-re] CD eject in Nau,  является огромным конфликтом с  automount.
  2002-01-17 11:01     ` [mdk-re] Re[2]: " Maksim Otstavnov
@ 2002-01-17 12:07       ` Aleksey Novodvorsky
  2002-01-17 12:22         ` Korshunov Ilya
  2002-01-17 13:32         ` [mdk-re] Re[2]: " Maksim Otstavnov
  0 siblings, 2 replies; 15+ messages in thread
From: Aleksey Novodvorsky @ 2002-01-17 12:07 UTC (permalink / raw)
  To: mandrake-russian

Maksim Otstavnov wrote:

> Hello Roman,
>
> Я думаю, мне проще снести Нау к @#$. :)
>

Так их, яблочников! И мышь у них с одной кнопкой...

Rgrds, AEN




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [mdk-re] Re[2]: [mdk-re] CD eject in Nau,  является огромным конфликтом с  automount.
  2002-01-17 12:07       ` Aleksey Novodvorsky
@ 2002-01-17 12:22         ` Korshunov Ilya
  2002-01-17 13:32         ` [mdk-re] Re[2]: " Maksim Otstavnov
  1 sibling, 0 replies; 15+ messages in thread
From: Korshunov Ilya @ 2002-01-17 12:22 UTC (permalink / raw)
  To: mandrake-russian

On Thu, 17 Jan 2002 12:23:40 +0300
Aleksey Novodvorsky <aen@altlinux.ru> wrote:

> Maksim Otstavnov wrote:
> 
> > Hello Roman,
> >
> > Я думаю, мне проще снести Нау к @#$. :)
> >
> 
> Так их, яблочников! И мышь у них с одной кнопкой...
> 
> Rgrds, AEN
> 

Я бы попросил... ) 
На маке это довольно удобно, и второй кнопки хочется только при игре в Анрыл Турнамент или Кваку.



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [mdk-re] Re[2]: [mdk-re] Re[2]: [mdk-re] CD eject in Nau,  является огромным конфликтом с  automount.
  2002-01-17 12:07       ` Aleksey Novodvorsky
  2002-01-17 12:22         ` Korshunov Ilya
@ 2002-01-17 13:32         ` Maksim Otstavnov
  2002-01-17 14:31           ` Aleksey Novodvorsky
  1 sibling, 1 reply; 15+ messages in thread
From: Maksim Otstavnov @ 2002-01-17 13:32 UTC (permalink / raw)
  To: mandrake-russian

Hello Aleksey,

Да бог с ними, с яблочниками, старуху Изель ведь похоронили? :)

Хуже то, что нормального файлового менеджера графического как не было,
так и нет.

Я, кстати, недавно сообразил, как такое должно быть устроено. Можно
заменить гномовские компоненты выбора файла (при отрытии, сохранении и
т.п.) на такую штучку, на вид и ощупь (look'n'feel) похожую на
панельку в нортоновском стиле, Бонобо-enabled.

Тогда из двух (или n) таких компоненток и пары других (менюшка,
панелька, командная строчка) можно собрать нечто подобное mc, но с
возможностью подмены одной из панелек другой компонентой (например,
вьюером по ассоциации с типом файла, а хоть бы даже и редактором).
Только надо, чтобы вся эта байда с терминалом работала как одно целое,
а не покомпонентно. Было бы очень забавно.

Но никакой надежды соблазнить иказовских ребят такими планами нет.
Бонобо сейчас провисает, так как для него нет реальных (не надуманных)
приложений, а народ усердно занимается клонированием... не самых
удачных решений. И дверцами CD хлопают.

Thursday, January 17, 2002, 12:23:40 PM, you wrote:

AN> Maksim Otstavnov wrote:

>> Hello Roman,
>>
>> Я думаю, мне проще снести Нау к @#$. :)
>>

AN> Так их, яблочников! И мышь у них с одной кнопкой...

AN> Rgrds, AEN




-- 
-- Maksim Otstavnov <maksim@otstavnov.com> http://www.otstavnov.com
-- Infobusiness weekly (http://www.ibusiness.ru),
--  contributing editor





^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [mdk-re] Re[2]: [mdk-re] Re[2]: [mdk-re] CD eject in Nau,   является огромным конфликтом с  automount.
  2002-01-17 13:32         ` [mdk-re] Re[2]: " Maksim Otstavnov
@ 2002-01-17 14:31           ` Aleksey Novodvorsky
  2002-01-17 17:23             ` [mdk-re] Re[2]: " Maksim Otstavnov
  0 siblings, 1 reply; 15+ messages in thread
From: Aleksey Novodvorsky @ 2002-01-17 14:31 UTC (permalink / raw)
  To: mandrake-russian

Maksim Otstavnov wrote:

> Но никакой надежды соблазнить иказовских ребят такими планами нет.
> Бонобо сейчас провисает, так как для него нет реальных (не надуманных)
> приложений,

Да. Забавный был проект OOo-bonobo, но сейчас он в заморозке.

> а народ усердно занимается клонированием... не самых
> удачных решений. И дверцами CD хлопают.

Хуже. Пишут Mono.

Rgrds, AEN

>




^ permalink raw reply	[flat|nested] 15+ messages in thread

* [mdk-re] Re[2]: [mdk-re] Re[2]: [mdk-re] Re[2]: [mdk-re] CD eject in Nau,   является огромным конфликтом с   automount.
  2002-01-17 14:31           ` Aleksey Novodvorsky
@ 2002-01-17 17:23             ` Maksim Otstavnov
  2002-01-17 17:31               ` Aleksey Novodvorsky
  0 siblings, 1 reply; 15+ messages in thread
From: Maksim Otstavnov @ 2002-01-17 17:23 UTC (permalink / raw)
  To: mandrake-russian

Hello Aleksey,

Thursday, January 17, 2002, 2:30:17 PM, you wrote:

>> Но никакой надежды соблазнить иказовских ребят такими планами нет.
>> Бонобо сейчас провисает, так как для него нет реальных (не надуманных)
>> приложений,

AN> Да. Забавный был проект OOo-bonobo, но сейчас он в заморозке.

Насколько я понимаю, ООо не настолько компонентен, чтобы из этого
что-то вышло. В смысле, что-то лучшее OLE в MSOffice.

>> а народ усердно занимается клонированием... не самых
>> удачных решений. И дверцами CD хлопают.

AN> Хуже. Пишут Mono.

Одного порядка. Напишут моно, можно будет хлопать дверцей на соседней
машине... или через Интернет (кстати, кто-то мне говорил, что
ActiveX-компонентом дверцу на СД открыть можно, хотя, возможно, и
издевались). :/

-- 
-- Maksim





^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [mdk-re] Re[2]: [mdk-re] Re[2]: [mdk-re] Re[2]: [mdk-re] CD eject in  Nau,   является огромным конфликтом с  automount.
  2002-01-17 17:23             ` [mdk-re] Re[2]: " Maksim Otstavnov
@ 2002-01-17 17:31               ` Aleksey Novodvorsky
  2002-01-17 21:00                 ` [mdk-re] Re[2]: " Maksim Otstavnov
                                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Aleksey Novodvorsky @ 2002-01-17 17:31 UTC (permalink / raw)
  To: mandrake-russian

Maksim Otstavnov wrote:

> Hello Aleksey,
>
> Thursday, January 17, 2002, 2:30:17 PM, you wrote:
>
> >> Но никакой надежды соблазнить иказовских ребят такими планами нет.
> >> Бонобо сейчас провисает, так как для него нет реальных (не надуманных)
> >> приложений,
>
> AN> Да. Забавный был проект OOo-bonobo, но сейчас он в заморозке.
>
> Насколько я понимаю, ООо не настолько компонентен, чтобы из этого
> что-то вышло. В смысле, что-то лучшее OLE в MSOffice.

Возможно. Но все же из него можно вытащить немало любопытного.

>

>
>
> >> а народ усердно занимается клонированием... не самых
> >> удачных решений. И дверцами CD хлопают.
>
> AN> Хуже. Пишут Mono.
>
> Одного порядка. Напишут моно, можно будет хлопать дверцей на соседней
> машине... или через Интернет

Боюсь, что это единственное, на что будет пригоден mono. Начиная с mc,
Мигель все клонирует и клонирует.

Rgrds, AEN





^ permalink raw reply	[flat|nested] 15+ messages in thread

* [mdk-re] Re[2]: [mdk-re] Re[2]: [mdk-re] Re[2]: [mdk-re] Re[2]: [mdk-re] CD eject in  Nau,   является огромным конфликтом с    automount.
  2002-01-17 17:31               ` Aleksey Novodvorsky
@ 2002-01-17 21:00                 ` Maksim Otstavnov
  2002-01-18  7:22                 ` Alexandre Prokoudine
  2002-01-21  0:49                 ` [mdk-re] [JT] Mono-клоно Mikhail Zabaluev
  2 siblings, 0 replies; 15+ messages in thread
From: Maksim Otstavnov @ 2002-01-17 21:00 UTC (permalink / raw)
  To: mandrake-russian

Hello Aleksey,

Thursday, January 17, 2002, 5:48:40 PM, you wrote:

>> Насколько я понимаю, ООо не настолько компонентен, чтобы из этого
>> что-то вышло. В смысле, что-то лучшее OLE в MSOffice.

AN> Возможно. Но все же из него можно вытащить немало любопытного.

Заинтриговали.

>> >> а народ усердно занимается клонированием... не самых
>> >> удачных решений. И дверцами CD хлопают.
>>
>> AN> Хуже. Пишут Mono.
>>
>> Одного порядка. Напишут моно, можно будет хлопать дверцей на соседней
>> машине... или через Интернет

AN> Боюсь, что это единственное, на что будет пригоден mono. Начиная с mc,
AN> Мигель все клонирует и клонирует.

Да, но раньше он клонировал nc, что было правильно, а теперь всякую...
мону... :(

-- 
-- Maksim





^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [mdk-re] Re[2]: [mdk-re] Re[2]: [mdk-re] Re[2]: [mdk-re] CD eject in  Nau,   является огромным конфликтом с  automount.
  2002-01-17 17:31               ` Aleksey Novodvorsky
  2002-01-17 21:00                 ` [mdk-re] Re[2]: " Maksim Otstavnov
@ 2002-01-18  7:22                 ` Alexandre Prokoudine
  2002-01-18 12:31                   ` [mdk-re] Виртуальные машины (Was: Re: CD eject in Nau, является огромным конфликтом с automount.) Alexander Bokovoy
  2002-01-21  0:49                 ` [mdk-re] [JT] Mono-клоно Mikhail Zabaluev
  2 siblings, 1 reply; 15+ messages in thread
From: Alexandre Prokoudine @ 2002-01-18  7:22 UTC (permalink / raw)
  To: mandrake-russian

On Thu, 17 Jan 2002 17:48:40 +0300
Aleksey Novodvorsky <aen@altlinux.ru> wrote:

> > AN> Хуже. Пишут Mono.

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

> >
> > Одного порядка. Напишут моно, можно будет хлопать дверцей на
> > соседней машине... или через Интернет
> 
> Боюсь, что это единственное, на что будет пригоден mono. Начиная с
> mc, Мигель все клонирует и клонирует.

Возможно, Мигель уже просто перерос самого себя, оставив
креативность другим программистам, на себя же взяв роль человека,
создающего инструменты для этих программистов?

C# - достаточно интересный язык сам по себе. Я ни в коем случае не
собираюсь начинать holy war по поводу языков. С моей стороны это
было бы в высшей степени непрофессионально :-)

--
Regards,
AP



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [mdk-re] Виртуальные машины (Was: Re: CD eject in  Nau,   является огромным конфликтом с automount.)
  2002-01-18  7:22                 ` Alexandre Prokoudine
@ 2002-01-18 12:31                   ` Alexander Bokovoy
  0 siblings, 0 replies; 15+ messages in thread
From: Alexander Bokovoy @ 2002-01-18 12:31 UTC (permalink / raw)
  To: mandrake-russian

On Fri, Jan 18, 2002 at 06:22:22AM +0300, Alexandre Prokoudine wrote:
> C# - достаточно интересный язык сам по себе. Я ни в коем случае не
> собираюсь начинать holy war по поводу языков. С моей стороны это
> было бы в высшей степени непрофессионально :-)

Я не удержусь и все-таки перешлю это старое письмо Дэвида Симмонса.
Дэвид известен как один из лучших экспертов в области проектирования
виртуальных машин для трансляторов с различных языков программирования.
Фактически, этот человек стоял у истоков всех современных реализаций
ускоряющих (just-in-time) трансляторов.

Я "вырезал" куски дискуссии, не относящиеся к теме, которую я хочу
продемонстрировать. Речь идет о вызове виртуальных методов и о
скорости/правильности реализации этого процесса в C++ и Java по сравнению
с динамическими языками вроде Smalltalk или Ruby. Особенно обратите
внимание на фрагмент его ответа в предыдущем письме дискуссии, отмеченный
ниже между символами (***). Собственно, все описание ниже есть
развертывание того тезиса. 

Дэвид сейчас работает по контракту с Микрософт над усовершенствованием IL,
внутреннего языка .NET, в который транслируются все остальные, в том числе
и C#. Основная его задача -- научить IL работать с динамическими языками,
в которых классы/объекты могут изменять себя в runtime.

----- Forwarded message from David Simmons <david.simmons@smallscript.net> -----

Date: Mon, 26 Nov 2001 08:05:26 +0900
From: "David Simmons" <david.simmons@smallscript.net>
To: ruby-talk@ruby-lang.org (ruby-talk ML)
Subject: [ruby-talk:26473] Re: Table: Ruby versus Smalltalk, Objective-C, C++, Java;

> same in statical typing: http://www.eptacom.net/pubblicazioni/pub_eng/mdisp.html

I was not aware that someone was "bothering" to use RTTI (or templates
[macros]) to address this issue in C++. Given the importance of C++ I should
hardly be surprised. However (in broad terms), this is the problem with
implementing genericity in languages which only support static typing [as I
alluded to in my previous post regarding the languages Java and C#].

As I said in my previous post, the ideal is a language which has both static
and dynamic typing with overloading/multi-methods -- lacking that numerous
issues crop up. This is just a "facet" of that generics issue.

[s/.*//skip]

> > > http://people.mandrakesoft.com/~prigaux/overloading2.java
> >
> > Sure, the example is clearly illustrating the problem. Static type binding
> > of dynamic type information does not work. I.e., languages which only have
> > static binding cannot provide proper semantics for method-implementation
> > selection based on argument types.
>
> hum. C++ and Java do not have "only static binding".

I think we both understand the issue. The problem here is that the
"semantics" of the term dynamic-binding have been polluted/overloaded. So,
as with many topics in comparing languages with regard to "static" and
"dynamic" subjects, we quickly get bogged down in terminology as we try to
use that terminology to explain/discuss concepts. If all parties don't have
a clear concensus on the definitions of the terminology the discussions
rapidly digress into areas that are the result of that lack of concensus.

So, ignoring the terminology:

C++ and Java "typically" (but not always) implement virtual functions using
vtables. Where a vtable is an array of function pointers to virtual methods
associated with a given type.

These languages are not only statically typed, they are based on the concept
of static binding of type information as well. In an effort to be "object
oriented" [whatever that means] they attempt to provide [OO] polymorphism
using vtables which are a weak/limited solution to providing polymorphism
over one-type (the message receiver).

For static binding based on type information, this means that at compile
time the decision is made as to what method to invoke based on the types of
the arguments. The partial-polymorphic-solution exception is built by
assuming that all types are known at compile time. And that, therefore,
tables can be constructed containing common methods for type-trees based on
the "type of the receiver <this>".

So one gets a binary-deployment-system that cannot break those compile-time
rule of all types known at runtime [it is not dynamic/extensible at runtime
and so is brittle], and which also cannot address the problem of
polymorphism over the arguments to methods [which leads problems in
implementing/supporting genericity, etc because the model is based entirely
on static knowledge]. Some languages, like ML, have taken great strides to
addressing this problem and ensuring correct behavior but I (currently)
think it requires supporting both a static and dynamic type and binding
model.

So, back to exploring issues in the vtable approach. As mentioned before it
is based/built-upon static knowledge of the available set of types. It's
indirection mechanism is therefore based on static knowledge, which makes it
a static (lookup table) binding mechanism. I.e., the vtable-index [a
first-degree binding abstraction approach -- as opposed to a selector-object
in dynamic language which is a second-degree binding abstraction] is
statically bound into source and thus [among other things] precludes
handling dynamic [binding impact] changes to the classes and methods. I.e.,
vtables are limited in two semantic ways and additionally in one technical
way.

1. Semantically it only works for whole-cloth programs where no schema
changes [in the binary/compiled-form] will occur to class, namespace, or
methods available within the program [that's what makes them static
languages]. Why? Because if such changes occur the vtable layouts may need
to be changed, the call-sites that use indexed-lookup will have to have the
indices changed [not even considering the issues of the methods themselves
which have optimized-away/unfolded encapsulation of object structure, etc].
None of which is possible because all the necessary meta-information was
thrown away at compile-time [many things are not objects, most things have
no self-describing information (i.e., nominal to no reflection
facilities) -- RTTI being C++'s only facility].

2. In a unified OO view, there are no "pure-functions", because classes [or
prototypes], namespaces, etc are all objects and functions are just methods
on those classes [or prototypes] and namespaces. All operations semantically
become about the messages that objects can understand (perform). The
concerns about physical-layout/structure of a type vanish leaving us
[humans] only concerned [in general] with the message vocabulary [i.e.,
behavior/interfaces].

The compilers are where the optimization and knowledge about physical
representation become paramount for performance and external inter-op [and
humans only care when they are meshing with the boundary points -- usually
to create optimized small algorithms; an act which requires greater
attention and focus than one would normally want to have to put into
describing a problem to the computer via a programming language -- generally
we want our programming language to be capable of being as transparent as
possible so we can focus on the problem domain itself rather than the
problem of describing the problem to the computer].

Parameterized types in object definitions are relevant to humans in terms of
contractual (behavioral) adherance. To the compiler(s) they allow
optimizations to be achieved for better performance and resource utilization
[potentially as guided by a human author]. Which gets us back to genericity
and best efforts at being informed "statically" about design time
behavior-binding (type) errors in our use of contracts as opposed to runtime
contractual behavior-binding (type) errors that can always be detected in a
well designed language execution architecture. Which leads us into the
discussion of genericity in-static-only-binding-type systems [which have the
potential to yield optimum performance at a price in terms of correct
behavior and/or expressiveness], in-dynamic-only-binding-type systems [which
have the potential to yield correct at a price in terms of performance], and
in systems that offer both forms of binding [which has the potential to
yield both correct behavior and optimum performance].

Proponents of static-typing and correctness argue the virtues of design-time
detection. Proponents of dynamic-typing argue the virtues of unit-testing
and the dangers of reliance on static-checking of type-bindings as a
substitute for verifying interop relations semantics inherent in any system
of basic complexity. Both parties have valid and good points and neither are
wrong in my view. Both are addressing the same problem space with different
techniques; and both have been shown to eliminate the large proportion of
defects [albeit leaving different types of defects undetected]. But, in my
view, the significance is in the human "level of effort" factor in
expressing an original problem, coming later to understand such a design,
and later still working with an existing design to maintain or extend it.

** sigh, I seriously digressed [and now I will be in a deep rathole as
people beat me up for errors and/or disagreements with my assertions] **

#2 is principally that given that it is desireable to discriminate a
function's implementation based on the types of the arguments, vtable as a
polymorphic solution offer no mechanism of support for dispatching to a
type-specific implementation based on polymorphism amongst the arguments to
a function/method. The general approach is to use hand-crafted secondary
dispatch [which for arity-1/1-arg methods is called double-dispatch].

3. The technical issue is that vtables are slower (on current hardware
technology) than using adaptive jitting techniques with self-modifying code.
Primarily due to the cost of indirectly accessing memory to obtain an
address from a vtable which precludes processors from using eager/optimistic
prediction; where accessing the memory also results in bouncing from
L1-cache to L2-cache to primary memory [and that is increasingly expensive
as the timing gap between those forms of memory increases -- similar in
nature to the impact on design that one observed in algorithms designed
based on the 50's-70's problem of tape, disk, ram gaps].

*. In a just-in-time binding approach pioneered in Smalltalk during the mid
80's, one uses self-modifying code and assumes that most call sites are not
polymorphic [which is generally true]. If they are polymorphic, then that
breaks down into the case of having a low-degree of polymorphism [say 2-10
types] and the case of having a large degree of polymorphism which
literature in this area popularly terms mega-morphism. See OOPSLA papers
from the mid-80's to early 90's. This technique was the basis for the design
of the self-language, which in turn led to the design of the Animorphic
HotSpot VM/Execution-Engine/Runtime technology for Smalltalk; which in turn
was acquired by Sun to try and speed Java [JVM] up.

What has not, to my knowledge, been applied is a more generalized solution
of the same technique multiple-dispatch (overloading/mult-methods). I have
done it for both my own general-purpose dynamic-language virtual machine
(AOS Platform), and the Microsoft .NET platform (less-optimally through IL).
I must presume that someone must have implemented my technique before;
almost certainly someone in the lisp family community. However, it is
unlikely that it has also been optimized for hi-performance execution with
important newer binding predicates including sandboxing and selector
namespaces.

Providing hi-performance dynamically-dispatched-multi-methods has
significant impact on scripting languages and their ability to evolve into
full fledged languages that compete in features and performance with
mainstream languages today such as C, C++, Java, [C# will soon be in this
group if it is not already], Pascal-derivatives, etc. This is especially
important because there are, by most accounts, 10-20 times more people and
programs using scripting languages and techniques and that number is likely
increasing as cost factors and training/experience come into play.


(***)
> > It is worse than just describing C++ like mechanism as "the vtable-trick".
> > VTables are actually (demonstrably) slower than "true" (receiver only)
> > dynamic-binding-dispatch mechanisms. This fact is (reasonably well)
> > understood today. It is a reality that will increasingly be the case as long
> > as the gap between processor core speeds and L2 cache and memory speeds
> > continues to widen.
> >
> > It is fairly easy to illustrate on the Intel processor family. I've posted
> > (on comp.lang.smalltalk within the last 12 months) at least two detailed
> > explanations showing the machine instructions, cycle-times, and benchmarks.
> > The originally published technique was developed by David Ungar and
> > published in OOPSLA papers in the mid-80's. It has been a standard part of
> > most jit-based Smalltalk implementations for the last ten years or so.
(***)

>
> are you talking about http://www.sun.com/research/self/papers/type-feedback.html ?
>
> the idea is quite simple: specialize for a given type of object to allow
> inlining. In that case, to know which specialization to have, run-time
> feedback is used. This applies well to JITs of course.
>
> I don't see why it prooves that vtable is bad/slower. vtable can also benefit
> from specialization. This is also why the default in C++ in no "virtual"
> methods, so that performance is the best.
>
> This is a well known, no?

I think, based on your comments, that you are not aware of what I have been
doing for the last ten years or so. One of my professional areas of
specialty is the design of virtual machines. Your comments sound like the
kind of things I would have written as responses to you <g>.

As to the bad/slower, in the last 12 months, I wrote two different threads
of discussion on this topic [in comp.lang.smalltalk] describing the
instructions, cycles, and benchmark information. I also made reference to
that fact somewhere in this current thread of discussion. Where I also
mentioned that I had not published information on the much more general
techniques (which I suspect I have pioneered) for hi-performance dynamic
dispatch of common/important predicates with extensibility for general
predicate dispatch through Dynamic-AOP/Managed-Object facilities in the
object-model of the AOS Platform [the VM architecture I designed and have
been evolving for the last ten years] as well as its related peer/work, an
enabler for the Microsoft .NET platform.

>
> In the ML family, the same happens when going from polymorphic functions
> (needing boxing) to monomorphic functions (with unboxed data)
> see for example:
> - the SPECIALIZE pragma in ghc http://www.haskell.org/ghc/docs/4.04/users_guide/users_guide-5.html)
> - type-based unboxing (Leroy) http://citeseer.nj.nec.com/88305.html
>
> >
> > However, I intentionally have not published information on techniques I have
> > developed (on the AOS Platform VM) for hi-performance predicate based
> > (incl - multi-method) dispatching. Especially with regard to implementation
> > on the .NET platform, where I am still exploring with Microsoft [who needs
> > this technology as much as Sun/Java does].
>
> "Where Do You Want To Go Today?" ;p
>
> Microsoft has a *lot* of people working on languages. Hopefully many are
> allowed to publish their work (and even release GPL apps)

<g> I know.

As a 3rd party, I and others have been been fortunate to have the
opportunity to interact [and influence] quite a few of them [it would be
nice to be able to observe the same attitude and opportunity to have an
influence on Sun folks]. Of course, Microsoft has a clear business
objective, and I both hope and greatly fear they will be very successful in
achieving based on their approach [the word trepidation has constantly been
in my thoughts since I first got involved with Microsoft on the .NET project
in 1999].

The real challenge for scripting and dynamic languages lies in the
predominance and momentum of ideas and beliefs regarding type-theory and
statically-typed languages; and the relative/disproproportionate lack
thereof for dynamic languages (especially OO languages like Smalltalk, as
opposed to functional dynamic languages like scheme).

-- Dave S. [www.smallscript.com]




----- End forwarded message -----
-- 
/ Alexander Bokovoy
$ cat /proc/identity >~/.signature
  `Senior software developer and analyst for SaM-Solutions Ltd.`
---
Nov 21 20:58:58 alconost kernel: VFS: Busy inodes after unmount. 
		    Self-destruct in 5 seconds.  Have a nice day...



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [mdk-re] [JT] Mono-клоно
  2002-01-17 17:31               ` Aleksey Novodvorsky
  2002-01-17 21:00                 ` [mdk-re] Re[2]: " Maksim Otstavnov
  2002-01-18  7:22                 ` Alexandre Prokoudine
@ 2002-01-21  0:49                 ` Mikhail Zabaluev
  2002-01-21  6:57                   ` [mdk-re] " Alexandre Prokoudine
  2 siblings, 1 reply; 15+ messages in thread
From: Mikhail Zabaluev @ 2002-01-21  0:49 UTC (permalink / raw)
  To: mandrake-russian

Hello Aleksey,

On Thu, Jan 17, 2002 at 05:48:40PM +0300, Aleksey Novodvorsky wrote:
>
> > >> Но никакой надежды соблазнить иказовских ребят такими планами нет.
> > >> Бонобо сейчас провисает, так как для него нет реальных (не надуманных)
> > >> приложений,
> >
> > AN> Да. Забавный был проект OOo-bonobo, но сейчас он в заморозке.
> >
> > Насколько я понимаю, ООо не настолько компонентен, чтобы из этого
> > что-то вышло. В смысле, что-то лучшее OLE в MSOffice.
> 
> Возможно. Но все же из него можно вытащить немало любопытного.
> 
> >
> 
> >
> >
> > >> а народ усердно занимается клонированием... не самых
> > >> удачных решений. И дверцами CD хлопают.
> >
> > AN> Хуже. Пишут Mono.
> >
> > Одного порядка. Напишут моно, можно будет хлопать дверцей на соседней
> > машине... или через Интернет
> 
> Боюсь, что это единственное, на что будет пригоден mono. Начиная с mc,
> Мигель все клонирует и клонирует.

Мне нравится, что клонировать они клонируют, но где нужно, добавляют
очень полезной Unix-овости. Одержимость Microsoft непрозрачными
бинарными идентификаторами для всего (если ты этого не понимаешь,
тебе этого понимать не нужно) они оставили Microsoft.
Конфигурация в XML; IID'ы и moniker'ы -- текстовые! Осмысленные!
Можно и из командной строки на память ввести, и в отладчике без
поллитры разобрать. Реестр, не обладающий фичами карточного домика
(это скорее заслуга Havoc'а). Словом, это не просто клонирование,
а евгеника.

А насчёт Mono, действительно, непонятно. Хотя не исключено, что через
несколько лет мы признаем этот шаг гениальным.

-- 
Stay tuned,
  MhZ                                     JID: mookid@jabber.org
___________
Convention is the ruler of all.
		-- Pindar



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [mdk-re] Re: [mdk-re] [JT] Mono-клоно
  2002-01-21  0:49                 ` [mdk-re] [JT] Mono-клоно Mikhail Zabaluev
@ 2002-01-21  6:57                   ` Alexandre Prokoudine
  0 siblings, 0 replies; 15+ messages in thread
From: Alexandre Prokoudine @ 2002-01-21  6:57 UTC (permalink / raw)
  To: Mikhail Zabaluev

Hello Mikhail,

Monday, January 21, 2002, 12:51:33 AM, you wrote:

<skip>

MZ> Словом, это не просто клонирование, а евгеника.

:)

MZ> А насчёт Mono, действительно, непонятно. Хотя не исключено, что через
MZ> несколько лет мы признаем этот шаг гениальным.

А что именно непонятно? Материалов по Mono до фига. Читай - не хочу.
Можно по классам в онлайне браузить ...

http://gomono.net


--
Regards,
AP





^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2002-01-21  6:57 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-01-16 20:25 ` [mdk-re] CD eject in Nau Maksim Otstavnov
2002-01-16 21:14   ` Alexandre Prokoudine
2002-01-16 22:55   ` [mdk-re] CD eject in Nau, является огромным конфликтом с automount Roman S
2002-01-17 11:01     ` [mdk-re] Re[2]: " Maksim Otstavnov
2002-01-17 12:07       ` Aleksey Novodvorsky
2002-01-17 12:22         ` Korshunov Ilya
2002-01-17 13:32         ` [mdk-re] Re[2]: " Maksim Otstavnov
2002-01-17 14:31           ` Aleksey Novodvorsky
2002-01-17 17:23             ` [mdk-re] Re[2]: " Maksim Otstavnov
2002-01-17 17:31               ` Aleksey Novodvorsky
2002-01-17 21:00                 ` [mdk-re] Re[2]: " Maksim Otstavnov
2002-01-18  7:22                 ` Alexandre Prokoudine
2002-01-18 12:31                   ` [mdk-re] Виртуальные машины (Was: Re: CD eject in Nau, является огромным конфликтом с automount.) Alexander Bokovoy
2002-01-21  0:49                 ` [mdk-re] [JT] Mono-клоно Mikhail Zabaluev
2002-01-21  6:57                   ` [mdk-re] " Alexandre Prokoudine

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git