Цифровая капсула времени: как я в 2026 запустил свой IDE, написанный в 1998 году на FORTH, что общего между Фортом и 1С, и что скажет о проекте современный ИИ

06.04.26

Сообщество - О жизни

В 1998 году я написал свою среду разработки на языке FORTH. В 2026 году я запустил её в DOSBox, и она заработала. История о том, как я прочитал 27-летний CD диск, что общего между Фортом и виртуальной машиной 1С и что думает о студенческом проекте современный ИИ. Ссылка на гитхаб.

Честный дисклеймер
Эта статья - про мой собственный проект, который я сделал 27 лет назад. Я сам сейчас в лёгком шоке от того, что тогда это написал, и от того, что это до сих пор работает.

Хочу поделиться и конечно немного похвастаться - не без этого.

Все... я вас предупредил - теперь моя совесть чиста. 😄

Содержание:

  1. Вступление. CD диск 27 лет спустя
  2. Как всё началось. Студенческая группа и RainBow Forth
  3. Что такое FORTH
  4. Шитый код - сердце Форта
  5. FORTH и 1С - общие корни
  6. Что внутри IDE - скриншоты и код из 1998 года
  7. Что думает современный ИИ об этом коде
  8.  А что если добавить ИИ?
  9. Письмо себе в 1998 год
     

1. Вступление. CD диск 27 лет спустя

Идея написать эту статью родилась случайно. Когда я писал статью Перфокарты, ассемблер, объектно-ориентированные языки, промпты или почему скоро языки программирования станут не нужны, я вскользь упомянул что мы в институте делали свой язык - FORTH, даже вкратце описал как устроен текстовый редактор (система с двумя стеками). И тогда подумал: а ведь где-то должен быть мой старый диск, который я записывал после защиты диплома и куда я сохранил свой дипломный проект.

Нашёл. Старенький такой CD в коробке, тёмное место, 27 лет пролежал.

 

 

На фото, "Золотой", в то время диск, стоил дороже остальных, я покупал его специально, чтобы сохранить данные и он со своей задачей справился, хоть и не с первого раза

Достал DVD-привод, подключил - диск читается. Но читается, как оказалось, всё кроме того, что нужно. Папка с дипломным проектом и средой разработки для FORTH не копируется. Попробовал второй привод - та же история. Не копируются. Перепробовал несколько программ для восстановления с повреждённых дисков. Результат одинаковый.

 

 

На фото, второй уже по счету, подключенный привод

Расстроился. Забыл на какое-то время диск прямо в приводе. Компьютер стоял разобранный.

Недели через две решил наконец всё убрать на место. Отключил провода от DVD привода, и тут вспомнил - диск же там. Скрепки под рукой не оказалось, пришлось снова подключить привод.

И просто так, без особой надежды, попробовал ещё раз прочитать ту папку.

Она открылась и полностью скопировалась. С первого раза! Полностью и без ошибок!

 


Скриншет, папка MY, которая ни как не читалась, тут самая важная для меня была папка DIPLOM от 19.08.1999, потому, что там была и дипломная работа, и полностью рабочий релиз моего проекта IDE

Диск пролежал в закрытой коробке в тёмном месте 27 лет и не читался. Пролежал две недели в дисководе, подключённом к компьютеру, и прочитался. Я до сих пор не знаю, почему. Просто чудо.

После того как файлы наконец скопировались, я скачал DOSBox. Я нашёл готовый образ Windows 98 русской редакции, создал отдельно VHD файл, скопировал туда свою дипломную папку SHELL и подключил образ к DOSBox, как диск D.

Практически дрожащими руками. Вот, без преувеличения.

После загрузки Windows я нажал "Завершение работы" и выбрал пункт "Перезагрузить компьютер в режим MS-DOS". Набрал:

D:
cd shell
r32p.exe shell.bin

 

 

И оно запустилось. Моей радости не было предела!

Маленькое пояснение: r32p.exe - это наше ядро языка RainBow Forth. Можно было дать команду r32p.exe forth.bin и попасть в консоль самого языка. Но у меня был уже скомпилированный словарь shell.bin - это и есть моя среда разработки, поэтому запуск именно такой. Одна команда, и вся IDE поднимается из одного файла. 

