Re[5]: Конкурс по Оберону!
От: achp  
Дата: 31.10.04 15:33
Оценка: 1 (1)
Здравствуйте, Зверёк Харьковский, Вы писали:

VD>>Здравствуйте, Зверёк Харьковский, ...

VD>>А ты москвич? А то приходи завтра на ЮГ, я тебе его солью. За одно Питон и Руби.
ЗХ>Ну солнышко, ну какой я нафик москвич с моим ником-то?

Ну почему нельзя поставить сразу три смайлика?
Я кончил, джентльмены, мне остается только поблагодарить вас за внимание.
Re[6]: Конкурс по Оберону!
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 31.10.04 16:04
Оценка:
Здравствуйте, VladD2, Вы писали:

AVK>>Послезавтра.


VD>А вроде ТК говорил 1-го?


Встреча .NET UG в ноябре
Автор: TK
Дата: 25.10.04
... << RSDN@Home 1.1.4 beta 3 rev. 217>>
AVK Blog
Re[3]: Component Pascal
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.10.04 17:50
Оценка:
Здравствуйте, Undying, Вы писали:

U>Visual Studio 6.0 вполне резво бегала на 90 МГц AMD'ешке с 16 метрами памяти. Насколько я помню принципиально по удобству от студии 7.1, она не отличалась.


Вообще-то она и приципиально отличается, и никаких дотнетов не поддерживает. Да и С++ там урод уродом.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Component Pascal
От: Undying Россия  
Дата: 31.10.04 18:06
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вообще-то она и приципиально отличается, и никаких дотнетов не поддерживает. Да и С++ там урод уродом.


Это понятно, я имею в виду, что интерфейс в шестерке был по удобству сравним с семеркой, что ни сколько не мешало ей бегать на очень дохлых компах. Это я к тому, что ограничения по памяти и мощности проца нельзя считать оправданием внешней убогости.
... << RSDN@Home 1.1.2 stable >>
Продолжим...
От: Mamut Швеция http://dmitriid.com
Дата: 31.10.04 18:48
Оценка: 24 (4) :)
Продолжим...

Help. Раздел Forms.

To change these visual properties, a control property inspector is used. It is opened by selecting a control and then issuing Edit->Object Properties... (Windows) or Edit->Part Info (Mac OS), respectively. Edit the "label" field in order to change the selected control's label, and click on the default button to make the change permanent.


И хелп и среду писали китайцы. Почему разные пункты меню в разных ОС? Что за кнопка по умолчанию? А почему у меня не Object Properties а просто Properties? Может у меня Винда неправильная?

ЗЫ. У меня кнопка по умолчанию — ОК. Это правильно?

Далее, внутри одного и того же хелпа:

It is opened by selecting a control and then issuing Edit->Object Properties... (Windows) ...

...make sure to call Layout->Sort Views


Без пол-литры не разберешь

Далее.

As a convention, the dialog box layouts of all examples are saved in directory Obx/Rsrc. In this case, we save the new dialog box as Obx/Rsrc/PhoneUI.


Я так и не понял, что произойдет, если я сохраню что-либо где-либо вне папки Obx/. Рисковать не буду, так как боже упаси. Господа Оберонщики о понятии проект слышали?

Сразу говорю, что я знаю, что такое модуль. Но если среда не дает мне организовать эти модули как я хочу — нафиг.

"Едем дальше видим мост, на мосту..."(c)

When you are happy with the layout,...


Как мне добиться такого же скриншота, как в хелпе? Т.е. маленькая, аккуратненькая формочка? А то она у мене большая. Для людей с железными нервами — Layout->Set Grid. Скажете мне на каком по счету клике вы догадались нажать Cancel.

Вы еще с нами?

The directory name Rsrc stands for "Resources"...


Без комментариев. Насколько я помню, Вынь95 поддерживала длинные имена...

