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

По сути. Перечитал ещё раз все комментарии и, главное, сам постинг. По-моему, я всё же рано записал Arbinada во враги ЭКВМ и недоразумения возникли из-за мелочей. Попробую пройтись по тексту последовательно, с учётом комментария разработчика ЭКВМ и наших ночных дискуссий, позволивших лучше понять некоторые отдельные детали.

1. На мой взгляд, ключевое место вот здесь:

> МК-152/161 - это принципиально новая серия. Это графические ПМК, которые

Из этого высказывания (попытки засунуть ЭКВМ в зарубежный классификатор) уже следует всё остальное.

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

Прошивка ЭКВМ использует удобный и интуитивно понятный оконный интерфейс, рассчитанный на графический ЖКИ 128x64 и не превосходящий по «наворотам» интерфейс «графического» HP 50g.

На мой взгляд, такая многозначность была заложена американскими маркетоидами в понятие «графический калькулятор» сознательно — именно для того, чтобы нас (конкурентов) в апреле 2009 года рассорить. Надеюсь всё же, что мы достаточно разумны, чтобы на этот трюк не попасться.

2. В результате неверной посылки становится шатким следующий тезис:

Serguei_Tarassov:
> Несмотря на совместимость на уровне системы команд (входного языка) со
> своими дальними предками МК-52/61, для них требуется принципиально иной
> подход к разработке софта.

Против него я последовательно возражал, но без ссылки на предыдущий тезис (пункт 1), с которым он находится в логической взаимосвязи.

«Принципиально иной подход» возможен, но он не требуется. Здесь приводится аналогия, которая показывает, что за подход предлагается:

> Разница примерно такая же, как при переходе с DOS-разработки под Windows.

Графический режим экрана был и в DOS'е, активно используясь и играми, и обычными приложениями. Разница между DOS и Windows не в использовании графического экрана, а в использовании графического интерфейса.

Повторюсь, что в ЭКВМ графический интерфейс не используется. (На мой взгляд, он даже излишен для таких маленьких устройств и мелких вычислительных задач.) В результате нет и качественного скачка, требующего усложнения программ, сравнимого с Windows vs DOS.

Хотя никто не мешает разработать собственный графический интерфейс. Грубо говоря, написать Windows для DOS'а. Так и поступал Билл Гейтс до Windows 95/NT.

Если учесть пункт 1 и отсутствие «виндовых» новшеств в ЭКВМ, очевидность следующего тезиса (вызванная, вероятно, отсутствием МК-152 под очами автора постинга) тоже снимается:

Serguei_Tarassov:
> Для меня также очевидно, что использовать МК-152/161 в качестве
> "модернизированных МК-52/61" не имеет большого смысла, равно как
> и написание прикладных DOS-программ под современный Windows. Использовать
> при нужде старый софт - да, писать новый в старом стиле - нет.

3. Чёрная Королева

Serguei_Tarassov:
> В этом плане свои эксперименты уважаемая black queen ведет в правильном
> направлении.

Привлечение Black Queen в свои сторонницы связано, скорее всего, с недостаточным опытом программирования уважаемого Arbinada на МК-152.

Black Queen часто публикует скриншоты своих программ, делая их из-под графического интерфейса Windows. В результате на них видны ошмётки этого интерфейса, например кнопочка OK.

Но это отнюдь не графический интерфейс МК-152 — это графический интерфейс Windows, используемый программой MK.EXE

4. Вывод, основанный на неверных посылках.

Serguei_Tarassov:
> Вывод простой: если не рассматривать МК-161 только как довесок
> к комплекту лабораторного оборудования, то требуется разработка
> полноценных графических приложений.

Кому требуется? Пользователю, даже пользователю HP 50g, в большинстве случаев достаточно обычных вычислительных приложений. Большинству программ, которые я составлял (и использовал) на обоих машинках (МК-152 и HP 50g), требовался не графический интерфейс, а несколько уровней стека и регистров (в случае HP 50g — переменных).