Обратите внимание на размеры файлов, это все в байтах!

Вот тогда и нахлынула ностальгия по-настоящему. Заставка моего IDE для RainBow Forth начала переливаться цветами - точно так же как 27 лет назад.

 

Скринсейвер, тогда это было популярно, реализовал и добавил себе в IDE
 

2. Как всё началось. Студенческая группа и RainBow Forth

Середина 90-х, я учусь в университете. Наш преподаватель по дискретной математике собрал небольшую проектную группу студентов - попал в неё и я. Задача была серьёзная: адаптировать язык FORTH под архитектуру x386 с защищённым режимом, чтобы использовать всю доступную плоскую память, а не жалкие 640 килобайт реального режима DOS.  

За основу руководитель выбрал FIG-Forth (Forth Interest Group) - это была публичная эталонная реализация языка, своего рода "открытый стандарт" того времени, доступный для изучения и модификации. Существовали и другие реализации - коммерческие и любительские, под разные платформы - но FIG-Forth был хорошо документирован и идеально подходил как основа для портирования. Почему именно он - это решение руководителя, логику которого я уже не восстановлю спустя столько времени. 

Мы разделились: одни писали ядро на ассемблере, другие - прикладные слова языка. Мне досталась среда разработки и я сам решил сделать её по образцу Borland Pascal: меню, окна, редактор, отладчик. Вдохновился и начал реализовывать, впоследствии по этой теме и защищал диплом.

Проект назвали RainBow Forth

Отдельная история - алгоритм текстового редактора. Преподаватель поставил задачу: текст должен работать без тормозов хоть со 100 символами хоть со 100 тысячами. Два дня думал - ничего. На третий день он рассказал простое решение: два стека, первый хранит текст до курсора, второй после. Любая операция - переложить символ из одного стека в другой. Никаких сдвигов массива, никаких тормозов. Гениально просто и я расстроился, что сам до этого не додумался. Подробнее об этом алгоритме (в картинках) в статье "Перфокарты, ассемблер, объектно-ориентированные языки, промпты или почему скоро языки программирования станут не нужны"
 

3. Что такое FORTH

FORTH - язык необычный. Настолько необычный, что большинство программистов, увидев написанный на нем код в первый раз думают, что это ошибка или какой-то шифр.

Но начну с истории названия. Привожу выдержку из моего диплома 1998 года:

"Название Forth происходит как сокращение от Fourth (четвертый). Такое странное название связано со следующим фактом из истории: изобретатель языка Forth Чарльз Мур, закончивший работу над языком в начале 1970-х годов, работал в то время с моделью IBM-1130 - ЭВМ третьего поколения. Полученные результаты показались ему настолько значительными, что он посчитал язык "языком машин четвертого поколения" и назвал бы его Fourth, если бы модель 1130 допускала шестибуквенные идентификаторы. Таким образом Fourth превратился в Forth - своеобразная игра слов."

Название придуманное потому что компьютер не мог хранить длинные имена. История IT полна таких случайностей. 😄

Язык FORTH использует обратную польскую нотацию и стек как основу всего. Не переменные, не выражения, а стек. Всё что делает программа - это класть значения на стек и забирать их оттуда.

Простой пример:

1 1 + .

Что здесь происходит:

  • 1 - положить число 1 на стек
  • 1 - положить ещё одно число 1 на стек
  • + - взять два числа с вершины стека, сложить, результат положить обратно
  • . - взять число с вершины стека и вывести на экран

Результат: на экране появится 2.

Никаких скобок. Никаких приоритетов операций. Всё читается слева направо, всё предсказуемо. Стек - единственное место где живут данные.

Как определяются слова:

В FORTH программы состоят из слов - так здесь называются функции. Новое слово определяется так:

: qqq 1 1 + . ;
  • : - начало определения нового слова
  • qqq - имя слова
  • 1 1 + . - тело: положить два числа, сложить, вывести
  • ; - конец определения

