Предложения для ЭКВМ последующих поколений: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
м (Откат правок SMB (обсуждение) к версии Дмитрий Фомин)
м (Полностью удалено содержимое страницы)
Строка 1: Строка 1:
Собранные здесь предложения требуют принципиально другого «железа», чем существующие ЭКВМ.  Возможно, не всё из этого получится реализовать за один присест.  На мой взгляд, мы уже «созрели» для обработки не только численной, но также символьной и аудио-информации, а возможности ЭКВМ будущего по управлению внешними устройствами и цифровке аналоговых сигналов смогут также заинтересовать отечественных музыкантов-любителей.


Общая стратегия близка к виртовской:
* Изучать и использовать ЭКВМ для неспециалиста станет ещё проще.
* Писать программы можно будет проще и быстрее.
* Программы того же объёма будут всё более мощные.
* Оперировать они смогут, при желании, возрастающими объёмами более сложной информации, чем сейчас.
* Конечная стоимость наиболее полного исполнения до $500, то есть не выше 15-20 тысячи рублей 2013 года с расчётом на последующее снижение цены.  В идеале дешёвое исполнение хотелось бы уложить в $100, то есть 3-5 тысячи рублей 2013 года.
Один из способов снижения стоимости — использование стандартных модулей памяти (SD, SSD или фирменных).  Купив базовую модель ЭКВМ, владелец может со временем расширить её память до многих гигабайт.  Приобретя возможность записывать, обрабатывать и хранить более длительное аудио, с лучшим качеством.
== Предложения ==
* Вся справочная информация по ЭКВМ, необходимая для программирования «на борту», хранится на самой ЭКВМ и всегда оперативно доступна для просмотра. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:42, 21 марта 2014 (MSK)
* «Бесконечный» стек и сохранение обратной польской записи для операций над «верхушкой» стека --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:07, 21 марта 2014 (MSK)
* Использование Юникода во всей ЭКВМ.  Кроме функций, оставленных для совместимости с МК-152 --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:07, 21 марта 2014 (MSK)
* Расширение диапазона порядков для самых требовательных вычислений минимум до ±4999, а максимального количества значащих десятичных знаков как минимум до 32.  Даже если работа с такими числами будет невероятно медленной.  Например, для хранения таких чисел вне стека можно использовать стандарт [http://en.wikipedia.org/wiki/Decimal128_floating-point_format decimal128]. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:13, 21 марта 2014 (MSK)
* Для обычных «скоростных», не требующих высшей точности вычислений можно использовать существующую «плавучку» 14+2 — или расширить её до того (например, 20+3) уровня, который ещё не приводит к существенному снижению быстродействия. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 01:55, 21 марта 2014 (MSK)
* Использование «длинных» (32 символа или даже более) идентификаторов вместо адресов и регистров.  Переменным, функциям можно давать как латинские, так и русские имена.  Их можно различать по 16-битным хэш-функциям, а имена сравнивать лишь в случае необходимости или неоднозначности. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:07, 21 марта 2014 (MSK)
* Локальные переменные, предварительное описания переменных для контроля ошибок — возможно с пометкой forward для сложных случаев, например взаимной рекурсии.  Необходимость предварительного описания имён переменных может быть отключаема.  Она необходима новичкам, но делает код длинней, а его ввод/отображение неудобней. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 02:16, 21 марта 2014 (MSK)
* Разные типы данных в стеке и у переменных — включая рациональные и комплексные числа, матрицы («электронные таблицы» с содержимым разного типа), символьные строки (текст) Юникода, аудиосигнал моно/стерео разного качества (от одномерного 8-битного массива 8 КГц до массива «плавучки» на 48/64 бит стерео 44,1/96 КГц), музыка, графические образы (с альфа-каналом или хотя бы маской) и функции (программный код которых можно, например, «склеивать» или конструировать «на лету») --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:07, 21 марта 2014 (MSK)
* Использование структурного программирования с отказом от команд перехода.  Если команды перехода останутся, они должны осуществляться на метки, а не адреса --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:07, 21 марта 2014 (MSK)
* Использование модулей, а также расширяемой иерархии типов данных и функций-членов, то есть современного научного «компонентного» программирования в стиле [http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D0%B5%D1%80%D0%BE%D0%BD-2_%28%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29 Оберона] --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:07, 21 марта 2014 (MSK)
* В силу небольших размеров ЭКВМ предлагаю использовать компактные скобки {} () [] <> и т.п. вместо многословных (и иностранных) Обероновских BEGIN…END и WHILE…END, оператор IF можно заменить на вопросительный знак и т.д. Эти мелочи упростят отображение и редактирование программ (исходного кода функций) «на борту» ЭКВМ. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 03:22, 21 марта 2014 (MSK)
* Динамические типы данных, с проверкой времени исполнения и неявным преобразованием типов в сторону «большего». Владелец ЭКВМ может унаследовать по иерархии типов или сам явно прописать преобразования в, из и между его типами данных.  Пользуясь хорошо продуманными библиотечными функциями, естественно. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 02:19, 21 марта 2014 (MSK)
* Возможность динамического расширения языка как в Форте — создания своих принципиально новых типов, функций, операторов и операций с удобством использования, как встроенных возможностей языка.  Поддержка нескольких пространств имён, «словарей».  Верхний уровень языка может быть написан на нём самом и документирован на уровне исходного кода.  Если этот уровень можно будет открывать на запись, владельцы ЭКВМ смогут принять активное участие в оптимизации и доработке, проверке этой части кода транслятора. Должен быть предусмотрен надёжно работающий сброс входного языка к «заводским установкам». --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 02:08, 21 марта 2014 (MSK)
* Упрощение графического интерфейса пользователя с использованием классов Оберона, куда включить удобные средства построения двумерных графиков, отображения/редактирования текстовых переменных («файлов») и записи/отображения/воспроизведения аудиоволн --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:07, 21 марта 2014 (MSK)
* Более удобные текстовый/матричный/графический/аудио/музыкальный редакторы и клавиатуры, редактирование кусков исходного кода должно быть сравнимо по удобству и скорости с входным компактным языком ПМК --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:07, 21 марта 2014 (MSK)
* Возможности отладки на уровне исходного кода, неразрушающая проверка состояния переменных с учётом авторского названия полей структур и типов данных. Поддержка удобной тестовой печати и точек останова для тех, кто предпочитает их пошаговой отладке. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 02:08, 21 марта 2014 (MSK)
* Это не самое важное, но встроенные в ЭКВМ средства [http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%28%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0%29 профилирования] помогут оптимизации программ, которые «выжимают максимум» из имеющегося оборудования ЭКВМ. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 02:08, 21 марта 2014 (MSK)
* Начать реализовывать символьную арифметику над алгебраической нотацией, хотя бы первые функции по «раскрытию скобок», упрощению и дифференцированию многочленов, четыре арифметических действия над символьными выражениями и т.д. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:07, 21 марта 2014 (MSK)
* Диктофон и хранение голосовых комментариев к файлам на внутреннем диске.  Который, кстати, можно попробовать объединить с общим пространством имён энергонезависимых переменных. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:30, 21 марта 2014 (MSK)
* Голосовой синтезатор по фонемам русского языка — и можно начать экспериментировать с голосовым меню.  Шаг в сторону дешёвых ЭКВМ без дисплеев/клавиатур.  Можно записать специальные сэмплы и фонетические словари, предназначенные для полноценного озвучивания чисел и нажимаемых клавиш, а также основных команд и меню ЭКВМ. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:30, 21 марта 2014 (MSK)
* Простой в использовании (в том числе из программ пользователя) синтезатор нот, аккордов, средства многоголосья (микширования) и несколько наиболее частых аудиоэффектов. Пока имитация других инструментов прошлого (гитара, пианино) не обязательна, ЭКВМ может стать музыкальным инструментом сама по себе, например чистая синусоида без гармоник. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 01:18, 21 марта 2014 (MSK)
* Работа (отображение/редактирование/хранение и перевод в аудиоволны) с нотной записью музыки в формате оператора PLAY, MIDI или классического нотного стана. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 01:18, 21 марта 2014 (MSK)
* Качественные алгоритмы сжатия/разжатия аудио типа MP3/OGG, которые владелец может применять для экономии места на встроенном «диске».  Алгоритмы похожего назначения могут применяться к графической информации. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 02:45, 21 марта 2014 (MSK)
== Предложения по оборудованию ==
* Настольное исполнение ЭКВМ с питанием от 220/110 Вольт и большим зерном экрана, для пожилых людей. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:44, 21 марта 2014 (MSK)
* Мобильное карманное исполнение с хорошим сменным аккумулятором, компактный экран с мелким зерном. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:45, 21 марта 2014 (MSK)
* Мобильная ЭКВМ должна быть рассчитана на работу при наших русских температурах, от -40℃ до +40℃. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 02:31, 21 марта 2014 (MSK)
* Стандартное зарядное устройство, например европейский стандарт «от USB». --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 13:16, 28 марта 2014 (MSK)
* Встроенные монофонические динамик и микрофон.  К ним основные требования — надёжность, компактность, бюджетность.  Русская речь должна быть разборчива, при записи и проигрывании через встроенные устройства.  Аудиофилы могут покупать внешние устройства неограниченной стоимости, под свои индивидуальные требования. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 03:01, 21 марта 2014 (MSK)
* Полноценная запись и воспроизведение двухканальных 16-битных цифрованных сигналов до 44,1/96 КГц (звукового диапазона) со внутренним 24/32 битным хранением и обработкой.  В идеале же по два стерео-входа и два стерео-выхода, один из них цифровой и один аналоговый на наиболее популярные бытовые разъёмы.  Неплохо также предусмотреть возможность конвертации аудио в 48/64-битное представление с плавающей точкой и обратно, а также операции над подобным представлением. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:48, 21 марта 2014 (MSK)
* Полноценная цифровая обработка сигналов в реальном времени на уровне программ пользователя пока не обязательна, но возможность сохранить / неторопливо и качествено обработать / выдать результат желательна. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:48, 21 марта 2014 (MSK)
* Если владельцам ЭКВМ получится реализовать на базе такой ЭКВМ двухканальный осциллограф на сигнал до 10 КГц, это уже большой успех. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:07, 21 марта 2014 (MSK)
* Беспроводная цифровая связь не ниже 9600 бод, как минимум между самими ЭКВМ.  В идеале же подключение к ПК, принтеру и Интернету, а также к аудиоканалам, через Bluetooth или (это лучше!) WiFi. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:07, 21 марта 2014 (MSK)
* Управление энергопотреблением.  Возможность уходить в «спячку» с полным сохранением состояния и «просыпаться» в нужное время, по нажатию кнопки или внешнему сигналу.  Экономный ждущий режим во время общения с неторопливым пользователем через клавиатуру и безопасный ускоренный, когда скорость вычислений важнее энергопотребления (скажем, питание от розетки заблаговременно включено). --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 00:09, 21 марта 2014 (MSK)
== Примечание ==
Я здесь везде пишу «аудио».  Но понятно, что это любой низкочастотный (от долей Герца до 20-40 КГц) сигнал на входе АЦП, который мы можем принять, обработать и при необходимости выдать обратно.  Продвинутый вольтметр, осциллограф.  Любая последовательность данных, которая вводится в ЭКВМ автоматически — в цифровом или аналоговом виде.
Видимо, аудио (власть над звуком) действительно будет самым массовым применением.  На обработку видеопотока (мегагерцы) в ближайшие годы замахиваться не стоит.  Это требует очень высокой частоты центрального процессора, что конфликтует с низким энергопотреблением.  Графические возможности в ЭКВМ следующего поколения близки к современным — строго статичные образы, отражающие необходимость удобной работы с графическим дисплеем, без входов/выходов видео.  Но при разработке функций обработки аудиомассивов надо учитывать, что через несколько десятилетий (когда значительно повысится ёмкость аккумуляторов и понизится энергопотребление процессоров) эти функции будут использоваться для обработки аудиодорожек к риалтаймовому видео.  Которое в ту эпоху можно будет также «кидать на стек» для обработки или воспроизведения, как аудио-массивы.
Обработка таких больших массивов данных (килобайты, мегабайты) это закономерное расширение статистических функций советских калькуляторов (где скромные массивы данных вводились/выводились вручную, без автоматизации).  Эти старые статистические функции, разумеется, надо будет также предусмотреть, вместе с их развитием. --[[Участник:Арви Хэкер|AtH]] ([[Обсуждение участника:Арви Хэкер|обсуждение]]) 12:59, 23 марта 2014 (MSK)
[[Категория:Предложения к производителю]]

Версия от 12:22, 28 января 2015