OberonCore
https://forum.oberoncore.ru/

Почему использовать Блэкбокс?
https://forum.oberoncore.ru/viewtopic.php?f=127&t=5887
Страница 1 из 2

Автор:  Иван Денисов [ Среда, 14 Сентябрь, 2016 18:11 ]
Заголовок сообщения:  Почему использовать Блэкбокс?

Дорогие друзья, объявляется блиц опрос по теме "Почему использовать Блэкбокс?"

Заметки Дугласа, по моему скромному мнению, не полностью отражают картину.
http://blackboxframework.org/index.php? ... lackbox,ru

Выскажите, что на ваш взгляд, является преимуществом, которое может побудить использовать Блэкбокс.

Автор:  Info21 [ Среда, 14 Сентябрь, 2016 21:51 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

По сравнению с чем?

Автор:  Иван Денисов [ Четверг, 15 Сентябрь, 2016 03:26 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

Info21 писал(а):
По сравнению с чем?

Сравнительные вещи тоже возможны, но лучше строить показ достоинств без отрицаний и критики других продуктов. Просто "Хорош для разработки OLE объектов" или "Имеет встроенную документацию на каждый модуль пользовательского уровня" и т.п.

Автор:  prospero78 [ Четверг, 15 Сентябрь, 2016 09:57 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

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

Автор:  Иван Денисов [ Четверг, 15 Сентябрь, 2016 09:59 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

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

Да и я про тоже, поэтому и прошу поучаствовать в конструктивном опросе. Назовем его "мозговым штурмом".

Автор:  prospero78 [ Четверг, 15 Сентябрь, 2016 10:07 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

То, что компилятор встроен, или просмотр документа через вьюшку -- это какие-то смешные аргументы.

По серьёзному, надо составить табличку, вписать параметры, проставить шкалу важности и реальное значение.
Скажем, python, Visual Studio+C# и Prolog.
И вот когда начинаются измерения, тогда и начинается наука, а так бла-бла-бла.

И после таблички, какие-то выводы на количество, и самое главное -- качество.
Какие-то перспективы оконтурить. Сильные стороны есть. Осветить надо правильно.

Автор:  Иван Кузьмицкий [ Четверг, 15 Сентябрь, 2016 15:20 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

Благодаря стабильности Блэкбокса, софт для него не протухает.

Если б ещё герметизирующую прослойку, то можно было заявить и о кроссплатформенности.

Автор:  prospero78 [ Пятница, 16 Сентябрь, 2016 09:40 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

БлэкБокс -- это реальный конструктор. В реестр не лезет, управляем, документация вполне под рукой. А если чего-то нет -- можно допилить, через привлечение сторонних DLL (которые не лезут в WinAPI и COM), или на худой конец -- WinAPI и COM.
Язык простой. Учится реально за неделю. Количество ключевых слов я бы ещё сократил.
Я бы ещё CASE убрал как ограниченное целочисленное решение, и вместо ELSIF оставил питоновское ELIF, вместо THEN оставил бы DO. А проверку типа через WITH тоже убрал, и сделал бы просто условием [IF/ELIF] a IS tInt32 DO. BEGIN можно было бы подсократить до BEG. Это взгляд дилетанта.
А всё остальное в самом языке меня вполне устраивает. Явная система приведения типов -- это то, чего так не хватает в питоне. Значения параметров по умолчанию, по моему, зло. В рамках контрактного программирования, можно для конкретного модуля предусмотреть опцию пред и пост условий. Но это, только как уточнение языка, которое вовсе не обязательно.

Сама среда, устроена просто. Честно, после питона, с его системой пакетов (которые могут быть вложенными) подход БлэкБокс был непривычен. Но, если я правильно понял, одно приложение -- одна общая папка для всех необходимых пакетов. И сваливать все пакеты в базовую сборку -- дурная мысль. Это позволяет держать ядро стабильным для всех приложений.

Питон -- это просто свалка пакетов. Управление можно осуществлять:
1) руками
2) pip install [чего-нибудь там]
3) easyinstall ...
4) ... через python install... (install.py -- в самом пакете)

Разделение на ветку 2.х и 3.х привнесло свои плоды фрагментирования платформы.

И если хоть один пакет встал с использованием отличного способа от стандартного... Готовимся к странным эффектам.
Пакет может понакидать свои файлы разные пакеты и в ряде случаев, ещё и требует руками внести правки (например, как пакет cython при использовании MinGW требует правки руками пакета distutils). С трудом представляю себе такую ситуацию в БлэкБокс)))