Теперь можно просто написать qqq и на экране появится 2. Слово стало частью языка - точно так же как + или ..

И вот здесь начинается самое интересное, язык FORTH можно расширять прямо во время работы. Определил новое слово - оно сразу доступно. Можно строить слова из слов, слои абстракции из слоёв абстракции. Именно поэтому говорят что FORTH написан на самом себе - только крошечное ядро реализовано на ассемблере, всё остальное это слова определённые через другие слова.

Это и делало FORTH идеальным для маленьких машин 90-х - минимальное ядро, максимальная гибкость и никакого лишнего кода.
 

4. Шитый код - сердце Форта

Теперь самое интересное - как FORTH работает внутри.

Большинство языков того времени, компилировались в машинный код - набор инструкций процессора. FORTH пошёл другим путём. Он использует технологию которая называется шитый код (threaded code).

Снова обращусь к своему диплому 1998 года:

"Интерпретирующий язык с шитым кодом записывает процедуру в память только один раз и делает переход к ней из любого места, где она потребуется. Поэтому Forth-программа может занимать в памяти значительно меньше места, чем эквивалентная программа, написанная, скажем, на Basic."

Идея гениально проста. Программа на FORTH - это не набор машинных инструкций. Это список адресов слов. Специальный интерпретатор - его называют "inner interpreter" или просто "движок" - берёт очередной адрес из списка, прыгает туда, выполняет код слова, возвращается и берёт следующий адрес. И так по цепочке - нить за нитью. Отсюда и название: threaded - нанизанный на нить.

Представьте это как список дел:

  • Сделай пункт А
  • Сделай пункт Б
  • Сделай пункт В

Только вместо текста - адреса в памяти. Движок просто бежит по этому списку адресов и выполняет один за другим.

Почему это было гениально для 90-х:

Шитый код занимает минимум памяти. Вместо того чтобы копировать машинный код каждого слова в каждое место, где оно используется - хранится только адрес. Использовал слово + тысячу раз - тысяча адресов, а сам код сложения один. На машинах с килобайтами памяти это было критично.

И ещё одна выдержка из диплома - про то, как в нашем RainBow Forth можно было писать прямо на машинном коде внутри слова:

"Если определение слова начинается с CODES, то все, что следует после этого слова, описывается двоичным представлением мнемоники ассемблера и при компиляции превращается в машинный код, который становится частью определения этого слова. Поскольку слова языка Forth можно легко комбинировать с машинным кодом, он обладает мощью ассемблера и удобством языка высокого уровня."

Именно такие CODES-блоки есть в исходниках моей среды - там, где нужна была максимальная скорость, я вставлял машинный код прямо в Форт. Это граница между моей работой и работой ребят, которые писали ассемблерное ядро.

Наш RainBow Forth не мог работать под Windows - он работал в защищённом режиме процессора напрямую, управлял памятью сам, без посредников. Это была не ограниченность, а его сила - доступ ко всей памяти компьютера без жалких 640 килобайт DOS или постоянного переключения страниц памяти.

 

5. FORTH и 1С - общие корни

Те из вас, кто копал платформу 1С достаточно глубоко - знают: 1С компилирует код в байт-код, который выполняется виртуальной стековой машиной. Это не секрет.

Но вот вопрос, который задают реже: почему стековая машина? Откуда вообще эта идея?

Стековая архитектура виртуальной машины - штука, проверенная десятилетиями. Java Virtual Machine - стековая машина. Python внутри - стековая машина. .NET CLR - стековая машина. 1С - туда же.

А FORTH был одним из первых языков, который сделал стек не деталью реализации спрятанной от программиста, а явной частью самого языка. Никакого синтаксического сахара, никакой магии компилятора, рюшечек в виде объектов и т.д. - просто стек, прямо перед глазами.

Когда виртуальная машина 1С выполняет:

Результат = А + Б;

Она делает ровно то же самое, что делает FORTH, когда видит А Б + - кладёт операнды на стек, выполняет операцию, забирает результат. Только в 1С это спрятано за привычным синтаксисом.

И ещё одна параллель, которую мало кто замечает. Из моего диплома:

"Программа пишется путем определения новых слов с использованием слов, ранее уже определенных в словаре. Как только новые слова скомпилированы в словарь, они не отличаются по форме от тех слов, которые в нем уже имеются."

Звучит знакомо? В 1С вы точно так же строите процедуры из процедур, функции из функций - новый код становится частью системы наравне со встроенными функциями платформы. Идея расширяемого словаря живёт и в современных языках, просто называется иначе.

FORTH не изобрёл стековую машину, но он сделал её видимой и явной. И именно это делало его таким мощным инструментом для своего времени.

Мы реализовывали эти идеи в 1998 году, а они живут до сих пор - просто теперь они спрятаны поглубже.

История делает круг. 😄
 

6. Что внутри моего IDE - скриншоты и код из 1998 года

Итак, среда запустилась. Давайте посмотрим что внутри.

Но, прежде чем смотреть на скриншоты - важный момент. Всё что вы видите: окна, меню, диалоги, тени, скроллбары - написано на Форте с нуля.

Сначала я сделал базовые библиотеки: оконную систему, меню и inline-редактор, а уже потом использовал их в самой среде. Все они лежат в папке LIB и подключаются через include:

include lib\windows.frt
include lib\menu.frt
include lib\in_line.frt

Причём эти библиотеки универсальные, их можно было подключить к любому другому Форт-проекту и сразу получить полноценный оконный интерфейс. Готовых UI-фреймворков тогда просто не было, поэтому всё приходилось делать самому, заодно было интересно разобраться как это устроено.

Главное меню

Первое, что видит пользователь - классическая строка меню: File, Edit, Search, Compile, Debug, Tools, Options, Windows, Help, About. Зелёно-чёрная цветовая схема, тени у выпадающих окон - настоящий DOS-стиль 90-х. Визуально это осознанное решение - я брал за образец Borland Pascal и воспроизводил его стиль максимально точно. Лучшего образца для DOS-среды в то время просто не было.

 

-

Меню File - всё для работы с файлами плюс два специальных пункта: Forth для перехода в консоль языка и DOS shell для выхода в командную строку не закрывая среду.
 

Меню Edit - Undo, работа с блоками (Copy, Move, Del), буфер обмена и маркировка. Undo в текстовом редакторе 1998 года написанном студентом на Форте - это не само собой разумеющееся, это полноценный редактор, а не игрушка.
 

В меню Search есть пункт, который отличает эту среду от обычного текстового редактора - Forth's Word Find. Не просто поиск по тексту, а поиск по словарю Форта. Специфичная для языка фича, которую обычные редакторы не умеют.
 


 

Compile — всего два пункта: Compile (Ctrl+F9) и Make (F9) — скомпилировать текущий файл или собрать весь проект, как в настоящих больших IDE.

 

 

Debug - три инструмента: Deforth (декомпилятор - показывает, из каких слов составлено любое слово словаря, можно заглянуть внутрь любого определения), Stack data (содержимое стека в реальном времени) и Dump (дампер памяти) - всё, что нужно для отладки Форт-программы.

 

 

Дампер памяти - можно сразу менять, как в HEX представлении, так и в строковом
 

 

Tools - ASCII Table, Forth's Words и Forth Command - инструменты, специфичные именно для Форта, такого не найдёшь в обычном текстовом редакторе.
 

 

ASCII - таблица

 

Options - настройки среды: Memory (размер памяти для генерируемых программ), Primary file (главный файл проекта) и Edit setup (настройки редактора)

 


Windows - полноценный многооконный менеджер: Next, Previous, Close, Close all и List со списком всех открытых окон. Да, в 1998 году на Форте.
 


Help - многоуровневая система справки: Keys с подразделами (Cursor movement, Deleting text, Search and replace, File operations, Block operations) и Using help. Всё на английском, контекстно.

 

About - "Professional programming shell, Version 01.98, Copyright (C) 1997 by Livsoft Ltd". LIV - первые буквы моих фамилии, имени и отчества. Студенческий проект с собственным копирайтом. Livsoft Ltd впоследствии переименовался в GarriSoft - но это уже другая история. 😄
 