Да, я скачал и запускал несколько игрушек с сайта www.hpcalc.org — но и там «графический интерфейс» был на уровне DOS'овских графических игр, а не виндовых приложений.

Если это требуется для приведения ЭКВМ в соответствие с заочной «очевидностью», то выше (в пункте 2) рассмотрено, почему эта «очевидность» взята с потолка и не основывается на фактах.

5. Самокритика.

Предложив путь развития (несколько оторванный от самих ЭКВМ), сам автор и обнаружил проблемы в реализации. Другими словами, предлагаемый путь не просто искусственен, но и труден в реализации.

Serguei_Tarassov:
> В этом плане мне кажется, что скоро станут очевидными 2 проблемы:
> - для управления графическими приложениями клавиатуры старых ПМК не хватает

Обозначим её проблемой №1.

> - система команд слишком низкоуровневая

Обозначим её проблемой №2.

С первой проблемой просто, т.к. её нет. Для управления графическими приложениями нужен джойстик (для перемещения курсора на экранный объект) и кнопка выбора (этого объекта: нажать кнопку, ввести число).

Помимо четырёх кнопок выбора (с помощью которых можно перемещать курсор) клавиатура ЭКВМ (отличная от упоминаемой клавиатуры старых ПМК) имеет кнопки ВЫХОД (ESC) и ВВОД (Enter). Вполне достаточно для графического интерфейса, даже если не упоминать возможность подключения мышки к COM-порту.

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

Перейдём к проблеме №2.

Система команд ЭКВМ высокоуровневая и рассчитана на вычисления. Мы имеем дело с калькулятором! Низкий уровень (ассемблер и машинные коды) тоже доступен, в этом случае владелец ЭКВМ пишет на ассемблере прошивку однокристальной микроЭВМ.

Что действительно важно в этом возражении, так это отсутствие среди регистров функций, предназначенных для управления окошками, выбором ДА/НЕТ и т.д. Той частью интерфейса ЭКВМ, которая активно используется в низкоуровневой прошивке.

Но недавно производитель упомянул о своих планах раскрыть этот интерфейс для прикладных программ. Так что, при желании, некоторые из прикладных программ смогут использовать элементы графического интерфейса.

Хотя это именно возможность. Требований, необходимости его использовать нету. Если кому нужно будет посчитать синус числа, создавать экранные формы не придётся. Можно просто нажать две кнопки: F и sin. :-)

7. Желания и возможности

Serguei_Tarassov:
> А у разработчиков кроме преодоления низкоуровневого порога есть и свои интересы.
> Каждый разработчик хочет, чтобы его софт работал бы на максимальном числе
> платформ. Либо, чтобы платформа была максимально массовой.

Хотеть, конечно, никто не запрещает.

Но примеров программ, которые автомагически переносятся с одного калькулятора (скажем, TI) на другой калькулятор (скажем, HP) довольно мало. Фактически мы можем пренебречь наличием подобных программ.

Наоборот, большинство примеров показывает, что владельцам ПМК важна живучесть программ внутри одного модельного ряда. Скажем, программы для HP 48 адаптируют под HP 50g. А программы для Б3-34 адаптируют под МК-61 и, позже, под МК-152. При этом владельцами новых машинок востребовано максимальное использование её новых возможностей (скажем, расширенного экрана HP 49/50 или логических функций и нового регистра МК-61/52).

Исключением являются классические программы, которые независимо реализуются для разных архитектур. Например, игра PacMan существует и для HP 50g, и для DOS. Возможно, и для калькуляторов TI. Но это разные программы, причём написанные различными людьми с учётом возможностей целевых машинок.

Точно также ПМКшные «Лунолёты» (1985 год) были перенесены мною на QBasic (24 мая 2006 года), а уважаемым Vitasam на Java (апрель 2009 года). Другими словами, главное это хорошие программы. Если они народу нужны, то и на других платформах появятся.

8. Инструментарий, предложенный для реализации завышенных запросов.

