Oberon space
General Category => Общий раздел => Тема начата: valexey от Ноябрь 02, 2011, 09:18:11 am
-
Очевидно, что BB имеет ряд старых болячек и родовых травм. Начиная от лицензии и политики распространения, и заканчивая ядром языка, оконной системой, форматом документов.
Если бы BB писался с чистого листа, что бы вы в нем изменили бы?
-
лицензию, язык, оконную систему, формат документов.
насчёт схемы распространения недопонял -- что с ней не так?
-
лицензию, язык, оконную систему, формат документов.
Хотелось бы таки конструктивной конкретики.
насчёт схемы распространения недопонял -- что с ней не так?
Ты зря вырвал из контекста. Политика распространения с лицензией едины. (hint: распространение /= скачивание).
-
лицензию, язык, оконную систему, формат документов.
Хотелось бы таки конструктивной конкретики.
Ну лицензию на BSD,
язык на хаскель,
оконную систему на что-нить переносимое и маленькое (у QNX, говорят, маленькая и удачненькая оконная система Photon),
формат документов на HTML-подобный (вариант -- TEX-подобный, но менее предпочтительно).
-
Ну лицензию на BSD,
Лучше MIT.
язык на хаскель,
Хаскель слишком много зависимостей тянет. Как в програмном, так и в организационном плане.
оконную систему на что-нить переносимое и маленькое (у QNX, говорят, маленькая и удачненькая оконная система Photon),
Ну, это вообще очевидная глупость :-) Программа должна нормально работать при любой используемой в ОС оконной системе.
формат документов на HTML-подобный (вариант -- TEX-подобный, но менее предпочтительно).
Ну, то есть получится аля odt?
-
Ну лицензию на BSD,
Лучше MIT.
А в чём отличие между ними? о_О
оконную систему на что-нить переносимое и маленькое (у QNX, говорят, маленькая и удачненькая оконная система Photon),
Ну, это вообще очевидная глупость :-) Программа должна нормально работать при любой используемой в ОС оконной системе.
Ну да, и маленькая удачненькая оконная система облегчит работу "при любой используемой в ОС оконной системе".
формат документов на HTML-подобный (вариант -- TEX-подобный, но менее предпочтительно).
Ну, то есть получится аля odt?
Да нет же, аля Literate Haskell...
-
Как бы вы стали учить пятиклашек Хаскелю? Начали бы с теории категорий? :)
-
Как бы вы стали учить пятиклашек Хаскелю? Начали бы с теории категорий? :)
А зачем пятиклашкам BlackBox? о_О
Ну и потом, вот серия уроков ФП для детей:
http://users.livejournal.com/_darkus_/608832.html
http://users.livejournal.com/_darkus_/609354.html
http://users.livejournal.com/_darkus_/610510.html
-
В общем хаскелю отказать.
Предлагаю следующее:
1. Ядро языка, основные управляющие конструкции, заменить на оные конструкции из Oberon-07
2. Систему примитивных типов отвязать от 32х битности. (надо подумать как это лучше сделать)
3. Формат документов/исходников - http://ru.wikipedia.org/wiki/Markdown .
-
Вопрос: а к чему этот опрос? Ведь всё равно никто перезагруженный ББ делать не станет, ибо он изначально нинужен )))
-
Вопрос: а к чему этот опрос? Ведь всё равно никто перезагруженный ББ делать не станет, ибо он изначально нинужен )))
Есть много факторов сдераживающих развитие BB. И лицензия, и все остальное, что уже перечислялось выше.
А подобная среда таки нужна:
Лучшие IDE всегда были для Smalltalk языка с динамической типизацией. Там понятия среда разработки и среда выполнения тождественны. Значит, вы можете в работающей системе заглянуть внутрь, осмотреть граф объектов и изменить фрагменты кода, чтобы исправить ошибку. Ни один современный язык вам не даст такой свободы.
Хабр.
-
А Эйфель чем не устраивает? По пунктам.
Отладчик там есть, насколько я понимаю :)
-
Очевидно, что BB имеет ряд старых болячек и родовых травм. Начиная от лицензии и политики распространения, и заканчивая ядром языка, оконной системой, форматом документов.
Если бы BB писался с чистого листа, что бы вы в нем изменили бы?
Плагином его в популярный браузер. Возможность встраивать движок кудо угодно (сишное апи ко всему этому - must, без всяких снобских отговорок). Вокруг этого все остальное растить (вплоть до собственной оконной среды).
-
Плагином его в популярный браузер. Возможность встраивать движок кудо угодно (сишное апи ко всему этому - must, без всяких снобских отговорок). Вокруг этого все остальное растить (вплоть до собственной оконной среды).
Плагинов в каком плане? В виде самой среды исполнения (всякие сборщики мусора и прочая дребедень с либами), или в виде чего-то более толстого с самостийным гуем?
Сишный API к чему конкретно? Можно на пальцах?
-
А Эйфель чем не устраивает? По пунктам.
Отладчик там есть, насколько я понимаю :)
Эйфель как язык для "BlackBox: reloaded", или же Эйфель как инфрауструктура (вместе с тамошней IDE - Eiffel Studio) как замена BB целиком?
-
Второе, конечно.
-
Второе, конечно.
Если целиком, то это штука совсем иного рода. Ну, простой пример - чтобы собрать релиз-версию hello world'a компилятор будет пыхтеть около минуты. И это не потому, что у них такой плохой компилятор, а потому, что язык таков, что чтобы достичь скорости сравнимой со скоростью сишной программы приходится проводить полнотекстовую компиляцию проходов в 20 с очень хитрой многоступенчатой системой оптимизации и использованием gcc.
Eiffel он для больших, сложных статических систем. IDE и исполняемая программа там - совсем разные штуки.
PS. Кроме того, eiffel studio (и все ей сопутствующее, включая компилятор) распространяется по схеме схожей с ББ - использовать можно бесплатно только для не коммерческих систем. Весь код который был разработан на некоммерческой версии EiffelStudio автоматически подпадает под лицензию GPL.
-
И да, коммерческий /= исходники не доступны и плата берется за копию программы.
-
Плагинов в каком плане? В виде самой среды исполнения (всякие сборщики мусора и прочая дребедень с либами), или в виде чего-то более толстого с самостийным гуем?
Нет. Только ядро. Компилятор (можно даже интерпретатор для начала) + "псевдо" модули для взаимодействия с браузером (а-ля 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();
...
-
Плагинов в каком плане? В виде самой среды исполнения (всякие сборщики мусора и прочая дребедень с либами), или в виде чего-то более толстого с самостийным гуем?
Нет. Только ядро. Компилятор (можно даже интерпретатор для начала) + "псевдо" модули для взаимодействия с браузером (а-ля SYSTEM). Да, естественно никакого native кода на входе - байткод максимум. Плагин скармливает код ядру/движку точно так же как в случае жабаскрипта или дарта. Движок компилирует/исполняет.
Был же Juice -- нипашёл...
-
Был же Juice -- нипашёл...
Подозреваю, что это была "вещь в себе" в чисто обероновском стиле. Упор должен делаться на интеграцию с существующим миром. Ну и представлено оно должно быть в минимально юзабельном виде, а не как голый "proof of concept" (как в случае OberonScript).
P.S. Кстати, не завалялось ссылки? Посмотрю конкретнее и скажу почему "не пошел" :)
-
Вопрос: а к чему этот опрос? Ведь всё равно никто перезагруженный ББ делать не станет, ибо он изначально нинужен )))
Geniepro = это вопрос спорный, мне НУЖЕН простой ЯВУ(с IDE из коробки и комплектом методик для образовательных целей) для нужд обучения - в том виде каком он есть ББ не удовлетворяет потребностям - что бы быть точнее -он не лучше (по совокупности свойств) чем PABC. Вопрос ведь вот в чем - что вы ожидаете получить от ББ и что в ПРИНЦИПЕ возможно ВЫСОСАТЬ из этой идеи.... Скажем так, когда я принял участие в этом форуме - одной из моих целей - было выяснение именно этого вопроса , ибо любая попытка дискуссии в коровнике приводила к плачевным результатам(заканчивалась матом с моей стороны и баном от обермейстера)...
-
P.S. Кстати, не завалялось ссылки? Посмотрю конкретнее и скажу почему "не пошел" :)
http://www.jucs.org/jucs_4_5/open_standards_beyond_java/Franz_M.html
-
Очевидно, что BB имеет ряд старых болячек и родовых травм. Начиная от лицензии и политики распространения, и заканчивая ядром языка, оконной системой, форматом документов.
Если бы BB писался с чистого листа, что бы вы в нем изменили бы?
Ядро:
* улучшить переносимость за счёт использования дополнительных абстрактных слоёв от низлежащей ОС,
* возможно даже разбиение на дополнительные части ядра,
* отказ от привязки к 32-битной архитектуре.
Каркас:
* уменьшение зависимостей от модуля Kernel (каркас насквозь пронизан зависимостями), особенно в абстрактных модулях,
* отделение от каркаса составных документов и, как следствие, формата ODC в качестве дополнительного встраиваемого модуля, расширяющего интерфейс ББ дополнительной функциональностью как для аналога редактора WYSIWYG. Исходные тексты программ же хранить в кодировке UTF-8 как это принято сегодня.
Реализация:
* реализация оконного интерфейса на межплатформенном API (в частности, обновление Ports, Views),
* как следствие, отказ от MDI в пользу оконного интерфейса с переключением закладок,
* система управления подсистемами с разрешением зависимостей и с каталогом для поиска подсистем, наподобие APT/YUM/...
* добавление панели инструментов для часто используемых операций,
* добавление подсистем для поддержки подсветки синтаксиса кода, средств анализа кода и зависимостей, навигатора по классам
-
..... зависимостей и с каталогом для поиска подсистем, наподобие APT/YUM/...
* добавление панели инструментов для часто используемых операций,
* добавление подсистем для поддержки подсветки синтаксиса кода, средств анализа кода и зависимостей, навигатора по классам
Хехе - это называется привести технологию к современному виду... и что получим в результате - еще одну продвинутую технологию(в дополнение к существующим)?
-
Geniepro = это вопрос спорный, мне НУЖЕН простой ЯВУ(с IDE из коробки и комплектом методик для образовательных целей) для нужд обучения - в том виде каком он есть ББ не удовлетворяет потребностям - что бы быть точнее -он не лучше (по совокупности свойств) чем PABC. Вопрос ведь вот в чем - что вы ожидаете получить от ББ и что в ПРИНЦИПЕ возможно ВЫСОСАТЬ из этой идеи.... Скажем так, когда я принял участие в этом форуме - одной из моих целей - было выяснение именно этого вопроса , ибо любая попытка дискуссии в коровнике приводила к плачевным результатам(заканчивалась матом с моей стороны и баном от обермейстера)...
А что нужно, чтобы он стал лучше АБС?
-
Geniepro = это вопрос спорный, мне НУЖЕН простой ЯВУ(с IDE из коробки и комплектом методик для образовательных целей) для нужд обучения - в том виде каком он есть ББ не удовлетворяет потребностям - что бы быть точнее -он не лучше (по совокупности свойств) чем PABC. Вопрос ведь вот в чем - что вы ожидаете получить от ББ и что в ПРИНЦИПЕ возможно ВЫСОСАТЬ из этой идеи.... Скажем так, когда я принял участие в этом форуме - одной из моих целей - было выяснение именно этого вопроса , ибо любая попытка дискуссии в коровнике приводила к плачевным результатам(заканчивалась матом с моей стороны и баном от обермейстера)...
А что нужно, чтобы он стал лучше АБС?
Вопрос достаточно серьезный, и мои соображения эволюционировали на протяжении всего времени с которого я начал работать с первокурсниками. Попозже попробую дать свои соображения на этот счет.