К теме использования Oberon для мета-программирования возвращаюсь регулярно. Это очередной вариант. И негативные чувства нежелания сделать ядром технологии базы знаний программиста с IDE у меня так и не прошли. Не вижу "света в конце туннеля"...
Исследовал виртуальную машину Forth VM. Подключаюсь к источнику идей... Но взять за основу эту древнюю технологий - не реально! Мозг сносит надолго. Потерпеть конечно можно, если светит перспектива, однако только "динозаврам" интересно строить мечты продлить жизнь FORTH в больших проектах.
Что-то хотелось другого и правильного для создания и сопровождения проектов на различных языков программирования.
А это уже интересно:
Евгений Зобнин | Хакер №4/11 -
http://www.xakep.ru/55752Когда десять лет назад Кена Томпсона, принимавшего активное участие в разработке языка Си, спросили, каким бы он сделал этот язык на тот момент, он ответил, что язык был бы похож на Limbo. Прошло немало времени, и Томпсон совместно с еще одним автором языка Си, Робом Пайком, принял участие в создании Go — языка, который стал переосмыслением и последующим развитием Limbo. Go был представлен миру 10 ноября 2009 года и практически сразу стал бестселлером. Одни только имена авторов, известных как создатели операционной системы UNIX, языка программирования Си и кодировки UTF-8, а также покровительство Google, в лабораториях которых был создан язык, дали Go отличный старт.
В основу Go положено три фундаментальных идеи:
Гарантия высокой скорости компиляции и производительности приложений.
Простота разработки и поддержки приложений, свойственная высокоуровневым скриптовым языкам.
Встроенные средства параллельного программирования, позволяющие задействовать все имеющиеся ядра современных процессоров.
Что все это значит на деле? Разберемся с каждым из пунктов.
Go — системный язык, что, тем не менее, не мешает ему быть достаточно высокоуровневым для того, чтобы обеспечить программиста всем необходимым для комфортного и быстрого написания кода. Язык включает в себя такие высокоуровневые конструкции, как ассоциативные массивы и строки (которые можно сравнивать, копировать, вычислять длину, делать срезы). Он имеет средства для создания собственных типов данных (подобных классам в других языках), средства создания потоков и обмена данными между ними, и, конечно же, он лишен указателей, способных ссылаться на любой участок памяти (срыв стека в программе, написанной на Go, невозможен в принципе). Однако главное, что дает Go программисту, это та самая прямолинейность и очевидность синтаксиса, о которой мы говорили в предыдущем разделе. В этом смысле Go очень похож на языки Pascal, Modula и Oberon: практически любой синтаксический элемент языка следует общей логике и может быть явно и безошибочно интерпретирован вне зависимости от его положения в коде.
В дереве проекта
RetroForth нашёл ветку VM
.\retro-11.6\vm\complete\go\ Развернул GO и собрал реализацию Forth на GO.
Понимаю Робома Пайкома. Кому как не ему ощущать новый горизонт технологий создания программного кода программистами...