Опять же для людей с железными нервами. Вызовите тот самый Edit->Object Properties для любого компонента на форме. Потом щелкните по хелпу. Потом обратно по еомпоненту. Попейте валидол. Успокойтесь.

Далее. Вы еще здесь? У вас действительно железные нервы.

...every control must first be linked to its corresponding interactor field...

When a control is linked ... then the module to which the control should be linked must be loaded.


Перевод. Контролям присваиваются уникальные имена. Причем без объяснения причин хелп предлагает нам следующик имена: ObxPhoneUI.phone.number, ObxPhoneUI.phone.lookupByName. Почему? Потому что они связаны с экспортируемыми из модуля ObxPhoneUI, содержащего public record phone*, содержащий соответствующие поля. Ой. Вы поняли? Судя по всему одинаковые модули иметь не моги.

Еще раз. Господа Оберонщики о понятии проект слышали?

To achieve this level of functionality (and safety against incorrect use), BlackBox provides several advanced "metaprogramming" services, in particular dynamic module loading on demand and typesafe lookup of variables. The latter requires extensive run-time type information (RTTI) that is relatively uncommon in fully compiled languages.


Перевод. "Мы сами понимаем, что все это — отбросы, но наши ребята из PR-Department требуют, чтобы мы использовали как можно больше заумных слов." Последняя строка присутствует в C#, но адвоката C# играет Vlad2 в соседних ветках.

It was one of the design goals for BlackBox to separate user interface details from program logic.


Для тех кто в танке, а также для тех, кто не в силах прочитать такое количество текста в соседних ветках, Re[19]: Обновление (73 KB)
Автор: Mamut
Дата: 29.10.04
Там показано, как хорошо среда BlackBox с этим справляется.

Дальнейшие измышления опускаем. Там идет описание механизма, используемого MFC в диалогах.

This strong separation of user interface from program logic is uncommon.




"Продолжаем нашу утреннюю передачу для тех, кто еще не спит." (c)

Its advantage is simplicity: as soon as you know how to define procedures and how to declare record types and global variables, you can already construct graphical user interfaces for modules. This is possible even for someone who is just beginning to learn programming.


ноу комментс. Пропаганда программирования "от формы", а от этого потом просто так не отучишься.

"Where is my mind, where is my mind, where...." (c)