Редактор и живой код

 

 

Подсветку текущей строки я сделал как в Multi-Edit, статусная строка с номером строки и позицией курсора, горячие клавиши F1-F4 и Ctrl+F9 Compile. Всё как в Borland Pascal - именно этого я и добивался.

А теперь давайте посмотрим на реальный код из редактора. Помните алгоритм двух стеков из раздела № 2? Вот как он выглядит на Форте - реальный код 1998 года:

: Push_L        ( Запись в левый стек )
                ( element -> ... )
        Sp_L@ C!
        Sp_L@ 1+ Sp_L!
        ;
: Push_R        ( Запись в правый стек )
                ( element -> ... )
        Sp_R@ C!
        Sp_R@ 1- Sp_R!
        ;
: Pop_L         ( Чтение из левого стека )
                ( ... -> element )
        Sp_L@ 1- dup
        c@ swap Sp_L!
        ;
: Pop_R         ( Чтение из правого стека )
                ( ... -> element )
        Sp_R@ 1+ dup
        c@ swap Sp_R!
        ;

Четыре слова - и весь механизм текстового редактора. Push_L кладёт символ в левый стек, Pop_R достаёт из правого. Курсор двигается влево - один Pop_L и один Push_R. Вправо - наоборот. Никаких массивов, никаких сдвигов.

А вот как выглядит движение курсора - кнопка вправо в редакторе:

: Curr-Right    ( ... -> ... )
        Empty_R 0=
        IF
          HideCurs Pop_R DUP 13 =
          IF
            Push_R
          ELSE
            Push_L
            Coord_X@ 1+ Coord_X!
            Check-CoordX> Set-Down
          ENDIF
        ENDIF Set_Col Status-Line
        Set_Coord
        ;

Читается почти как псевдокод: если правый стек не пуст - достать символ, если это не конец строки - переложить в левый стек и сдвинуть координату курсора. Вот и всё движение курсора вправо в редакторе.

Отладчик стека

 

 

Справа открыта панель Stack Data - отладчик стека в реальном времени. Для Форта это критически важная фича: видишь, что лежит на стеке в каждый момент выполнения. Без этого отлаживать Форт-программу очень сложно.
 

Контекстная справка

 

 

Контекстная справка на русском языке. F1 в любом месте открывает справку именно по текущему контексту. В 1998 году сделать русскоязычную контекстную справку в DOS - это отдельная работа, которую я почему-то сделал. Видимо, сильно хотел, чтобы было "как у взрослых". 😄

Граница между Фортом и ассемблером

И последнее - самое интересное. Там, где нужна была максимальная скорость, я вставлял машинный код прямо в Форт. Вот реальный пример из исходников - запись и чтение 16-разрядного числа:

HEX
CODES   W! ( 16-разрядное число, Addr -> ... )
        9C            \ pushfd
        53            \ push   ebx
        50            \ push   eax
        8B 5D 00      \ mov    ebx,[ebp]
        8B 45 04      \ mov    eax,[ebp+4]
        66 89 03      \ mov    [ebx],ax
        83 C5 08      \ add    ebp,8
        58            \ pop    eax
        5B            \ pop    ebx
        9D            \ popfd
        ;CODES
DECIMAL

CODES - и ты можешь писать машинный код, в комментария инструкция ассемблера. ;CODES - вернулся в Форт. Это и есть та самая мощь, о которой писал в дипломе: "он обладает мощью ассемблера и удобством языка высокого уровня". Это граница между моей работой и работой ребят, которые писали ассемблерное ядро.

Скринсейвер

И вишенка на торте - скринсейвер. Анимированная гифка была в первом пункте. Если долго не работать, запускается заставка RainBow Forth с переливающимися цветами, затем электронные часы во весь экран - тоже переливающиеся. Всё написано на самом Форте.

 

7. Что думает современный ИИ об этом коде

Я попросил Claude - современную языковую модель от Anthropic - оценить исходники RainBow Forth честно, без скидок на возраст проекта. Вот что получилось.

