Комментировать

Несколько раз здесь велось обсуждение ПМК мечты. На вики я даже подытожил своё видение, какой функциональностью он должен обладать. В этой записи попробую очертить внутреннее устройство, что под капотом.

Отчасти предлагаемая архитектура близка к видению Ватника, хотя использует другую терминологию. Лежащая в основе ПМК форт-машина не является «низким уровнем», а основана на высокоуровневых концепциях и доступна пониманию владельца, сравнимого по любознательности с советским школьником. Кто в СССР осваивал «Электронику Б3-34», тот с такой же лёгкостью сможет программировать ПМК мечты прямо на встроенном Форте.

В каком-то смысле проект близок к идее Арбинады переписать Каллисто на Си, для переносимости входного языка. Другое дело, что в ПМК будущего переносимостью будет заведовать не Си, а сам Форт — или Каллисто, как его диалект, адаптированный под отечественные ПМК и выросший из входного языка «Электроники».

Настоящий низкий уровень будет открыт для гиков-«еггологов». При желании и умениях владелец ПМК мечты сможет писать примитивы или даже целые приложения на форт-ассемблере. Конечно, при каждой смене камня (такое впервые произошло в 2007) всю подобную низкоуровневую работу придётся переделывать заново, под новый ассемблер.

Чтобы ПМК при каждой смене технологий не переделывать полностью, операционка и основные приложения будут написаны на Форте. Среди этих приложений могут быть другие языки программирования. Кому они покажутся удобней Форта и форт-ассемблера, могут разрабатывать собственные приложения на них или даже поставить приглянувшийся язык в автозапуск. Здесь можно привести аналогию с Гну-Линуксом. Хотя само ядро Линукса, основные библиотеки и большинство пакетов системы Гну написаны на GCC, никто не мешает установить под этой системой FreePascal и свои программы писать на Паскале.

Развитие Каллисто от отдельной среды на МК-161 до полноценной операционной системы потребует не только более совершенного «железа», но и продуманного совершенствования самого языка. Разработка системы типов и их иерархии. Введение модульности для инкапсуляции слов и типов внутри приложений и библиотек. Разработка API как для математических вычислений, с постепенным переходом к СКМ, так и для управления оборудованием, системой, интерфейса с пользователем.

Такой подход был заложен в Форте с самого начала. Чак Мур сформировал свой язык, пронеся его через множество систем. Неприхотливость Форта позволит по максимуму использовать скромное железо карманного ПМК. В США инициативу у Форта перехватила AT&T, которую можно сравнить по ресурсам и влиятельности с Ростелекомом — написала Юникс на своём Си, внедряла его через университеты. У нас такого щедрого финансирования пока нет, зато достался лучший язык. :-) И много из уже существующего софта под Форт, включая трансляторы других языков, получится перенести на наш ПМК с минимальными затратами.

Restricted HTML

  • You may quote other posts using [quote] tags.
  • Allowed HTML tags: <a> <em> <strong> <b> <i> <u> <strike> <del> <cite> <code> <blockcode> <pre> <ul> <ol> <li> <dl> <dt> <dd> <p> <br> <img> <sup> <sub> <blockquote> <h1> <h2> <h3> <iframe> <hr>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <pre>, <code>, <blockcode>.
  • Строки и параграфы переносятся автоматически.

Filtered HTML

  • Allowed HTML tags: <a> <em> <strong> <b> <i> <u> <strike> <del> <cite> <code> <pre> <ul> <ol> <li> <dl> <dt> <dd> <p> <br> <h1> <h2> <h3> <h4> <table> <tbody> <tr> <th> <td> <img> <hr> <sup> <sub> <blockquote> <iframe>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <pre>, <code>, <blockcode>.
  • Строки и параграфы переносятся автоматически.
  • You may quote other posts using [quote] tags.

Plain text

  • No HTML tags allowed.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
КАПЧА
Вопрос для предотвращения спама