group-telegram.com/gulagdigital/3043
Last Update:
На заре развития этого языка программирования его создатели пошли необычным путем. Они решили, что привычный всем знак присваивания должен выглядеть как стрелка "->", а порядок действий должен читаться наоборот: сначала указывалось само выражение, и только потом - имя переменной, куда нужно сохранить результат. Такое решение не было случайным: разработчики полагали, что оно точнее отражает реальный процесс вычислений, ведь компьютер сначала производит расчеты, а потом уже сохраняет ответ. Впрочем, позже они все же уступили традиции и перешли на общепринятое обозначение ":=", позаимствованное из языка Алгол. При этом порядок действий развернулся на 180 градусов - теперь сначала указывается переменная, а затем выражение для вычисления.
Рапира впитала лучшие черты своих предшественников - языков Поплан и Сетл. Одна из самых ярких особенностей - удивительная гибкость в работе с переменными. Здесь не нужно заранее объявлять их тип или выделять память - достаточно просто начать использовать переменную, и язык сам разберется с техническими деталями. Более того, одна и та же переменная может хранить данные разных типов - сегодня число, а завтра текст.
Графический интерфейс "Агата" представлял собой революционное для советской вычислительной техники решение. Экран разрешением 256×256 точек в цветном режиме позволял отображать до 16 цветов одновременно. При этом существовал и монохромный режим с более высоким разрешением 512×256 точек, что давало возможность работать с более детальной графикой.Особенностью интерфейса было наличие оконной системы, где каждое окно можно было перемещать по экрану. Рабочий стол украшали пиктограммы программ - небольшие графические символы, обозначающие различные приложения. Для выбора команд использовалось выпадающее меню в верхней части экрана - непривычное для советских пользователей, но интуитивно понятное решение.В графическом редакторе "Палитра" был реализован полноценный инструментарий для рисования: кисть, карандаш, заливка, геометрические фигуры.
Пользователь мог выбирать цвета из палитры, менять толщину линий и работать с различными шрифтами. Примечательно, что интерфейс поддерживал работу как с клавиатурой, так и с манипулятором "мышь" - редкость для того времени.При этом стоит отметить несколько любопытных технических деталей:
Видеопамять была организована особым образом, позволяя быстро переключаться между двумя экранными страницами. Существовала возможность определять собственные шрифты и знакогенератор. Программисты могли создавать анимацию, используя аппаратное переключение страниц.
В системе присутствовал редактор спрайтов для создания игровой графики. Интерфейс позволял использовать контекстные меню для быстрого доступа к командам. Была реализована поддержка различных графических режимов, включая возможность смешивания текста и графики
К сожалению, документация по графическому интерфейсу "Агата" сохранилась не полностью, и некоторые детали его реализации известны только по воспоминаниям разработчиков и пользователей тех лет.
А что с эргономикой клавиатуры? Тут несколько моментов, о которых, например, вспоминает один из ранних пользователей компьютера: “клавиша Control расположена в самом верхнем левом углу. Клавиша Return практически не выделяется размером и расположена так, что ее легко случайно задеть. Клавишу Escape я так и не обнаружил. Справа на клавиатуре предусмотрена полноценная цифровая панель – от алфавитно-цифрового блока она отделена набором предположительно программируемых функциональных клавиш. Над алфавитным блоком расположены традиционные цифровые/вспомогательные клавиши. Кириллические и английские буквы нанесены на клавиши друг под другом. Предусмотрены автоповтор и нижний регистр.”
Такой опыт пользователя описывается в статье «AGAT: A Soviet Apple II Computer» в журнале журнала BYTE за ноябрь 1984 года.
Влияние Агата оказалось огромным и значимым, он стал достаточно ярким примером, пусть даже и не всегда мог интерпретироваться как персональный компьютер, а шел по разделу учебный компьютеров.
BY Цифровой геноцид
Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260
Share with your friend now:
group-telegram.com/gulagdigital/3043