Оберон-технология: особенности и перспективы |
Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение.
Всего в теме 6256 сообщений
Добавить свое сообщение
Отслеживать это обсуждение  Обсуждение из раздела Школа ОБЕРОНА
№ 6096 19-12-2007 01:26 |  |
Ответ на »сообщение 6092« (Jack Of Shadows)
___________________________
Ответ на »сообщение 6091« (AVC)
___________________________
Не понял.
Давайте на примере. Я написал функцию max(x,y) возвращающюю большую из двух переданных значений.
Хочу ее проверить.
Для этого в лиспе я в интерпретаторе набираю (max 2 5)
Нажимаю enter? получаю там же результат 5
Как вы это сделаете в обероне через ваш командер ?
У меня открыт мой текущий модуль - "полигон". Пусть Test. В нём описаны разные-всякие функции типа Max и проч. В конце модуля я пишу тестовую процедуру без результата, которые принимает параметры и выводит результаты интересующих меня функций в окошко вывода ("лога"). Затем нажимаю Ctrl-Shift-C (на это сочетание у меня подвешен пункт меню "CompileAndUnload". Внизу у меня выписаны команды вида "Test.TestMax(1, 2)". Перед ними стоят кружочки командеры, по которым я щёлкаю, запуская любые процедуры. Вообще, в исконных оберонах можно щёлкать прямо средней кнопкой мыши прямо по команде. Но поскольку ББ разрабатывался для двух платформ, одна из которых - старый Мак, а на старых Маках, как известно, кнопка одна, то ввели такие штучки, как командеры.
Если нужно вообще скрыть факт существования модулей и компиляции, работая "в режиме Мапла", то есть довесок BlackBox Lab ( http://oberoncore.ru/index.php?option=com_content&task=view&id=96&Itemid=29), который всё делает сам и в фоне. Как раз для любителей функции математические день и ночь тестировать :-)
№ 6095 18-12-2007 20:38 |  |
Ответ на »сообщение 6093« (AVC)
___________________________
>>>Просто Евгений судит об обероновской стороне пока еще больше как наблюдатель. :)
... среде... :)
Все, пора спать.
№ 6094 18-12-2007 20:37 |  |
Ответ на »сообщение 6093« (AVC)
___________________________
Ну, это спорный вопрос, коиу там до кого далеко. :)
Дык как там функцию max в командере тестировать ? :))
№ 6093 18-12-2007 20:35 |  |
Ответ на »сообщение 6090« (Jack Of Shadows)
___________________________
Но до таких высокодинамичных сред как лисп или erlang ему далеко.
Ну, это спорный вопрос, коиу там до кого далеко. :)
Я уже показал, что аргумент Geniepro по сути надуманный.
Просто Евгений судит об обероновской стороне пока еще больше как наблюдатель. :)
№ 6092 18-12-2007 20:25 |  |
Ответ на »сообщение 6091« (AVC)
___________________________
А параметры вы этой процедуре как передавать будете ? Тоже мышкой ?
Так ведь параметры часть команды.
Не понял.
Давайте на примере. Я написал функцию max(x,y) возвращающюю большую из двух переданных значений.
Хочу ее проверить.
Для этого в лиспе я в интерпретаторе набираю (max 2 5)
Нажимаю enter? получаю там же результат 5
Как вы это сделаете в обероне через ваш командер ?
№ 6091 18-12-2007 20:22 |  |
Ответ на »сообщение 6088« (Jack Of Shadows)
___________________________
А параметры вы этой процедуре как передавать будете ? Тоже мышкой ?
Так ведь параметры часть команды.
Действительно зачем, если среда запоминает список набранных команд, причем из прошлых сессий тоже.
Коммандер, уже находящийся в нужном месте (достаточно одного щелчка мышью), удобнее, чем неупорядоченная куча сохраненных команд, в которых надо рыться, чтобы найти нужную.
Да и completion по ходу работает. Ну это в лиспе, не в обероне :))
И это как-то связано с Лиспом как языком? :)
>>>А отсутствие в Лиспе модулей совсем не есть хорошо.
В лиспе модули есть. Просто загрузив модуль, можно потом в нем подправить и скомпилировать всего одну функцию не перекомпилируя весь модуль. До ТАКОЙ модульности оберону еще далеко :))
Нет больших проблем ввести в Оберон инкрементную компиляцию.
Но зачем лишние сложности, учитывая
1) скорость обероновского компилятора;
2) то, что более существенная причина изменений -- структуры данных, а не отдельные процедуры.
№ 6090 18-12-2007 20:21 |  |
Ответ на »сообщение 6089« (AVC)
___________________________
Не переводите разговор.
Мы сейчас обсуждаем возможности среды как исследовательского полигона для предметной области.
Понятно что у оберона много хороших свойств.
Но до таких высокодинамичных сред как лисп или erlang ему далеко. Оберон гораздо ближе к классической изменил-скомпилировал-перезапустил схеме. Даже если при этом из самой среды оберона можно не выходить.
№ 6089 18-12-2007 20:14 |  |
Вот лучше представим, что надо изменить какую-нибудь структуру данных.
В Обероне она может быть скрыта в модуле (наружу торчит только ее абстрактный интерфейс). Меняем структуру данных и те процедуры внутри модуля, которые этим задеты, а потом перекомпилируем модуль.
Клиентские же модули менять не надо (не редактировать, ни компилировать).
№ 6088 18-12-2007 20:04 |  |
Ответ на »сообщение 6086« (AVC)
___________________________
Как правило, проще: просто щелкнули мышкой по коммандеру (не набирать же команду каждый раз заново, на это только трудолюбивые лисперы способны :) ).
А параметры вы этой процедуре как передавать будете ? Тоже мышкой ?
не набирать же команду каждый раз заново,
Действительно зачем, если среда запоминает список набранных команд, причем из прошлых сессий тоже. Да и completion по ходу работает. Ну это в лиспе, не в обероне :))
А отсутствие в Лиспе модулей совсем не есть хорошо.
В лиспе модули есть. Просто загрузив модуль, можно потом в нем подправить и скомпилировать всего одну функцию не перекомпилируя весь модуль. До ТАКОЙ модульности оберону еще далеко :))
№ 6087 18-12-2007 19:58 |  |
Вообще, все эти разговоры о том, что при вызове процедуры может быть загружен модуль, отражают только тот факт, что Оберон не только процедурный (как Лисп, например), но и модульный язык.
А отсутствие в Лиспе модулей совсем не есть хорошо.
Добавить свое сообщение
Отслеживать это обсуждение 
Дополнительная навигация: |
|