Serguei_Tarassov:
> Если отбросить варианты эмуляции одних платформ на других, то для решения
> подобных проблем нужны кроссплатформенные средства создания приложений.
> Возможные варианты:
> - кросс-трансляторы и трансляторы с одного ЯВУ, существующие под разными
> платформами (C/C++, Free Pascal) - переносимость на уровне исходников,
> макропрограммирования и условной компиляции

Такие инструменты существуют. Один найден автором постинга (SDCC). Free Pascal также позволяет компилировать в код однокристальной микроЭВМ, используемой в МК-152 и МК-161. Замечу для любителей страшилок о «закрытости», что эти инструменты свободные (исходный код открыт) и поставляются независимыми (от НПП «СЕМИКО») разработчиками.

> - виртуальная машина/абстрактный ассемблер (форт, java, .NET IL)

Написать форт-машину несложно (примеры опубликованы, а разбирающие эти примеры книги переведены на русский язык). Инструментарий для написания форт-машины см. в предыдущем абзаце.

Что касается Java, то её реализацией заведует фирма Sun, и довольно ревниво. В частности, когда Микрософт решила сделать независимую реализацию Java, эту инициативу встретили судебным иском. Так что здесь два пути. Либо писать петиции в Sun, либо рисковать самому.

.NET всерьёз воспринимать нельзя. Это закрытая система, целиком лежащая в ведомстве Микрософта. Даже фирма Борланд, имеющая наибольший опыт в деле разработки коммерческих компиляторов, отказалась от попыток независимо разрабатывать инструментарий для .NET и предпочла лицензировать Микрософтовский движок. Попытки создать свободный аналог .NET наткнулись на виток усложнения кода и спецификаций .NET, выведшие платформу из-под конкуренции.

Serguei_Tarassov:
> - конвертеры на уровне исходного кода ЯВУ или ассемблерного кода
> - комбинации перечисленного выше

Кхм. Вероятно, эти два пункта приведены для полноты рассмотрения и на данном этапе избыточны.

9. Мечты и идеалы.

Serguei_Tarassov:
> Теперь помечтаем. Что хотелось бы иметь в идеале. Чтобы написанная однажды
> программа для МК-161 могла быть использована на другой платформе. Для меня
> лично представляют интерес следующие: HP-50, TI-89, КПК и смартфон под
> Windows Mobile.

Мечтать тоже не запретишь. Обычно это дело хорошее, развивает воображение.

Увы, это лишь мечты. Программы для HP 50g не идут на КПК, а программы для смартфонов не идут под Windows Mobile.

Исключений очень мало. Даже моя любимая игрушка NetHack, портированная под невероятное количество архитектур и операционных систем, наткнулась на непреодолимые сложности при попытке откомпилировать её под PalmOS. Несмотря на поддержку разработчиков, гордящихся своими навыками в области переносимости программ, она идёт лишь на портативных устройствах, поддерживающих Гну-Линукс. Старые версии, впрочем, идут с переменным успехом на всех платформах, поддерживающих эмуляторы Атари и ДОС'а.

Можно попробовать разработать подобную среду для МК-152. Но ожидать успехов я бы не стал, т.к. под многие западные платформы (где сообщества большие и богатые) этого сделать пока никому не удалось. Западный путь развития подсказывает, что в деле переносимости перспективнее всего, скажем, попытка запустить на оборудовании МК-152 эмулятор MS-DOS'а.

В заключении ещё раз приношу извинения, если вдруг где (в этом комментарии или предыдущих) я перешагнул черту и начал переходить на личности. Дискуссия была горячей и, очевидно, должна была однажды состояться. Уверяю, что всё затевалось вовсе не для того, чтобы обидеть кого-либо из собеседников и я старался следить за этим, в меру своих сил. Сама тема интересная, волнующая и я буду рад, если в наших (может быть, чересчур) темпераментных диалогах удалось пошире раскрыть те грани наших ЭКВМ, которые трудноуловимы на расстоянии от них.

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.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
КАПЧА
Вопрос для предотвращения спама