Автор Тема: BlackBox: reloaded.  (Прочитано 20720 раз)

Peter Almazov

  • Sr. Member
  • ****
  • Сообщений: 482
    • Просмотр профиля
Re: BlackBox: reloaded.
« Ответ #15 : Ноябрь 02, 2011, 01:58:16 pm »
Второе, конечно.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: BlackBox: reloaded.
« Ответ #16 : Ноябрь 02, 2011, 02:09:48 pm »
Второе, конечно.
Если целиком, то это штука совсем иного рода. Ну, простой пример - чтобы собрать релиз-версию hello world'a компилятор будет пыхтеть около минуты. И это не потому, что у них такой плохой компилятор, а потому, что язык таков, что чтобы достичь скорости сравнимой со скоростью сишной программы приходится проводить полнотекстовую компиляцию проходов в 20 с очень хитрой многоступенчатой системой оптимизации и использованием gcc.

Eiffel он для больших, сложных статических систем. IDE и исполняемая программа там - совсем разные штуки.

PS. Кроме того, eiffel studio (и все ей сопутствующее, включая компилятор) распространяется по схеме схожей с ББ - использовать можно бесплатно только для не коммерческих систем. Весь код который был разработан на некоммерческой версии EiffelStudio автоматически подпадает под лицензию GPL.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: BlackBox: reloaded.
« Ответ #17 : Ноябрь 02, 2011, 02:42:06 pm »
И да, коммерческий /= исходники не доступны и плата берется за копию программы.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: BlackBox: reloaded.
« Ответ #18 : Ноябрь 02, 2011, 03:12:16 pm »
Плагинов в каком плане? В виде самой среды исполнения (всякие сборщики мусора и прочая дребедень с либами), или в виде чего-то более толстого с самостийным гуем?

Нет. Только ядро. Компилятор (можно даже интерпретатор для начала) + "псевдо" модули для взаимодействия с браузером (а-ля SYSTEM). Да, естественно никакого native кода на входе - байткод максимум. Плагин скармливает код ядру/движку точно так же как в случае жабаскрипта или дарта. Движок компилирует/исполняет.

Сишный API к чему конкретно? Можно на пальцах?

Сишный апи для создания "псевдо" модулей, которые будут экспознуты в ядро.
#include "bb.h"
...
void
procedure1() { std::cout << "Hello World!" << std::endl; }
...
exposer = engine.create_exposer("external_world")
exposer.add_procedure("procedure1", &procedure1);

engine.compile("test.bb");
engine.run("test");

test.bb:

MODULE test;
IMPORT external_world;
...
external_world.procedure1();
...


Geniepro

  • Hero Member
  • *****
  • Сообщений: 1955
  • Знайте- истина в том, что повторено трижды подряд!
    • Просмотр профиля
Re: BlackBox: reloaded.
« Ответ #19 : Ноябрь 02, 2011, 04:28:33 pm »
Плагинов в каком плане? В виде самой среды исполнения (всякие сборщики мусора и прочая дребедень с либами), или в виде чего-то более толстого с самостийным гуем?

Нет. Только ядро. Компилятор (можно даже интерпретатор для начала) + "псевдо" модули для взаимодействия с браузером (а-ля SYSTEM). Да, естественно никакого native кода на входе - байткод максимум. Плагин скармливает код ядру/движку точно так же как в случае жабаскрипта или дарта. Движок компилирует/исполняет.

Был же Juice -- нипашёл...
to iterate is human, to recurse, divine

Салат «рекурсия»: помидоры, огурцы, салат…

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: BlackBox: reloaded.
« Ответ #20 : Ноябрь 02, 2011, 05:14:52 pm »
Был же Juice -- нипашёл...

Подозреваю, что это была "вещь в себе" в чисто обероновском стиле. Упор должен делаться на интеграцию с существующим миром. Ну и представлено оно должно быть в минимально юзабельном виде, а не как голый "proof of concept" (как в случае OberonScript).

P.S. Кстати, не завалялось ссылки? Посмотрю конкретнее и скажу почему "не пошел" :)

DIzer

  • Гость