Документация в том же питоне просматривается через браузер. Для этого надо запуcтить pydoc.pyw, как сервер документации. Мне не очень нравится, как он сделан, и не нравится, что приходится привлекать внешние программы. Документация в БлэкБоксе вполне может быть отформатирована, хранится в платформо-независимом виде, и браузер не нужен (ситуация с отсутствием браузера, или недостаточной памятью -- вполне возможна). Плюс ко всему, браузер документации питона лезет в исходники, т.е. документация -- неотъемлемая часть исходников. Не считаю, что это хорошо. При ограничении на свободное место (какая-нибудь промышленная флеш-карта размером в 8-16 МБ) вырезать документацию из модулей в питоне -- то ещё удовольствие).

Скорость исполнения Компонентного Паскаля (по моим тестам, по сторонним) раза в 4 проигрывает Си. Это плата за постоянный контроль и проверки. Есть опции отключения проверок при компиляции, но не один нормальный человек не должен этого делать. Полёты в космос -- это глупость несусветная. И все попытки причесать Си в этом отношении -- это попытки как раз исправить генетический недостаток. Тогда не можно говорить о превосходстве скорости исполнения в 4 раза. А уж модульность, которая позволяет из каркаса на ходу выгружать модули ,компилировать и подгружать новые -- хотел бы я посмотреть на Си, где такое сделано.

Сборщик мусора в жёстком реалтайме штука сложная. Обычно под реалтаймом понимается гарантированное прерывание и гарантированная обработка события с точностью не хуже 1 мсек. И здесь кроется подвох. Для человека реалтайм -- 100 мсек. Для механики -- 10-50 мсек (инерцию никто не отменял). Для управления через электронные блоки управления ходовыми частями, частотными преобразователями, софт стартерами -- 5-20 мсек (скорость разряда выходных конденсаторов + инерцию механики никто не отменял). Скорость 1 мсек нужна только в скоростной защите оборудования, которые стоит кучу денег. Ради интереса, посмотрите на досуге какова скорость срабатывания электромагнитных пускателей, контакторов и устройств дифзащиты (тех самых ,что стоят между розеткой и бойлером у вас дома). Я вас уверяю, вы будете неприятно удивлены. Какие 1 мс?))))

Почти тысяча параметров отрабатывается у меня со средним временем 56 мсек. В релейно-защитной аппаратуре в обработке, по сути, всего 6 параметров -- три напряжения и три тока. Т.е. 6 АЦП должны работать со скоростью всего 1 кГц. Реальная циклограмма снимается на частоте 800 Гц. Т.е. РЗА отрабатывает даже хуже чем 1 мсек. Любой встроенный осциллограф в виде PCI-платы с предельной частотой до 200 кГц справится лучше. 6 параметров Компонетный Паскаль отработает влёт. Попробуйте это сделать на питоне?))))

Компоненты в БлэкБоксе платформо-независимы. Попробуйте без танцев с бубном подхватить DLL под Убунтой?)) Или *.so под Виндовсом?)) Даже пакеты питона могут не взлететь, если не сделать "chmod 755". Компонентам этого не требуется. Они не лезут в /usr/bin, usr/local/bin, /opt/bin ... и ещё чёрт знает куда. Я до сих пор помню, как я пытался запихнуть в /usr/local/python/site-package свой пакет виджетов))) На поверку оказалось, что Линукс вовсе не прост, и вовсе не дружелюбен))) И в разных версиях расположение разных частей может существенно отличаться.

Вот поэтому я выбираю БлэкБокс. Простота, предсказуемость/логичность, стабильность. Всё это выгодно отличает ББ от всего остального.