we ... discuss important aspects of standard controls which ... increase ... [application's] useability, i.e., its user-friendliness.

In section 1.2 we have already discussed what user-friendliness means. For example, it means avoiding modes wherever possible. For this reason, BlackBox doesn't support modal dialog boxes.


For what reason? С каких пор модальные диалоги стали плохими? Или мне начинать приводить примеры, где они нужны? Или создатели Блэкбокса — эксперты по юзабилити? Они свой собственный Блэкьокс видели?

Стоп. Я нашел причину, почему модальность плохо. Если вы стоите, сядьте, если сидите — ложитесь. Валидол при вас? Держитесь:

Modes are unavoidable if a user action sometimes makes sense, and sometimes doesn't. For example, if the clipboard is empty, its contents cannot be pasted into a text. If it is not empty and contains text, pasting is possible. This cannot be helped, and is harmless if the current state is clearly visible or can easily be inquired by the user. For example, if the clipboard is empty, the Paste menu command can be visibly marked as disabled. The visual distinction gives the user early feedback that this command is currently not meaningful. This is usually much better than to let the user try out a command and then give an error message afterwards.


Кто сказал, что модальность нужна только для отображения ошибок, когда пользователь решил вставить текст при пустом буфере обмена? Держите меня, я сейчас буду кричать...

Запасы валидола подходят к концу....

Так, дальше читать не могу. Дальше идет описание легкого способа дизейблить контролы. Я согласен, в принципе, с идеей, но вне Ьлэкбокса. Жуть и ужас....

Compilation also produced a new code file on disk. However, the old version of ObxPhoneUI is still loaded in memory! In other words: once loaded, a module remains loaded ("terminate-and-stay-resident").


Воспоминания, ностальгия. Это я так, чтобы расслабиться выделил и здесь поместил. Едем дальше.

Нет, извините, дальше мы не едем. Дальше мой мозг отказывается что-либо воспринимать.

Может, кто-нибудь продолжит?

З.Ы. Этот текст создан на основе одного только раздела хелпа. Что творится в других — страшно себе представить.

З.Ы.Ы. Защитникам Блэкбокса. Блэкбокс — студенческая поделка и ничего более. Тот факт, что ее исходные коды скоро будут раскрыты лучше ее не делают. Здесь уже приводилась в качестве примера среда Eclipse. Для Линуха есть KDevelop. Да о чем я говорю? Сцинтилла, используемая в RSDN@Home — сложнее, чем вся среда BlackBox. С подсветкой синтаксиса. С поддержкой Code Completion.

Среда BlackBox — отбросы, не имеющие право на существование в современном программистском обществе. Коммандная строка и то лучше.

Это было о среде.

Теперь об Обероне.

Оберон возвел класс в ранг модуля, но от необходимых классу атрибутов (public/private) он не отказался. Зато такое возведение требует от программиста знания всех full-qualified names для всех модулей/обьектов/компонентов/классов/свойств/полей в системе, что не есть гуд, когда система разрастается.

Что делать при конфликте имен модулей? Что делать, если я хочу одну и ту же форму использовать разными модулями? Почему пропагандируется программирование от формы? Оставшиеся вопросы уже былм заданы в соседних ветках.

Вывод. BlackBox нельзя давать детям (да и кому бы то ни было) в руки. Учить программировать на Обероне нельзя, так как ничего нового (особенно на начальном уровне) он не дает, а психику поломать может.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>


dmitriid.comGitHubLinkedIn
Re[5]: Component Pascal
От: Mamut Швеция http://dmitriid.com
Дата: 31.10.04 18:53
Оценка:
Здравствуйте, Undying, Вы писали:

U>Здравствуйте, VladD2, Вы писали:


VD>>Вообще-то она и приципиально отличается, и никаких дотнетов не поддерживает. Да и С++ там урод уродом.


U>Это понятно, я имею в виду, что интерфейс в шестерке был по удобству сравним с семеркой, что ни сколько не мешало ей бегать на очень дохлых компах. Это я к тому, что ограничения по памяти и мощности проца нельзя считать оправданием внешней убогости.


Добавим к этому, что info21 планирует заменить Turbo Pascal/Turbo C блэкбоксом, а уже они намного совершеннее в плане юзабилити
... << RSDN@Home 1.1.4 beta 3 rev. 185>>


dmitriid.comGitHubLinkedIn
Re[2]: Тоже скриншотик...
От: Poisson Россия  
Дата: 31.10.04 19:57
Оценка: 12 (1)
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, Poisson, Вы писали:


P>>Просто для сравнения сделал скриншотик squeak smalltalk: здесь.

VD>А просто для разнообразия сделать его по меньше и залить на РСДН не хочешь?
Зачем? Хоть на народе, хоть на RSDN — скриншотику все равно. А если сделать сильно поменьше,
то ничего видно не будет.

Впрочем, ладно. Сделал еще парочку.
Все подряд
Окошки можно покрутить...
Музычка
А еще мы петь умеем!

Вот. И вообще, тащим метров 30 отсюда, и делаем скриншотики самостоятельно.
... << RSDN@Home 1.1 beta 2 >>
Re[3]: Тоже скриншотик...
От: Mamut Швеция http://dmitriid.com
Дата: 31.10.04 21:39
Оценка:
Весело, красиво. Жутко непонятно. Будем ковырять дальше
... << RSDN@Home 1.1.4 beta 3 rev. 185>>


dmitriid.comGitHubLinkedIn
Re[3]: Тоже скриншотик...
От: VladD2 Российская Империя www.nemerle.org
Дата: 31.10.04 22:02
Оценка:
Здравствуйте, Poisson, Вы писали:

VD>>А просто для разнообразия сделать его по меньше и залить на РСДН не хочешь?

P>Зачем?

А чтобы он не грузился по пол часе.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Тоже скриншотик...
От: Poisson Россия  
Дата: 01.11.04 05:12
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Весело, красиво. Жутко непонятно. Будем ковырять дальше

Как поковыряешь, расскажи о впечатлениях — интересно.
... << RSDN@Home 1.1 beta 2 >>
Re: Конкурс по Оберону!
От: Дарней Россия  
Дата: 01.11.04 08:45
Оценка: +1
Здравствуйте, VladD2, Вы писали:

мдя... посмотрел я на то что было написано здесь, сравнил с тем что было написано в пользу БлэкБокса... и понял, что такое настоящий пиар
и вот этим изделием предполагается травмировать неокрепшую детскую психику?
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re: Конкурс по Оберону!
От: Кодт Россия  
Дата: 01.11.04 10:13
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Вот здесь: http://www.oberon.ch/blackbox.html есть ссылка на среду программирования BlackBox. Весит это добро довольно много (около 8 метров), но все же не откажите в любезности, скачайте это творение рук ученых и попробуйте на нем поработать. Ну, создать пару примитивных программ, скомпилировать их и запустить на выполнение. При этом просьба стараться не обращаться к документации. Помните! Это среда рассчитана на обучение детей, а они не только только не любят читать документацию, но и плохо умеют это делать на английском языке.


VD>В общем, цель этого тэст-драйва получить максимальное количество впечатлений и поделиться оными в данной теме. За самое яркое и выразительное описаний своих эмоций будет поставлено неимоверное количество оценок.


Начнём с того, что виндовский инсталлятор у них кривой.
Сделали self-extracting winzip exe, и что дальше? Ну распаковали чего-то-там во временный каталог (на многопользовательских виндах путь до него неслабый), и всё.
Ладно, сетап. Нашёл setup.exe и запустил. А что нужно делать с так называемым сервиспаком?



У меня не получилось самостоятельно родить что-то. Полез в туториал...
Перекуём баги на фичи!
Re: Как запустить Блэкбокс и выполнить первую программу
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 10:18
Оценка:
Для того чтобы не оказаться в роли мартышки из басни "Мартышка и очки", перед работой с системой BlackBox нужно ознакомится со следующей документацией:

Как запустить Блэкбокс и выполнить первую программу
http://www.inr.ac.ru/~info21/blackbox/start/welcome.html


Первые сведения о работе в системе Блэкбокс
http://www.inr.ac.ru/~info21/blackbox/welcome.html

Работа с текстами программ
1) Редактирование и форматирование
2) Как писать служебные слова из прописных букв
3) Организация файлов в Блэкбоксе

