Как попробовать HyperCard в наши дни, в браузере

Чтo бы ваша милость скaзaли, oкaзaвшись oдин нa oдин с oжившим динoзaврoм? Мнe врoдe кaк пoвeзлo. Я плaнирoвaл стaтью прo HyperTalk. Eсть сыны) Адама, увeрeнныe в сeбe нa всe 1000%, утвeрждaющиe, чтo им чтобы прoгрaммирoвaния кoмпьютeр нe нужeн – oни пишут (oтливaют в грaнитe) сoвeршeннo бeзукoризнeнный кoд бeз нeгo…
Я никoгдa нe публикую нeпрoвeрeнный кoд, дaжe eсли дoгaдывaюсь, чтo вероятно не ли ктo-тo из читaтeлeй дeржит пoд крoвaтью стaрый Mac в рaбoчeм сoстoянии – этo дeлo принципa. Виртуaльный клaссичeский Mac с System 7.5.3 и с пoлнoй вeрсиeй HyperCard 2.4 eсть и работает. Си что – вперед? Но, если где-нибудь сверху улице встретите животное размером с танк Первой славный и похожее на панка, будьте все-таки поосторожнее. У Джеймса отличная гербарий игр и программ на его виртуальных Mac’ах, же HyperCard’а в подходящей мне комплектации на них не имеется. Практически все разработчики HyperCard, заявив, что они устраивались получи работу не в какую-то CLARIS, а в Apple, ушли соответственно собственному желанию. Кто писал HyperCard 2.1, к тому же Кевина Колхауна и Дэна Кроу, я не знаю. Великолепная пятерка и вратарь “magic!” в рантайме HyperCard 2.1 не работает. Неисполнение был подавлен. По своей несуразности конфигурация похожа возьми палеозавра на скутере с игрушечным пистолетом, терпеливо ждущего зеленого сигнала светофора. Моего палеозавр работает и старательно соблюдает правила. Классические Mac’и и System 7.5.3 (возлюбленная же Mac OS 7.5.3, неофициально) – сущности из разных эпох. Apple Computer, с упорством достойным лучшего применения, вплоть впредь до Mac OS 7.6, требовала от разработчиков совместимости каждой новой версии системы со всеми Mac’ами, ещё Mac 128K, Mac 512K, Mac 512 Ke и, видимо, Macintosh XL (ex Lisa). Одно с самых дурацких и непродуманных решений руководства компании. Оттого System 7.5.3 на “обобщенном” классическом Mac’е совсем живая. В Apple всегда работали талантливые инженеры. System 7.5.3 – сие поддержка новых вариантов PowerPC, умение управляться с двумя процессорами…
Только вот HyperCard 2.4 в эту ненадежную конструкцию целиком не вписывается. Нет, многочисленные стэки (и автономные приложения, разработанные в HyperCard) в основном работают. Да те из них, в которых открыт доступ к исходному коду, примитивны давно безобразия. Или как две капли воды копируют одни и теточка же решения. Есть масса интересного, на первом и втором дисках эмулятора, рекомендую. HyperCard 2.4 получи и распишись трехколесном велосипеде
Запуск эмулятора начинается с загрузки его частей, которые называются “Game Data”. Верно, что есть программирование? HyperCard включается без проблем, свежеиспеченный стэк создается, все как в жизни. Медленно, так на недорогих Mac’ах с PowerPC приложения для 68k равным образом были страшно медлительны. На PowerPC никто HyperCard просто так и не перенес. В стэках нет единого места, идеже хранился бы весь их исходный код. Адрес разбросан по множеству объектов, в каждом из которых выполняется отделение общей работы. Это и плюс (начинающие программисты по сию пору равно пишут код маленькими частями и смотрят, зачем из этого получается), и минус: исправить систематическую ошибку трудно. Правда, в HyperCard под рукой множество самых разных инструментов и средств, в фолиант числе и некоторые из свойств языка HyperTalk – в нормальной связке адекватных Mac’а, операционной системы и HyperCard безвыездно решаемо и исправимо. В адекватной. Чтобы раскрыть интересные особенности языка программирования HyperTalk, его нужно уместить в привычное для него окружение. То есть сформировать несложный стэк, с фоном, в котором несколько полей и кнопок, переполнить его данными и – дать языку оторваться, за ли) не 15 лет в потустороннем мире, я думаю, он соскучился ровно по реальному делу. Первое приятное открытие: поля в обстановка добавляются и размещаются совершенно без проблем, но (до неузнаваемости) их размер не удается. Шрифт, стиль и размер текста – блистает своим отсутствием вопросов. Стиль отображения (показывать строки или пропал, разрешать ввод с клавиатуры или нет) – все работает. Идет, мы пишем ненастоящий стэк, смиримся. Ну а то как же, мы тут гостим, правила тут не наши. Конец часто клавиатурные эквиваленты команд меню приводят к аварийному завершению работы эмулятора. Повторим одно вслед за другим все действия прошлой попытки, некоторые с них доведены уже почти до автоматизма, экая жалость, что про эти действия на приличном ресурсе далеко не расскажешь, и вернулись к тому месту, на котором остановились в истекший раз. Есть и приятные, без всякой иронии, открытия: карточка Tools, в котором в графическом виде представлены все инструменты (режимы HyperCard, жаль – без них в таком многоплановом приложении не (в)стать), можно “вытащить” из меню и оставить на экране. В классической Mac OS – в “самодельных” нестандартных подбор. Почему-то в Mac OS X (в нынешнюю macOS) этот трюк приставки не- вошел, а он настолько удобен! И он работает чисто. Графические режимы не трогаю, рисую я хуже Малевича. Использую режимы “боевой”, “работа с кнопками” и “работа с полями”. Переключаю их, словно водитель большегрузного грузовика, почти непрерывно. Графические режимы включаю лишь из скриптов, у них с рисованием получше. Третье приятное учреждение (с иронией, и если не указано иное, все последующие открытия будут именоваться приятными только в случае их особой неприятности) – временами-то я считал, что открытие скриптов в объектах HyperCard сконструировано беспредельно. Для этого двойным кликом и в соответствующем режиме (“работа с кнопками” может ли быть “работа с полями”) следует открыть редактор свойств объекта, а одно с свойств – Script. Кнопка. Доступ к скриптам других объектов начинается с команд изо меню “Objects”: “Card Info…”, “Background Infо…” может ли быть ”Stack Info…” Опять же, открывается редактор свойств, а в нем – клавиша Script. Если бы все работало как не мешает, я бы так думал до сих пор. Скрипт открывается больно медленно. За это время несложно забыть, на хренища решил в него заглянуть. Если уже ясно, что-то на самом деле надо было открывать разный скрипт, – все равно, пока загрузка не завершится, её безлюдный (=малолюдный) вытеснит ничто. Кстати, сообщил ли я вам, почто в 7.5.3 уже была многозадачность, правда не “вытесняющая”, а “кооперативная”. Сие как собственность: бывает настоящая, а бывает кооперативная. Открылся. Полина, карточки, фоны и стэки рождаются “голенькими” – с пустым скриптом (разве что мы не включили, в диалоге создания нового стэка, опцию “скопировать среда текущего стэка”). Длиной в символов. Мне нужен хэндлер, видишь такой:
on openCard
put “” into bg fld “CardsCounter”
put “Cards Count =“ && the number of cards into cc
put cc into bg fld “CardsCounter”
end openCard
Реверсирование каретки (добавляю новую строку) – все зависает, секунды в две. Печатаю “on openCard”. Комментарии (все, почему после двух дефисов, “—“) “запрещены”. А оказывается, надо. Боюсь, я вы уже надоел своими стонами – это только десятая отруби приятных открытий. Копировать ни в эмулятор, ни с него – никак. Получившиеся скрипты, когда успеваю, переписываю ручным способом. Ant. автоматический. И я не сдаюсь. С каждым разом захожу все позднее. Сизиф мог бы мне позавидовать. Пробовал и альтернативные хитрость. Это приложение (очень кросс-платформенное, результаты работают в iOS, в Android, сверху Mac’ах, в Linux, в Windows) появилось в начале 90-х, называлось оно MetaCard. Рано ли HyperCard застрял и явно засобирался в долину теней, наш брат попробовали Runtime Revolution, или просто Revolution. Никак не HyperCard, хотя похоже. И вот – LiveCode 9.0. Просмотрев (сообразно диагонали) учебники, я понял: язык этого приложения и в самом деле безгранично похож на HyperTalk, но со множеством собственных нюансов. Адрес на HyperTalk иногда даже работает, но давать руку на отсечение работоспособность в HyperCard кода, написанного на LiveScript, отчаянно. HyperCard и HyperTalk я когда-то неплохо знал, и знания всплывают в памяти, по ходу дела. Влезать в LiveCode – сие пара недель, как минимум. Другие даже называть не буду. В GitHub есть исходники PCE. На C. (не то хватит времени, конечно…

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *