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/ |