Компилирование и отладка
1) Простейший цикл разработки (Некоторые заповеди)
2) Как компилятор сообщает об ошибках
3) Перезагрузка модулей
4) Как происходит аварийная остановка программы

Прочие вопросы
1) Простейший вывод информации (средства модуля StdLog)
2) Рабочий журнал (Log)
3) Как организована документация в Блэкбоксе


А то тут нашлись некоторые, программу написали в документ журнала работы (в Log) а потом удивлялись почему компилятор тоже в этот же документ что-то пишет (так это же log!!!).

На счет проектов. Весь BlackBox это ОДИН проект (точнее такого понятия как проект в оберонах не существует — есть одна
МОДУЛЬНАЯ РАСШИРЯЕМАЯ СИСТЕМА). Для того чтобы завести другой проект, нужно либо просто скопировать всю папку BlackBox-а в другую папку — папку нового проекта, либо пользоваться механизмом вторичных дирректорый (про вторичные дирректории подробно изложено на сайте info21).
Re[3]: Component Pascal
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 10:23
Оценка:
Здравствуйте, Хитрик Денис, Вы писали:

ХД>Приведите, пожалуйста, основные отличия сред, скачиваемых с этих двух сайтов. И ещё скриншот.


Все и так доступно, кто ищет, тот находит:

