|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 23 Jul 2002 13:37:27 To : Bulat Ziganshin Subject : Re: IDE Интересно почемy? -------------------------------------------------------------------------------- Здравствуй, Bulat Ziganshin. AC>> То есть в современных ОО языках тоже уже есть ситуации, когда по коду AC>> без полного анализа и нередко рантайма в принципе невозможно понять, AC>> какой метод тут можно использовать [skip!] AC>> (причем в достаточно типичной AC>> ситуации - see DBI), BZ> хотелось бы как раз чтоб эта ситуация встречалась как можно реже и большую BZ> часть потребностей покрывали стандартные возможности языка и библиотек по BZ> определению "лица" класса - так, чтобы эти фичи распознавались уже при BZ> синтаксическолм анализе исходника. хотя загружать класс в IDE - не проблема. BZ> тот же Delphi это делает для design-time классов Hу вот в DBI удобно, чтобы DBI->connect возвращал объект DBI::db. Чем плохо? Тем, что это в коде явно не указано и в документации не описано? Так это внутренняя реализация, имеет право. Методы документированы. Можно пытаться завести некоторое описание вида "этот метод возвращает нечто, у чего есть такие-то методы", но доктор, этим будет кто-нибудь пользоваться? Hет, ибо это только удорожает разработку, причем разработку не только библиотеки, но и кода на ее основе. BZ> а вышеназванное (eval итд) используется для реализации advanced OO BZ> techniques, кои конечно тоже постепенно включаются в культуру потребления BZ> языка ... и когда таки включатся, проблемы с IDE в этих языках встанут те же самые. Только с runtime и можно будет работать. И вот тут окажется, что у языков вроде perl, где можно выяснить структуру рантаймового объекта штатным API, без залезания в код, куда больше возможностей по удобству разработки. AC>> и при этом есть IDE, которые это по коду AC>> понимать AC>> умеют? В сочетание не верится... BZ> с ide у ruby положение ещё хреновей, чем у перла. "Вот за ним-то он и прячется". BZ> а принципиально это возможно; главное - иметь возможность отделить BZ> design-time код (объявления классов) от run-time кода. для библиотечных BZ> модулей это не проблема. проблема для главного файла в проекте и возможно BZ> для модулей, которые он исполняет напрямую вместо вызова определённых в BZ> них функций Принципиально - возможно. Hо ценой потери динамичности. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/14454018228e6.html, оценка из 5, голосов 10
|