Вставлю свои 2 копейки, раз уж мои цели были упомянуты. Что было для меня мотивом заняться A2?
1. Это как ББЦБ, но лучше во многих отношениях. Как минимум, компилятор Fox лучше, чем компилятор ББЦБ, в той мере, в которой я его видел.
2. Не решён вопрос кибербезопасности России, при том, что идёт война. Совсем недавно мы видели кибератаки на Венесуэлу, и открылись неустранимые уязвимости в процессорах Intel. Я уж не говорю про шпионские чипы в современных компьютерах, о которых широко известно. США доминирует в киберпространстве и в современных реалиях это примерно то же, что доминирование в воздухе во время второй мировой. Именно поэтому я пытался делать свой ЯП, а потом понял, что нужно строить более высокий стек, включая и ОС, т.к. удовлетворительных ОС, способных дать России безопасность, не нашёл. Я начал вовремя, но не сумел найти поддержку, теперь в общем-то поздно, потому что решить эту задачу потребует титанических усилий всей страны на протяжении лет 10-20. За это время война наверняка так или иначе закончится. При том, даже в администрации президента не сумели внедрить даже Линукс, т.е. всё не просто запущено, а выглядит безнадёжным. С этим фактом я пытаюсь смириться, но даже если борьба имеет смысл, то у меня нет ресурсов на такие проекты, и привлечь сторонние ресурсы пока не удалось. Нет и уверенности, что я смогу достичь тех результатов, под которые можно было бы просить нормальных денег.
3. Русский язык нужен для того, чтобы отделить лояльных России людей, которые готовы жить и умереть в России и за Россию, от тех, кому всё равно где жить. Факты говорят об успехе 1С, но я не буду это обсуждать. Я просто привожу 1С как пример того, что русскоязычная среда может успешно конкурировать и побеждать. Был и БК-0010, пример полностью русифицированного микроконтроллера. Да, там были англоязычные мнемоники и английские бейсик, но вся документация была на русском. Сегодня даже у Байкала первичная документация англоязычная, это известно из вакансии технического писателя, которую они публиковали на хедхантере. Вот и здесь тоже поддержки никакой у этого тезиса нет. Либо замусорены мозги населения преклонением перед западной культурой, либо никто не собирается жить в России, может ещё что-то. Я не буду разбираться, но это уже статистика. Идея русскоязычного программирования маргинальна и считанные единицы людей её принимают. Даже факт успеха 1С побуждает людей не задуматься о том, какова роль РЯ в этом успехе, а обязательно найти другие причины, чтобы обосновать, что 1С победила не благодаря использованию РЯ, а вопреки. Но опять же, я не буду разворачивать эту дискуссию - уже раньше надискутировался и хватит.
4. Почему A2 может способствовать безопасности? Есть две причины: простота (малый объём исходных текстов) и надёжный ЯП. Тот самый "путь Оберона".
5. Владение форком в этой ситуации нужно для того, чтобы решения принимались внутри России. Продукт, развитие которым управляется из-за рубежа, не является российским и не может использоваться для обезпечения безопасности России. Технический владелец продукта обладает реальной властью и может закладывать уязвимости вопреки мнению всех остальных. Например, можете почитать про Торвальдса и датчик случайных чисел. Кроме того, у меня есть негативный опыт работы с командой SBCL, которая работает на свои цели, отличающиеся от моих. Они развивают SBCL в направлении быстродействия, а мне нужна надёжность и поддержка, скажем, запуска внешних программ на всех платформах. Это разные и противоречащие друг другу цели, и тут мои интересы были полностью проигнорированы.
6. Сами по себе согласования с кем-то - это большая затрата времени и сил. Согласованное решение требует кратно большего объёма труда, и не всегда оно лучше решения, принятого единолично. У судна один капитан, и это неспроста. Если вы работаете на основной репозиторий, то капитаном является Феликс или кто-то иной (я не в курсе), а у вас лишь право совещательного голоса. Этого достаточно для неудачи проекта, если цели Феликса будут отличаться от ваших. Сделайте свой форк и пусть Феликс берёт ваш код, поспевает за вами.
7. Из применений - как я уже сказал, защищённая система для коммуникации и хранения ценной информации (да, я знаю, что система однопользовательская и без контроля доступа, но ведь можно добавить недостающее). Десктопная, серверная, мобильная - на что денег дадут, то и надо делать.
8. Доращивать язык до голанг-подобного. Здесь опять же может начаться священная война. Но я как человек, который коснулся и оберона, и голанга, вижу, что это очень близкие языки, притом в голанг добавлены те вещи, которых недостаёт в оберонах: доступ к AST, хеш-таблицы, срезы массивов (хотя может они и есть в оберонах, но по-моему, нет), встроенная сериализация в JSON и обратно (на уровне определений структур), тип "всё", пользовательские функции с переменным количеством аргументов, доступ к стеку. И да, фигурные скобки с т.з. синтаксиса - это лучше, т.к. код с ними компактнее. С другой стороны, в А2 есть рилтаймовые треды, которых нет в голанге, и контроль синхронизации на уровне компилятора, которого в голанге нет. Но это ещё одна священная война. Я просто говорю о том, что можно сделать, чтобы привлечь людей. Голанг сегодня популярен, а Оберон - нет. Может быть, любители фигурных скобок и ущербны с точки зрения оберонщиков, но их много, а любителей бегин-эндов мало. Хотите получить живую массу - умейте перестроить свои привычки. По большому-то счёту, это всё равно. Я писал много и на паскале, и на pl-образных языках, и на лиспе, и даже кое-что на С++ и JS. И так, и этак можно написать программу.
9. Ещё одно применение - это микро-А2 - кроссплатформенный Гуй. Конкурент электрона, Qt, tcl/tk. Я работаю в VS Code и недоволен. Она медленно раскрашивает исходники (на топовом ноутбуке), а в отладчике такое действие, как получить переменные из стека, занимает 10 секунд и более. Такого я не помню даже на 286-й машине. Qt имеет лицензионные ограничения и тяжеловесна. tcl/tk имеет хронические проблемы с клавиатурой (которые игнорируются командой, я делал даже патч, просто 4 года полная тишина и игнорирование). Т.е. tcl/tk по хорошему можно использовать только в англоговорящих странах. Все страны с иной раскладкой клавиатуры они выкинули за борт и им всё равно. Это ещё один пример того, почему иногда невозможно помогать развитию продукта без форка.
10. Пошаговый отладчик - ещё одна священная война. Но для меня технологии не существует, если в ней нет хотя бы брекпойнтов и интерактивного просмотра стека. Исключением являются хранимые процедуры в SQL. Но там основная сложность - не в логике, а в написании запросов, для которых пошаговая отладка безполезна. Поэтому там отсутствие отладчика легче стерпеть. Но в Java, Js, Голанге, Delphi, C++ пошаговые отладчики есть и ими люди пользуются.
На данном этапе у меня нет целей, связанных с А2. Компьютеры - это слишком неэффективное хобби. Можно легко выучить или даже придумать пьесу или песню, можно сходить в поход. Эти вещи хоббийные по масштабу. Писать программу в режиме хобби - это одно разочарование, потому что это происходит чертовски медленно, а нанять кого-то нельзя, поскольку у них зарплата не меньше, чем у меня.
Посему я не планирую особо воплощать или защищать эти тезисы - у меня от всех этих тем большая оскомина выработалась, потому что я несколько лет бился как рыба об лёд и пришёл к нулевому результату. Надо, как минимум, от них как следует отдохнуть, а потом уже можно будет о чём-то подумать. Кроме того, передо мной сейчас стоят карьерные задачи - нужно модернизировать свой профиль и понять, как мне выживать на рынке труда в моём возрасте. Я просто поделился тем, что я делал бы сам, если бы у меня были ресурсы на это.
|