Автор:  Иван Кузьмицкий [ Пятница, 16 Сентябрь, 2016 19:11 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

prospero78 писал(а):
Скорость исполнения Компонентного Паскаля (по моим тестам, по сторонним) раза в 4 проигрывает Си
Там инструкции ещё для 486 процессора же.

Автор:  prospero78 [ Суббота, 17 Сентябрь, 2016 12:27 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

Иван Кузьмицкий писал(а):
Там инструкции ещё для 486 процессора же.

Отсутствие ММХ и SSE/SSE2 в практических задачах практически не сказывается. Мы же не занимаемся кодированием потового видео? Для этого целесообразно DLL прикрутить с кодеком/числодробилкой.
Ну, положа руку на сердце: Вы правда можете повторить кодек DivX? H.264?))) В этом есть какой-то практический смысл?))
Инструкции от 80486, говорит о том, что БлэкБокс запустится даже на древнючем ПК. А станки, как правило -- именно с такими встроенными системами и поставляются)))
Мало будет скорости ББ -- поставим рядом второй ящик с более шустрым многоядерным процессором. Это вообще копейки на производстве. А вот стабильность, простота, сопровождаемость..... В непрерывном производстве стоят ОЧЕНЬ дорого.

Адд. Вот, кстати, по поводу явного приведения типов в ББ и буйства утиной типизации в питоне: вчера столкнулся с тем, что при попытке построить дерево конфигурации для сборки ББ (на гитхабе моё чудище) -- питон, хоть и по факту пользует словарь для хранения данных в config.db, по факту проверка данных на принадлежность типу к "словарь" -- не проходит. Т.е. пользуемый модуль shelve вводит свой тип данных, который не совпадает со словарём, но ведёт себя ровно также. Теперь приходится к каждому параметру в дереве config.db добавлять поле, которое хранит исходный тип параметра. Вот так всё не просто)))

Автор:  Пётр Кушнир [ Воскресенье, 18 Сентябрь, 2016 15:39 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

prospero78, угомонись уже.

Автор:  Иван Денисов [ Воскресенье, 18 Сентябрь, 2016 15:42 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

Пётр Кушнир писал(а):
prospero78, угомонись уже.

Пётр, очнись! Выйди из железнодорожного сумрака! :-)

Автор:  Пётр Кушнир [ Воскресенье, 18 Сентябрь, 2016 18:22 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

2007-й не вернуть!

Автор:  Иван Денисов [ Понедельник, 19 Сентябрь, 2016 03:59 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

Пётр Кушнир писал(а):
2007-й не вернуть!

Верю в твои ментальные способности. Мысленно вернись в 2007 и расскажи, почему ты тогда заинтересовался Блэкбоксом?
Да, сейчас есть Go, Rust и другие чудеса, но они ведь не умоляют достоинств Компонентного Паскаля.

Автор:  prospero78 [ Понедельник, 19 Сентябрь, 2016 09:18 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

Пётр Кушнир писал(а):
prospero78, угомонись уже.

Пётр, не падайте духом))
Всё у Вас будет хорошо)
За Компонентным Паскалем стоит правды больше, чем за Си, питоном и лиспом вместе взятыми)

Автор:  Пётр Кушнир [ Понедельник, 19 Сентябрь, 2016 09:46 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

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

Автор:  prospero78 [ Понедельник, 19 Сентябрь, 2016 11:23 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

Пётр, Вы производите впечатление солидного, повидавшего виды программиста))
Даже "словесный понос" у Вас выглядит солидно))

А что-нибудь по существу?))

И в фанаты Вы меня зачислили преждевременно)) Мне не чужды ни питон, ни Си Шарп, ни Бейсик. Но, по ситуации))

Автор:  Kubanych [ Понедельник, 19 Сентябрь, 2016 12:26 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

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

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

Жалко, что нет обучающих программ (кроме черепашки), таких, как robocode, colobot, torcs,
чтобы на игровом интересе отработать навыки программирования.

Видимо, проблема в том, что система поздно появилась, и, главное, стала open source,
когда существовали другие системы,
решавшие аналогичные проблемы, пусть и хуже.

А на рынке информационных технологий первый забирает все. Как в случае с фортраном и алголом.

Автор:  Пётр Кушнир [ Понедельник, 19 Сентябрь, 2016 15:04 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

prospero78, предложение угомониться и было предложением "по существу".

Автор:  ilovb [ Вторник, 20 Сентябрь, 2016 19:00 ]
Заголовок сообщения:  Re: Почему использовать Блэкбокс?

Пётр Кушнир писал(а):
... освободить место для фанатов с логореей, но это не так.


Вот бы еще грань между логореей и шизофазией научиться различать... :)

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/