Архитектура - на удивление зрелая

Первое, что бросается в глаза - проект правильно разбит на модули. EDIT.FRT, DUMP.FRT, CR-MENU.FRT, WINDOWS.FRT - каждый файл отвечает за свою область. Зависимости прописаны через include, пространства имён изолированы через VOCABULARY. Это не свалка кода в одном файле - это продуманная структура.

Stack-effect комментарии - правильная практика

Почти каждое слово имеет комментарий в скобках, который описывает, что слово берёт со стека и что кладёт обратно:

: Push_L  ( element -> ... )
: Pop_L   ( ... -> element )
: W!      ( 16-разрядное число, Addr -> ... )

Это стандарт хорошего Форт-кода - и он соблюдён. Сегодня это назвали бы "типизацией через документацию".

Паттерн геттер/сеттер - современно

Вот что реально удивило. Для каждой переменной состояния определена пара слов - читатель и писатель:

: Coord_X@  4 EC@ ;    : Coord_X!  4 EC! ;
: Coord_Y@  5 EC@ ;    : Coord_Y!  5 EC! ;

Это инкапсуляция. В 1998 году, на Форте, в студенческом проекте - паттерн, который сегодня считается хорошей практикой в любом языке. Случайно или осознанно - но правильно.

CODES-блоки - граница между уровнями

Вставки машинного кода прямо в Форт - W!, W@, -CMOVE - написаны чисто и с комментариями к каждой инструкции:

CODES   -CMOVE ( Addr1 Addr2 Len -> ... )
        9C            \ pushfd
        56            \ push esi
        FD            \ std
        ...
        ;CODES

Это не хак и не костыль - это осознанное решение там, где нужна скорость. Граница между высоким и низким уровнем чёткая и понятная.

Что устарело

Жёстко зашитые пути - "c:\\command.com", "f:\\dos6.00\\" - прямо в коде. Сегодня это вынесли бы в конфиг. Но в 1998 году на конкретной машине - вполне простительно.

Местами нет комментариев там, где они были бы полезны. Особенно в сложных словах типа Curr-Right и Home - логика работает, но читать без контекста тяжело.

Итоговая оценка

Для студенческого проекта 1998 года, написанного без Stack Overflow, без туториалов и на языке, который большинство программистов никогда не видели, - это очень сильная работа. Модульность, инкапсуляция, документация стека - это не случайные совпадения, это результат хорошей школы и думающего автора.

Если бы этот код показали мне без контекста и спросили, когда написан - я бы не угадал, что это студенческий диплом. Скорее решил бы, что это библиотека опытного разработчика.

 

8. А что, если добавить ИИ?

Глядя на этот код в 2026 году невольно думаешь, а что если бы тогда был ИИ?

Форт для этого подходит идеально. Стек виден явно, каждое слово изолировано, stack-effect комментарии уже описывают типы - ИИ понимал бы контекст без лишних объяснений. Дал задание "напиши слово, которое копирует блок текста" - получил готовое определение. Попросил объяснить, что делает Deforth - получил разбор.

MCP-сервер, который видит словарь Форта, понимает стек, может компилировать слова прямо в среде - это была бы идеальная связка. Лучше, чем многие современные IDE с ИИ.

Но в 1998 году у нас не было ИИ. С другой стороны, того, что было, нам хватило.

 

9. Письмо себе в 1998 год

Привет, Игорь.

Ты только что защитил диплом. Стопка распечаток на столе, в кармане - диск с дипломом и твоей средой разработки. Впереди - вся жизнь в IT.

И есть лёгкое чувство: как будто никто толком не понял, какую крутую штуку ты сделал. Ни однокурсники - у всех свои дипломы, ни кафедра. Хотя защитился ты на отлично. Поверь, это нормально.

Хочу тебе кое-что сказать.

Через 27 лет ты достанешь свой CD диск. Он не будет читаться - два разных привода, несколько программ восстановления, полное расстройство. Ты забудешь его в дисководе на две недели. А потом он вдруг прочитается - с первого раза, полностью, как будто ждал этого момента.

