В сообщении от Wednesday 17 October 2007 13:12:57 Alexander Bokovoy 
написал(а):
> Peter V. Saveliev пишет:
> >>    uint32  users_new(
> >>            [in,ref]        string *name,
> >>            [out,ref]       user_account *account
> >>    );
> >> }
> >
> > слова про xml и андроидов беру назад... ;)
>
> А что именно? Плохо, хорошо, что? :-)
>
> Код выше человек читает нормально. Следом за ним читает компилятор и
> генерирует код на определенном языке, какой заложен -- у нас C, в
> Microsoft -- C/C++/C#, в jCIFS -- Java и так далее. Написать расширение
> для pidl (Samba4), чтобы генерировался код для scheme/python/etc --
> особых проблем нет вообще.
<skip />

Ключевой момент, который я не понимаю -- это уверенность в том, что код 
_нужно_ генерировать. Причём в такой манере. Я не говорю, что она плохая, мне 
просто кажется, что в данном случае это может быть слегка не в кассу.

Посмотрите на это с точки зрения разработчика, который хочет написать _один_ 
_простой_ модуль к альтератору или неважно к чему. Но модуль, реализующий 
дерево команд. Скажем, из трёх узлов. Для него чем меньше телодвижений нужно 
совершить, тем лучше. Что мы имеем и что нам нужно:

У нас есть:

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

То есть, для описания древовидной структуры он может:

 * описать каждый узел в своём файле, файлы организовать в иерархическую 
структуру на ФС
 * описать все узлы в одном файле

У меня возможны оба метода, но в connexion использется не шелл, а python, где 
описание вложенных классов -- вещь тривиальная. Однако, сферический 
разработчик требует шелл, и нехочет писать несколько файлов (не понимаю, 
почему, но Стас меня заверил в этом). И тогда, 

Что нам нужно:

 * возможность написать "плоский" файл и карту, которая методы плоского файла 
будет проставлять в соответствие стандартным методам узлов, как это принято в 
движке.

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

Если бы я собрался писать для альтератора и увидел бы этот пример -- я бы 
крепко призадумался. Я не говорю, что IDL плохо. Просто меня это бы испугало: 
невозможно знать всё, а этот пример требует явных усилий по изучению чего-то 
не очень простого, что мне пока нигде не нужно было и вряд ли где-то ещё 
пригодится. Учитывая, что последнее время я начал достигать порога насыщения, 
для меня это потенциально тяжёлая ситуация.
-- 
Peter V. Saveliev
_______________________________________________
devel-conf mailing list
[email protected]
https://lists.altlinux.org/mailman/listinfo/devel-conf

Ответить