Иван Денисов писал(а):
Вы путаете проверку платформы во время исполнения и во время компиляции что ли?
а какая разница? это одна и та же проверка, просто её зачем-то перенесли из ранней стадии компиляции в позднюю стадию выполнения.
Иван Денисов писал(а):
Я думаю, что вы провокативно троллите просто, а не серьезную дискуссию ведёте. В этом смысле дальше бессмысленно продолжать.
право, если бы у меня была такая цель, то последнее место, куда бы я с этим пришёл — это oberoncore. здесь троллить неинтересно: аудитория и маленькая, и не особо ведётся.
Иван Денисов писал(а):
Явное лучше неявного.
но… вы ведь только что назвали исключение явного разделения модуля на описание и реализацию в оберонах ошибкой.
Иван Денисов писал(а):
В Компонентном Паскале есть прекрасные средства для создания интерфейсов и загрузки платформенных реализаций, поэтому ваши трюки с подстановками тут просто и не требуются. Реализация кода ложится в понятный граф исходников на какой бы Операционной Системе не выполнялся код.
я помню, в последний раз они мне не требовались при адаптации MySQL-драйвера. где выбор был сделан селекторами. вы предлагаете пропускать работу с MySQL через ещё один абстрактный API, который инициализировать вручную, вместо того, чтобы просто позволить среде самой выбрать правильный API-модуль. я положительно не могу понять, почему ввод дополнительного слоя абстракции, который нужен исключительно от того, что среда не умеет сама выбрать модуль на стадии компиляции, делает код проще, удобней и сопровождаемей. это какие-то абстракции ради абстракций получаются, право слово. тем более, что драйвер
уже призван реализовать абстракцию работы с БД.
да, я немного злюсь, потому что вы в итоге маленькими шагами приходите к тому, о чем я говорил сразу. злюсь я потому, что придёте-то ровно туда же, но к этому времени успеет нарости куча костылей, и куча кода, который на эти костыли опирается. менять будет поздно, и опять выйдет: «так исторически сложилось, deal with it» — хотя как минимум одной такой бородавки можно было избежать. это не попытка самоутвердиться путём доказательства, что я прав, а расстройство от того, что я вижу, куда всё идёт, вижу, чем всё закончится, и мне очень жаль, что отличнейшая система ни за что ни про что получит бородавку, наличие которой людям придётся объяснять, пряча глаза.
у нас есть мощнейшая система, которая и может, и хочет нам помочь — но мы от её помощи отказываемся. ну давайте реалистично: никто не будет работать с кодом BBCB вне самого BBCB, это попросту не имеет смысла. а BBCB не даст нам запутаться, он в состоянии отслеживать всё нужное. BBCB может помочь и визуально, и шорткатами, и командами — и сделает это лучше, чем чисто ручная работа.
автоматизация вредна, когда система выходит из-под контроля и начинает жить своей жизнью, а пользователю приходится угадывать, что там система себе решила. в данном случае нам это не грозит: система ничего не решает сама, её состояние совершенно однозначно контролируется пользователем. более того: система даёт визуальную индикацию текущего состояния. зачем в этом случае отказываться от автоматизации? в компилятор, например, в 2.0 добавили команду `DevCompiler.CompileSubs` — но зачем, ведь модули же можно перечислить и руками? тоже лишняя автоматизация получается, скрытие явного. кстати, намного более хитрое скрытие, чем просто переключение целевой архитектуры и подмена
некоторых модулей. у этой команды вообще нет никакой визуальной индикации того, что и как она собирается компилировать.
это примерно тот же нюанс, который и в упрощении систем постоянно возникает: грань между «простой в использовании системой» и «системой для идиота». вы, мне кажется, из боязни незаметно перейти грань «для идиота» (ну, и ещё из страха привести систему в неконтролируемое состояние) отказываетесь от любой автоматизации вообще. эти страхи, конечно, оправданы — в общем. но в данном конкретном случае мне кажется, что нет.
ладно, это уже 100500-й круг того же самого. торжественно обещаю больше по этому поводу в публичных дискуссиях здесь не написать ни слова, даже если меня будут пытать: похоже, мы с вами тут никогда во мнениях не сойдёмся, я только каждый раз буду бомбить стенами текста. и очень надеюсь (без иронии), что я в итоге окажусь неправ, и вы придёте к чему-то, что красивей и удобней моей придумки. тогда я это сразу украду. ;-)
p.s.: сейчас пойду, сделаю себе юзерскрипт, который будет выводить памятку: «никогда не говорить про бойцовский клуб^w^w SubsManager». а то, кажется, я уже раз обещал, что не буду, но запамятовал. простите, это не со зла, это я склеротик.