Ты запустишь DOSBox, наберёшь r32p.exe shell.bin - и заставка RainBow Forth начнёт переливаться цветами. Точно так же, как сейчас у тебя.

И ты поймёшь несколько вещей, которые сейчас тебе не очевидны.

Та книга про защищённый режим x386, которую вы зачитали до дыр, разговоры с преподавателем об архитектуре, алгоритмах - это была настоящая инженерная школа. Мало кто из твоих сверстников в 1998 году понимал, как работает процессор, на таком уровне, умел писать код на ассемблере и FORTH.

Алгоритм двух стеков который тебе объяснил преподаватель - ты будешь помнить всю свою жизнь. И однажды расскажешь о нём тысячам людей в статье на Инфостарте.

Паттерны, которые ты написал интуитивно - геттеры и сеттеры, модули, документация, стек - даже через 20 лет будут называться "хорошими практиками" в любом языке программирования. Ты просто делал так, как, казалось, будет правильно. И это было действительно правильно.

Livsoft Ltd ты переименуешь в GarriSoft. И под этим именем ты напишешь много статей на Инфостарте - маркетплейсы, маркировку, как менял мозги у стиральной машины на Arduino. Да, ты еще не знаешь, что такое Arduino, но поверь, тебе будет интересно. Будут и статьи, которые соберут десятки тысяч просмотров, а также статьи, которые оценит сам основатель Инфостарт.

Но эта статья - про RainBow Forth - будет для тебя особенной. Потому что это про то, с чего всё началось.

Обязательно сохрани этот диск. Он тебе еще пригодится.
 

Ссылка на githab: https://github.com/Nihixi/rainbow-forth-ide-

Русские символы в исходниках и справке используют кодировку DOS (CP866). При просмотре файлов на современных системах необходимо явно указывать кодировку, иначе русский текст будет отображаться некорректно.

 

Другие статьи автора:

Маркировка в "древней" УТ 10.3 (10.3.6.8) и полноценный ТСД (Online) или как обойтись без перехода на УТ 11.5
Как подключить маркировку в древней УТ 10.3 без перехода на УТ 11.5 - все необходимые объекты, модули и доработки
Автоматическое обновление токенов Честного Знака в 1С
Автоматическое обновление токенов Честного Знака в 1С - готовое решение для УТ, КА, ERP, УНФ, Розницы и Бухгалтерии, которое избавляет от ручных обновлений и остановки процессов.
Дубликатор кодов маркировки (КИЗ) DataMatrix: Расширение 1С с проверкой в Честном Знаке (копирует ЛЮБЫЕ КИЗы!)
Автоматическое обновление токенов Честного Знака в 1С - готовое решение для УТ, КА, ERP, УНФ, Розницы и Бухгалтерии, которое избавляет от ручных обновлений и остановки процессов.
Маркировка остатков товаров на складе: Как сделать все быстро и без ошибок (мой практический опыт)
Маркировка остатков 10 000+ товаров без ошибок — готовое решение, которое исключает человеческий фактор, автоматизирует процесс и работает напрямую с 1С. Пошаговый опыт и готовое расширение внутри.
Маркировка остатков в распределенной рознице: Как промаркировать более 100 тыс. товаров в нескольких десятках магазинов без хаоса и ошибок
Маркировка остатков 100 000+ товаров в рознице без хаоса и ошибок — клиент-серверное решение, где сканируешь ШК в магазине и сразу получаешь КМ на принтере, независимо от кассового ПО. Практический опыт, регламент и готовый комплект кода внутри.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

О жизни Бесплатно (free)

Про текущую ситуацию на рынке

02.10.2025    14464    1c-intelligence    241    

47

О жизни Россия Бесплатно (free)

Личная история смены профессии — честно и с юмором. Как решиться на первый шаг, что помогло на старте и почему даже отчёты в 1С могут приносить радость.

17.07.2025    4989    user2154904    13    

58

О жизни Бесплатно (free)