http://www.rsdn.ru/Forum/Message.aspx?mid=878133&amp;only=1
Автор: Сергей Губанов
Дата: 01.11.04
Re[6]: Component Pascal
От: Сергей Губанов Россия http://sergey-gubanov.livejournal.com/
Дата: 01.11.04 10:26
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Turbo Pascal/Turbo C блэкбоксом, а уже они намного совершеннее в плане юзабилити


Прочитайте вот это: http://www.rsdn.ru/Forum/Message.aspx?mid=878133&amp;only=1
Автор: Сергей Губанов
Дата: 01.11.04
Re[2]: Как запустить Блэкбокс и выполнить первую программу
От: Mamut Швеция http://dmitriid.com
Дата: 01.11.04 10:30
Оценка: :)
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Для того чтобы не оказаться в роли мартышки из басни "Мартышка и очки", перед работой с системой BlackBox нужно ознакомится со следующей документацией:

[ skip links ]

СГ>А то тут нашлись некоторые, программу написали в документ журнала работы (в Log) а потом удивлялись почему компилятор тоже в этот же документ что-то пишет (так это же log!!!).


Этот некоторый — я
Повторюсь, здесь
Автор: Mamut
Дата: 31.10.04
и здесь
Автор: Mamut
Дата: 31.10.04
.

СГ>На счет проектов. Весь BlackBox это ОДИН проект (точнее такого понятия как проект в оберонах не существует — есть одна

СГ>МОДУЛЬНАЯ РАСШИРЯЕМАЯ СИСТЕМА). Для того чтобы завести другой проект, нужно либо просто скопировать всю папку BlackBox-а в другую папку — папку нового проекта, либо пользоваться механизмом вторичных дирректорый (про вторичные дирректории подробно изложено на сайте info21).

И это по Вашему хорошо?
... << RSDN@Home 1.1.4 beta 3 rev. 185>>


dmitriid.comGitHubLinkedIn
Re[3]: Как запустить Блэкбокс и выполнить первую программу
От: Mamut Швеция http://dmitriid.com
Дата: 01.11.04 10:50
Оценка: 18 (2) :))
Все-таки у меня железные нервы
Автор: Mamut
Дата: 31.10.04


Итак.

Форматирование текста

Вплоть до "Использование цвета и т.п." все хорошо. Далее

Цвет — мощная помощь в разметке визуальной информации


Очень верно

Например, удобно использовать цвет для новых, еще не проверенных вставок в программный текст. Можно определенным цветом выделять комментарии, и т.п. Хорошо выделять, скажем, красным цветом символы экспорта (звездочки и минусы после идентификаторов) в виду их большой важности
...
Кроме того, рекомендуется использовать курсив для комментариев, а жирным шрифтом выделять идентификаторы процедур в их заголовках, а также операторы RETURN и EXIT


Это называется подсветка синтаксиса, которая должна предоставляться средой и должна быть настраиваема из среды.

Как запустить Блэкбокс и выполнить первую программу

Опишем простой и удобный способ выполнить процедуру из скомпилированного модуля. (Есть и другие способы.)

Поставим курсор в окошке с нашим модулем в самый конец текста после точки, закрывающей модуль

Выполним команду меню Инстр --> Вставить коммандер.

После коммандера без пробелов напечатать Привет.Сделать

Теперь кликнем мышкой по коммандеру.


Другие способы настолько же интуитивно-понятные?

Сохранение файла с программой

Для простоты сохраним модуль прямо в той папке, в которой откроется диалог Файлы --> Сохранить как...


С трех раз догадайтесь где эта папка открывается? Правильно — в папке оберона. Причем даже не в папке "Проекты" или "Примеры", а в корне.

Правильно, дети, храните свои модули где угодно.

