Уважаемый Дэвид,
Возможно, вы об этом не слышали. Ретро-язык, очень похожий на Cowgol.
Millfork для Atari, Apple II, ZX Spectrum, MSX, CP/M, NES, Game Boy, MS-DOS и т.д
Поддерживает генерацию в z80 и 6502. Компилятор написан на Scala. Он поставляется с игрой в Pong для NES (включена в некоторые руководства по NES и переписана из Asm).
https://karols.github.io/millfork
https://karols.github.io/millfork/various/faq.html
https://github.com/KarolS/millfork
https://www.libhunt.com/compare-millfork-vs-cowgol
Я не утверждаю, что это лучше, чем Cowgol. Cowgol обладает неоспоримыми преимуществами в простоте и компактности. Но всё равно стоит посмотреть.
Не обижайтесь на меня, но я бы хотел больше внимания уделять созданию полезных инструментов для создания ретро-игр для целого ряда ретро-платформ, а не делать акцент на CP/M и набортной работе компилятора и инструментов.
Особенно, если вы хотите помочь распространению Cowgol, проще всего сделать это на волне ностальгии по старым компьютерам и играм. CP/M - отличная система для 8080, но она не была слишком распространена в бывшем СССР. У нас были клоны Sinclair ZX Spectrum, Агаты (клоны Apple), БК/ДВК и УКНЦ (на базе pdp11), а позже - MS-DOS.
В то время у нас также были машинки на базе 8080, но на кассетах. И в ПЗУ обычно был монитор объёмом 2 Кбайт. И не было CP/M, и не могло быть. Потому что когда началась эра гибких дисков быстро стали доступны более мощные компьютеры.
Так что у нас мало ностальгии по CP/M, но у нас много ностальгии по ретро-играм, включая их разработку. За последние годы наше сообщество разработало множество отличных игр для целого ряда ретро-платформ, популярных в бывшем СССР.
Я, конечно, хочу иметь возможность просто скачать готовый релиз Cowgol и начать разработку. Потому что вам легко набрать "make" и все пересобрать. Но для людей, которые пришли посмотреть на это, всё далеко не очевидно. Особенно, если они будут собирать его под WSL и столкнутся с теми же проблемами, что и я.
Русскоязычное сообщество обладает большим потенциалом для освоения Cowgol, но им нужно предоставить рабочий инструмент. Они не будут разбираться с компиляцией Cowgol и ошибками сборки, как я пытаюсь это сделать с помощью вас, shattered и других людей.
Поэтому мне кажется, что вам следует позиционировать Cowgol как инструмент для более кроссплатформенной разработки, чем Си. Что отличает его от языка ассемблера, так это переносимость (нет необходимости иметь несколько кодовых баз для разработки сразу для нескольких платформ). А от Си - повышение эффективности благодаря полезным функциям Cowgol. Это большая задача, но, безусловно, достойная.
Также. Людей определённо будет трудно убедить в том, что Cowgol подойдёт им лучше, чем Си или ассемблер. Дело в том, что наше сообщество состоит из заядлых ретро-программистов, которые хотят заставить аппаратное обеспечение работать на 150%, а это можно сделать только на языке ассемблера. Этих людей может удивить только чрезвычайно высокое качество генерации кода, превосходящее SDCC, ZSDCC (от z88dk), а также Hitech C и коммерческий IAR C.
Что же касается меня, то я помню завет Вирта, который звучит так: "вы не преуспеете в программировании, если не сосредоточитесь на переносимости ваших программ между платформами". Я вижу в этом смысле огромный потенциал у Cowgol. Только рано почивать на лаврах, это нужно развивать. В последнее время я видел, что вы делали большой упор на портирование CP/M для 6502. Как вы оцениваете полезность такой разработки для сообщества 6502? Возможно, было бы лучше потратить время не на это портирование, а на Cowgol? В любом случае, я собираюсь разработать игру чтобы посмотреть на Cowgol в действии, как только пойму как собрать на этом HelloWorld для интересующих меня платформ.