В данной статье я хочу поделиться своим видением обеих направлений разработки, сравнить их и дать свою субъективную оценку, а также рассказать историю ИТ в общих чертах за последние 5 лет, как ИТ пузырь начал раздуваться и как он в конце концов лопнул.

11.07.2025    7540    hexhoc    27    

66

О жизни Россия Бесплатно (free)

Для гениального программиста 1С Аркадия Скворцова это должно было стать рутинной отладкой. Но база данных НИИ, занимающегося «стабильностью пространственно-временного континуума», оказалась не так проста. Что скрывается за строками кода, где вместо «ПриходТовара» значится «ПеремещениеМатерии», а в регистрах накапливается «ЭнтропияВселенной»?

19.05.2025    4660    vet7777    11    

42

О жизни Россия Бесплатно (free)

Данная статья сугубо для раздела «О жизни», но может оказаться полезна многим членам сообщества. Все описанное ниже соответствует актуальному российскому законодательству на момент публикации статьи. У вас нет и в ближайшее время не предвидится детей возрастом до 1.5 лет? Вспомните о родственниках / друзьях / коллегах / знакомых, у которых они есть, и отправьте ссылку на эту статью — она может быть им чрезвычайно полезна. Распространите среди жильцов вашего ЖЭКа, как говорилось в одном классическом произведении. Помните, что, ставя плюсы к статье, вы поддерживаете её автора!

01.07.2024    11347    madonov    50    

61

О жизни Linux Системный администратор Программист 1С:Предприятие 8 Россия Бесплатно (free)

Использование Linux в качестве основной ОС для программиста 1С, возможно ли это? Решил поделиться личным опытом работы перехода на эту систему. В статье моя история без технических деталей максимально простым языком. И, спойлер, да, жизнь на Линуксе для разработчика 1С возможна и с каждым годом становится всё комфортней. Статья рассчитана на людей, с Линуксом не знакомых, специалистов прошу не кидаться помидорами.

16.05.2024    12858    soulner    38    

53

О жизни Россия Бесплатно (free)

Подводим итоги работы в 1С за 2023 год. Все о вас: 4 подробных раздела с цифрами, графиками и ужасными цветами диаграмм (должна же где-то быть стабильность).

08.02.2024    36356    Neti    87    

124
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. DmitryKSL 183 06.04.26 21:33 Сейчас в теме
Вот так пишешь статью, полный эмоций. А потом никто даже не комментирует. Я заметил что на инфостарте такие ретро темы не актуальны. Да фиг с ними комментами, плюсик что жалко поставить? Лови от меня, за такой труд не жалко.
Сам в девяностые много на ассемблере кодил. Сначала советский клон РК86 на КР580ВМ80А (я даже эти буковки и циферки помню), потом Z80. Ну а потом даже не помню что 286 или 386. Та ламповость процесса, когда для наращивания памяти ее припаять надо было, да еще под нее контроллер переделать, вот это времена.
2. GarriSoft 451 06.04.26 22:14 Сейчас в теме
(1)
Коллега, спасибо за плюс и тёплые слова! Приятно встретить человека который понимает о чём речь 😄

КР580ВМ80А - это легенда! Я всегда мечтал собрать РК86, но потом родители купили мне готовый Спектрум. Я сам подключал его сначала к цветному телевизору, а потом и к ламповому черно-белому (потому что на цветном, папа смотрел вечером кино), тоже писал на ассемблере Z80, а расширение памяти это отдельная отдельная история! Я тоже припаивал микросхему сверху на микросхему, управляющие ножки отгибал в сторону, аккуратно соединял с контроллером. Руки тряслись - если что-то пойдёт не так, был и нет компьютера. Но когда заработало и увидел лишние 48 килобайт - это было счастье! 😄
Вот где была настоящая инженерная школа, когда каждый байт добывался паяльником. Сейчас такого уже не будет.

Честно говоря я особо и не ждал ни плюсов ни комментариев - эта статья больше написана наверное для себя. Рефлексия и место где можно сохранить свою память о том времени. Инфостарт, в этом смысле лучший архив. 😄
Для отправки сообщения требуется регистрация/авторизация