http://www.inr.ac.ru/~info21/blackbox/dev/files.htm

Имя модуля CommObxStreamsClient разбивается на префикс Comm (имя подсистемы) и собственно имя модуля и соответствующих файлов — ObxStreamsClient. Тогда исходный текст хранится в Comm/Mod/ObxStreamsClient.odc, кодовый файл — в Comm/Code/ObxStreamsClient.ocf, а символьный файл — в Comm/Sym/ObxStreamsClient.ocf


ноу комментс

Как компилятор сообщает об ошибках

Смотреть всем. Так компилятор не должен сообщать об ошибках. Зачем тогда окно Лог? Для красоты?

ХИТ СЕЗОНА

Устраняйте самую первую ошибку — и сразу компилируйте снова, нажимая Ctrl+K


Простейший цикл разработки программы

В простейших случаях (например, в школьных курсах программирования) работают с единственным модулем небольшого объема (скажем, до 500 строк).


Согласен. И при этом работать с ошибками так, как указано выше? И все неудачные модули хранить в корне? И без подсветки синтаксиса? И...........

Некоторые заповеди грамотного программирования

Заповеди 1-4 очень даже хорошо, если бы не заповедь 5:

5 Почаще нажимать Ctrl+K! (компиляция)

... << RSDN@Home 1.1.4 beta 3 rev. 185>>


dmitriid.comGitHubLinkedIn
Re[7]: Component Pascal
От: Mamut Швеция http://dmitriid.com
Дата: 01.11.04 11:02
Оценка:
Здравствуйте, Сергей Губанов, Вы писали:

СГ>Здравствуйте, Mamut, Вы писали:


M>>Turbo Pascal/Turbo C блэкбоксом, а уже они намного совершеннее в плане юзабилити


СГ>Прочитайте вот это: http://www.rsdn.ru/Forum/Message.aspx?mid=878133&amp;only=1
Автор: Сергей Губанов
Дата: 01.11.04


Почитал
Автор: Mamut
Дата: 01.11.04
и даже попользовал
Автор: Mamut
Дата: 31.10.04
.

Чего я не понял — это почему это убожество пытаются навязать детям? Где оно "юзабельно"? Где оно хорошо?

Turbo Pascal/Turbo C:
— подсветка синтаксиса
— контекстно-зависимая справка
— понятные диагностические сообщения
— позволяют правильно организовывать файлы
— не требуют запредельных ресурсов
— позволяют обучиться азам программирования

Единственное, что предоставляет в этом плане Блэкбокс — последний пункт.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>


dmitriid.comGitHubLinkedIn
Re[5]: Тоже скриншотик...
От: Mamut Швеция http://dmitriid.com
Дата: 01.11.04 11:46
Оценка:
Здравствуйте, Poisson, Вы писали:

P>Здравствуйте, Mamut, Вы писали:


M>>Весело, красиво. Жутко непонятно. Будем ковырять дальше

P>Как поковыряешь, расскажи о впечатлениях — интересно.

Интересно, цветно и необычно.

В самом начале пытался воспринимать, как среду разработки, и она мне не понравиляась. Потом неожиданно дошло, что это — (операционная) система. Все встало на свои места. К сожалению, нет времени углубиться в изучение Smalltalk'a

Что мне действительно понравилось — http://squeakland.org. Вот, что детям давать надо!
... << RSDN@Home 1.1.4 beta 3 rev. 185>>


dmitriid.comGitHubLinkedIn
Re[2]: Конкурс по Оберону!
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.11.04 11:56
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Ладно, сетап. Нашёл setup.exe и запустил. А что нужно делать с так называемым сервиспаком?


Да уж сервиспак у них отдельная загадка. Я его открыл в "среде" поглядел, но тоже не очень понял куда его сувать.

К>У меня не получилось самостоятельно родить что-то. Полез в туториал...


Ну, я даже хэлоу-волд смог запустить. Но чего это стоило!
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.