====== QuickForth ====== ===== Описание ===== Форт (Forth) - язык программирования, кардинально отличающийся от всех традиционных языков, причём в лучшую сторону. Предоставляет фактически безграничные возможности для выражения программистской мысли. Что это такое, можно узнать, например, здесь: [[http://wiki.forth.org.ru/%D4%EE%F0%F2|Статья на сайте forth.org.ru]] [[http://forth.org.ru/~cactus/files/brodie.rar|Книга Лео Броуди "Способ мышления - Форт"]] Рекомендую прочитать, даже если вы не собираетесь программировать на Форте. Существуют многочисленные реализации Форта, в том числе русские, ознакомиться с ними можно на том же forth.org.ru. Стандартный Форт (стандарт ANS Forth 83, 94) строится из соображений минимализма, поэтому его функциональность крайне недостаточна: в нём отсутствуют даже числа с плавающей точкой. В то же время реализации, обладающие достаточной функциональностью, зачастую плохо документированы. Более того, в стандартном Форте сохранились некоторые анахронизмы, оставшиеся ещё с 70-х годов, например, написание слов большими буквами и запись на диск не в файлы, а в нумерованные блоки по 1024 байта. Поэтому назрела необходимость в создании новой Форт-системы, которая учитывала бы ошибки прошлого. Настоящий проект создаётся именно с такой целью. Прежде всего это будет система для научных применений, в чём-то аналогичная Матлабу. Однако, это не исключает её применения и в других областях народного хозяйства - от планировщика задач до написания игр. В то же время ожидаемый размер этой системы будет в пределах мегабайта, а голое ядро будет занимать несколько десятков килобайт (точнее, уже занимает). Соответственно, механизм функционирования этой системы будет полностью доступен для изучения программисту, причём, в отличие от многотонных программ в стиле open source, в нём действительно можно будет разобраться. Планируются также и другие средства повышения понятности как самой системы, так и создаваемых программ. Система QuickForth основана на ядре [[http://retroforth.org|Retroforth]] версии 8.2.5, основательно переделанном, в результате чего производительность выросла в 10 раз по сравнению с оригиналом. Реализована поддержка плавающей точки, операций с файлами, памятью, произведены некоторые другие изменения. Операционная система - Windows (тестировалась под 2000 и XP). В числе первоочередных работ - переход на ретрофорт девятой версии и параллельно избавление от заглушки на паскале (нужна для перевода число<>строка). Говорить о том, что ещё надо сделать, пока бессмысленно, ибо сначала надо написать документацию. Особые любители извращений могут всё изучить самостоятельно, по исходникам. ===== Ссылки ===== [[http://forum.sources.ru/index.php?showtopic=157035|Обсуждение настоящего проекта на sources.ru]] [[http://fforum.winglion.ru/viewtopic.php?t=279|Обсуждение настоящего проекта на fforum.winglion.ru]] [[http://forum.sources.ru/index.php?showtopic=146913|Обсуждение, каким должен быть идеальный язык программирования]] ===== Разработчики ===== [[http://forum.sources.ru/index.php?showuser=3599|wormball]] (Голик Дмитрий Никитич) ===== Документация ===== Coming soon.... В первом приближении сойдёт документация к ретрофорту. ===== Файлы ===== {{.quickforth:quickforth06102006.zip}} - октябрьская версия! Представляет собой результат дописываний в процессе пользования. {{.quickforth:quickforth042006.zip}} - апрельская версия {{.quickforth:rf8-windows.zip}} - RetroForth 8.2.5. Почувствуйте разницу! {{.quickforth:retro_doc.zip}} - документация к ретрофорту Компилятор для ассемблерного ядра - Flat Assembler, для паскалевских файлов - Virtual Pascal.