Это шедевр, это шедевр!!!

Feb 03, 2009 04:42

Неевроятный, адский адъ из Википедии

* Простота и красота идеи, заложенной в Форт, позволяют написать ядро Форт-системы за день.
* Свобода, предоставляемая программисту, требует сильного самоконтроля. Входной порог для программирования на Форте ниже, чем у языков типа C++, но требует привыкания и понимания не только возможностей и особенностей синтаксиса Форта, но, также, понимания философии, лежащей в его основе. Как следствие, нельзя использовать «дешёвых» программистов, как при использовании C# или Java.
* Форт не поддерживает никакую парадигму программирования и поддерживает их все одновременно. Написать набор слов для организации ООП в программе на Форте (а их может быть одновременно несколько и они будут отлично уживаться вместе) гораздо проще, чем решить, какие возможности от этого набора слов требуются.
* Разбиение программы на множество мелких слов позволяет легко и быстро проверять их по отдельности, передавая им нужные наборы входных параметров и контролируя то, что остаётся на стеке. Фактически, это означает, что для тестирования какого-то компонента программы можно не загружать все зависимые компоненты целиком.
* Форт не скрывает ошибки. Этот факт установлен опытным путём. «Отложенные» ошибки в программе на Форте - большая редкость. Ошибки, которые, в обычных языках программирования, скрываются стандартным преобразованием типов (например, int в char в C++ (хотя большинство современных компиляторов выдаст, конечно, предупреждение) или строки в число в каком-нибудь скриптовом языке), практически мгновенно, при следующем же тестовом запуске, «обрушивают» программу.
* Форт позволяет сделать декомпиляцию программы. Полученный текст мало отличается от исходного.
* Форт позволяет реализовать любой "выкрутас" и технологию, которой овладели другие языки и системы. В то же время, он может сделать то, что не под силу другим системам. В нём допустимы приёмы, запрещённые в других языках (например - самомодификация кода). Грамотная методика использования и правильный лексикон могут устранить негативные последствия этих приёмов.
* В интерпретаторе легко реализовать все проверки на границы диапазона адресов, а это при создании ОС позволяет отказаться от защищенного режима процессора. Получается существенный выигрыш в скорости работы.
* Размер кода Форта для 16-разрядных систем, при грамотном написании программы, иногда в 10-20 раз меньше кода, скомпилированного из программы на С. Для 32-разрядных систем этот разрыв еще больше. В операционных системах общий выигрыш может составлять уже сотни, а то и тысячи крат. Причина очень простая - готовая задача на Форте имеет размер несколько байт, все вспомогательные подпрограммы реализованы в виде определений, доступных всем. Система на Форте вместится в процессор, в который другие системы влезть в принципе не способны.
* Синхронизация процессов и потоков в многозадачных системах, переключение контекста, реализация доступа к ограниченным ресурсам - это сложнейшие проблемы при написании ОС-ей. Для поддержки этих возможностей даже создаются специальные команды в микропроцессорах. Для интерпретатора это вообще не проблема, поскольку он эмулирует любой процессор и любую необходимую команду.

Они курили, Википузия, ФГМ

Previous post Next post
Up