Оберон-технология: особенности и перспективы |
Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение.
Всего в теме 6256 сообщений
Добавить свое сообщение
Отслеживать это обсуждение Обсуждение из раздела Школа ОБЕРОНА
№ 3856 14-04-2007 06:06 | |
Ответ на »сообщение 3855« (AVC)
___________________________
Лично я считаю данную ветку весьма полезной, по крайней мере, для себя.
Мне бы того же хотелось... Может быть подскажите, как квалифицированный импорт сочетается с "системностью" Oberon? Поясню. В теории систем есть понятия "сильных" и "слабых" связей. "Сильные" связи образуют элементы системы, а "слабые" связи соединяют элементы. "Слабые" связи устанавливаются и поддерживаются самой системой, и ее элементы про них ничего не знают (и не должны знать!). Это определяет возможности системы по ее структурной перестройке, при внешних или внутренних воздействиях.
Применительно к обсуждаемому вопросу. Если программист явно указывает связи между модулями, то он поступает... противоестественно, поскольку на уровне отдельного модуля решает вопросы системообразования.
Правильное, с позиции теории систем, решение это декларировать потребности (импорт) и возможности (экспорт) в терминах интерфейсов. А что система "подставит" в качестве "поставщиков" или "потребителей" услуг (сервисов), это ее дело, но никак не прикладного программиста. Уточню, реальный "поставщик" и/или "потребитель" услуг может меняться (в runtime, в том числе) в зависимости, например, от состояния системы. А разработчик модуля ни о самой системе, ни о ее состояниях... знать не должен.
№ 3855 13-04-2007 02:57 | |
Ответ на »сообщение 3852« (Владимир Лось)
___________________________
Предупреждать надо... Хотя бы через стирание самой первой строчки в ответе...
Кто ж спорил, что "думать надо"?
Да, моя реплика получилась неудачной, раз создалось впечатление личного наезда. :(
Приношу свои извинения.
Это была как бы реплика на реплику (что воду в ступе толчем), ничего личного. :)
Лично я считаю данную ветку весьма полезной, по крайней мере, для себя.
Да, конечно, ее польза больше косвенная, не такая прямая, как хотелось бы (а хотелось бы, как Илья Ермаков, писать на Обероне/КП; но, видать, моя планида -- писать на Си и асме :) ).
И, потом, ну скольким процентам из всей этой армии придётся "вжиматься" в килобайты? или "сражаться" за каждый такт? или работать в командной строке, на почти "голой" ОСи?
У нас приходится многим, из-за того, что занимаемся встроенными приложениями.
№ 3854 13-04-2007 02:33 | |
Ответ на »сообщение 3851« (Димыч)
___________________________
я нашел процедуру WriteInt, узнал, что она находится в MyModule, нажал кнопочку, и о чудо, у меня в IMPORT добавилось MyModule, а под курсор добавилось MyModule.WriteInt.
Да вы сибарит :))
№ 3853 13-04-2007 02:30 | |
Ответ на »сообщение 3836« (Руслан Богатырев)
___________________________
Пользы для дела будет больше.
Ой-ли?
Семь лет мы тут воду в ступе толчём, а где результаты?
Инфо21 что-то тут о курсах говорил - не видел я что-то на развалах хотя бы брошюрок на тему КП с надписью на титульном листе "рекомендовано... для применения в курсах обучения"... Академик, ведь - это не вася пупкин - из заштатного ПТУ... Всё прекрасно, но как-то "ограниченно-точечно-кулуарно"...
Душкин вон напечатал книгу по Хаскелю. Книжка немного сумбурная, слабая, оформлена - из рук вон... Но посмотрите на эффект, сколько дискуссий возникло. С полок её смели (говорят даже издетельство ещё раз отпечатает партию), Душкин вторую книгу готовит. У меня студенты и знакомые стали связку слов "хаскель-ФП-книга Душкина" ЗАМЕТНО чаще употреблять... ПОстепено, кстати, складывается впечатление, что все, сколь-нибудь значимые и передовые исследования в мире программирования перемещаются в нишу "хаскель" и "ФП"... Не знаю, насколько это верно объективно, но "информационный фон" именно таким стал...
А здесь - что? Тем более при вашей лично, Руслан, кипучей деятельности, много- и связнословии и возможности контакта с "прессой"?
№ 3852 13-04-2007 02:21 | |
Ответ на »сообщение 3829« (AVC)
___________________________
Владимир, я эти слова Вам и не адресовал.
Это был broadcast. :)
Предупреждать надо... Хотя бы через стирание самой первой строчки в ответе...
Кто ж спорил, что "думать надо"?
Ситуайия за последние лет 7-10 у нового поколения КОРЕННЫМ образом поменялась.
Это мы кнутов с виртами читали - боролись за оптимум и "рациональщину", а тем, кому сейчас 20-26 это глубоко до задницы! Не знаю уж, правильно ли это или нет, но им действительно не нужно это делать, когда есть огромные справочникии и руководства по стандартным библиотекам... Нельзя сказать, что это просто повраенные книги или люди отупели, они прекрасно понимают "О()" и когда и что применять. Но "детали" их не интересуют.
И, потом, ну скольким процентам из всей этой армии придётся "вжиматься" в килобайты? или "сражаться" за каждый такт? или работать в командной строке, на почти "голой" ОСи?
№ 3851 13-04-2007 02:16 | |
Ответ на »сообщение 3840« (Jack Of Shadows)
___________________________
Ответ на »сообщение 3839« (Димыч)
___________________________
а из какого модуля брать процедуру. Например, я хорошо помню, что процедура называется WriteInt, но хоть убей не помню, из какого модуля она берется.
Не понял, разве help не решает эту проблему ? Там есть поиск.
Далее в языках средах к коим относятся Smalltalk и Lisp, есть возможность поиска обьекта по части его названия.
Скажем в лиспе это функция apropos.
Удивлен что в обероне, который тоже вроде является языком-средой, такой возможности нет.
Вообще здесь речь идет не столько о поиске как таковом, а о среде.
Что мне нужно: возможность поиска некоторой программной сущности по части строки в исходных кодах.
Если я работаю только с текстовыми файлами в текстовом же редакторе с отдельно вызываемым компилятором (как происходит при работе с XDS, средой XDS я не пользуюсь), то поиск организовать - дело нехитрое. Тут тебе и индексация, и готовые программы, типа GoogleDesktop, и прочая.
Если я работаю в среде КП или Oberon, то там такого нет, хотя "прикручивается" быстро. Только поиск.
Но мне нужно еще и такая фишка (кстати, реализованная в Delphi): я нашел процедуру WriteInt, узнал, что она находится в MyModule, нажал кнопочку, и о чудо, у меня в IMPORT добавилось MyModule, а под курсор добавилось MyModule.WriteInt. (В Delphi это работает при обращении к неподключенной форме).
И если я Руслана правильно понял, то было бы неплохо еще по нажатию кнопочки получать нечто вроде списка импорта
Module:
MyModule
WriteInt
WriteLong
WriteStr
MyModule2
...
Да, для целей обзора структуры программы это очень удобно. И это может быть использовано для построения графа импорта.
PS. У меня есть реализованный Syntax Highligter для Оберона-2 и КП для SynEdit. Выкладывать?
№ 3850 13-04-2007 02:14 | |
Ответ на »сообщение 3849« (Geniepro)
___________________________
Ответ на »сообщение 3847« (Stargazer)
___________________________
Я и не обязан помнить с точностью до знака имя функции и формальные параметры. Главное - это знать имя модуля.
Вы или издеваетесь, или не вдумываетесь в то, что Вам говорят (пишут). 8-о
Как Вам поможет квалифицирующий импорт определить имя модуля, если Вы его не помните, а помните только, что где-то там есть какая-то процедура с таким-то (или похожим) именем?
Простите, сэр, если я невнятно выразился. Речь шла о "Вы помните название функции, да и то не уверены в точной его записи", прочтите пост 3845, я на него отвечал.
Если я не знаю/помню имя модуля, то что я вообще делаю в этой программной системе? Так, в уголке постоять, на кнопки понажимать? Модуль - это часть архитектуры, как можно делать систему, не представляя её устройства? Вот я про что.
№ 3849 13-04-2007 02:07 | |
Ответ на »сообщение 3847« (Stargazer)
___________________________
Я и не обязан помнить с точностью до знака имя функции и формальные параметры. Главное - это знать имя модуля.
Вы или издеваетесь, или не вдумываетесь в то, что Вам говорят (пишут). 8-о
Как Вам поможет квалифицирующий импорт определить имя модуля, если Вы его не помните, а помните только, что где-то там есть какая-то процедура с таким-то (или похожим) именем?
№ 3848 13-04-2007 02:04 | |
Ответ на »сообщение 3847« (Stargazer)
___________________________
Я и не обязан помнить с точностью до знака имя функции и формальные параметры. Главное - это знать имя модуля.
Нет конечно. Упаси боже вас в чем то обязывать. Вы ведь и имя модуля не обязанные помнить. Так как же искать будете ? Хелпа нет. Костылей в виде обычного поиска тоже :))
№ 3847 13-04-2007 01:59 | |
Ответ на »сообщение 3845« (Jack Of Shadows)
___________________________
Ответ на »сообщение 3842« (Stargazer)
___________________________
Э-э, там есть квалифицирующий импорт, поэтому костылей не надо. Плюс по названию модуля легко вытаскивается его интерфейс. Очень удобно.
А как поможет квалифицирующий импорт в приведенном примере ? Вы помните название функции, да и то не уверены в точной его записи (то ли WriteInt, то ли IntWrite)
C apropos лехко.
(apropos "write") даст вам список всех функций, полностью квалифицированных заметьте, в имени которых встречется последовательность символов "write"
Я и не обязан помнить с точностью до знака имя функции и формальные параметры. Главное - это знать имя модуля.
Ответ на »сообщение 3844«
меньше лишних имён, меньше головной боли.
Меньше имён? То есть, вы разные сущности называете одинаково? Интересный подход.
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|