Re: BlackBox: reloaded.
« Ответ #21 : Ноябрь 02, 2011, 06:04:55 pm »
Вопрос: а к чему этот опрос? Ведь всё равно никто перезагруженный ББ делать не станет, ибо он изначально нинужен )))
Geniepro = это вопрос спорный, мне НУЖЕН простой ЯВУ(с IDE из коробки и комплектом методик для образовательных целей) для нужд обучения - в том виде каком он есть ББ не удовлетворяет потребностям - что бы быть точнее -он не лучше (по совокупности свойств)  чем PABC. Вопрос ведь вот в чем - что вы ожидаете получить от ББ  и что в ПРИНЦИПЕ возможно ВЫСОСАТЬ из этой идеи.... Скажем так, когда я принял участие в этом форуме - одной из моих целей - было выяснение именно этого вопроса , ибо любая попытка дискуссии в коровнике приводила к плачевным результатам(заканчивалась матом с моей стороны и баном от обермейстера)...
« Последнее редактирование: Ноябрь 02, 2011, 06:23:44 pm от DIzer »

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: BlackBox: reloaded.
« Ответ #22 : Ноябрь 02, 2011, 06:12:55 pm »
P.S. Кстати, не завалялось ссылки? Посмотрю конкретнее и скажу почему "не пошел" :)
http://www.jucs.org/jucs_4_5/open_standards_beyond_java/Franz_M.html
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Romiras

  • Sr. Member
  • ****
  • Сообщений: 264
    • Просмотр профиля
    • Romiras Dev Lab
Re: BlackBox: reloaded.
« Ответ #23 : Ноябрь 02, 2011, 07:10:00 pm »
Очевидно, что BB имеет ряд старых болячек и родовых травм. Начиная от лицензии и политики распространения, и заканчивая ядром языка, оконной системой, форматом документов.

Если бы BB писался с чистого листа, что бы вы в нем изменили бы?

Ядро:
* улучшить переносимость за счёт использования дополнительных абстрактных слоёв от низлежащей ОС,
* возможно даже разбиение на дополнительные части ядра,
* отказ от привязки к 32-битной архитектуре.

Каркас:
* уменьшение зависимостей от модуля Kernel (каркас насквозь пронизан зависимостями), особенно в абстрактных модулях,
* отделение от каркаса составных документов и, как следствие, формата ODC в качестве дополнительного встраиваемого модуля, расширяющего интерфейс ББ дополнительной функциональностью как для аналога редактора WYSIWYG. Исходные тексты программ же хранить в кодировке UTF-8 как это принято сегодня.

Реализация:
* реализация оконного интерфейса на межплатформенном API (в частности, обновление Ports, Views),
* как следствие, отказ от MDI в пользу оконного интерфейса с переключением закладок,
* система управления подсистемами с разрешением зависимостей и с каталогом для поиска подсистем, наподобие APT/YUM/...
* добавление панели инструментов для часто используемых операций,
* добавление подсистем для поддержки подсветки синтаксиса кода, средств анализа кода и зависимостей, навигатора по классам

DIzer

  • Гость
Re: BlackBox: reloaded.
« Ответ #24 : Ноябрь 02, 2011, 07:34:25 pm »
..... зависимостей и с каталогом для поиска подсистем, наподобие APT/YUM/...
* добавление панели инструментов для часто используемых операций,
* добавление подсистем для поддержки подсветки синтаксиса кода, средств анализа кода и зависимостей, навигатора по классам
Хехе - это называется привести технологию к современному виду... и что получим в результате - еще одну продвинутую технологию(в дополнение к существующим)?

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: BlackBox: reloaded.
« Ответ #25 : Ноябрь 04, 2011, 06:05:52 pm »
Geniepro = это вопрос спорный, мне НУЖЕН простой ЯВУ(с IDE из коробки и комплектом методик для образовательных целей) для нужд обучения - в том виде каком он есть ББ не удовлетворяет потребностям - что бы быть точнее -он не лучше (по совокупности свойств)  чем PABC. Вопрос ведь вот в чем - что вы ожидаете получить от ББ  и что в ПРИНЦИПЕ возможно ВЫСОСАТЬ из этой идеи.... Скажем так, когда я принял участие в этом форуме - одной из моих целей - было выяснение именно этого вопроса , ибо любая попытка дискуссии в коровнике приводила к плачевным результатам(заканчивалась матом с моей стороны и баном от обермейстера)...
А что нужно, чтобы он стал лучше АБС?
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

DIzer

  • Гость
Re: BlackBox: reloaded.
« Ответ #26 : Ноябрь 04, 2011, 07:26:38 pm »
Geniepro = это вопрос спорный, мне НУЖЕН простой ЯВУ(с IDE из коробки и комплектом методик для образовательных целей) для нужд обучения - в том виде каком он есть ББ не удовлетворяет потребностям - что бы быть точнее -он не лучше (по совокупности свойств)  чем PABC. Вопрос ведь вот в чем - что вы ожидаете получить от ББ  и что в ПРИНЦИПЕ возможно ВЫСОСАТЬ из этой идеи.... Скажем так, когда я принял участие в этом форуме - одной из моих целей - было выяснение именно этого вопроса , ибо любая попытка дискуссии в коровнике приводила к плачевным результатам(заканчивалась матом с моей стороны и баном от обермейстера)...
А что нужно, чтобы он стал лучше АБС?
Вопрос достаточно серьезный, и мои соображения эволюционировали на протяжении всего времени с которого я начал работать с первокурсниками. Попозже попробую дать свои соображения на этот счет.