User Tag List

Страница 3 из 28 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 275

Тема: FORTH vs компилятор бейсика vs C++/Pascal/остальное

  1. #21

    Регистрация
    30.08.2010
    Адрес
    Санкт-Петербург
    Сообщений
    1,263
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    200
    Поблагодарили
    163 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Smalovsky Посмотреть сообщение
    krotan, что ,прям, на спектруме сравнили?
    и на спектруме тоже, картина общая. Наиболее развит форт под CP/M, много хороших версий, но имейте в виду, что форт может работать без операционной системы путём прямых обращений к аппаратуре и на нём можно писать операционную систему...

  2. #22

    Регистрация
    06.11.2020
    Адрес
    г. Санкт-Петербург
    Сообщений
    167
    Спасибо Благодарностей отдано 
    80
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    23 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от krotan Посмотреть сообщение
    вся программа состоиит из множества вложенных подпрограмм,
    Так ведь любая программа должна состоять из множества подпрограмм, которые выполняют какие-то законченные действия и все вместе они как раз и составляют программу. Даже в бейсике можно подпрограммы делать, но чаще видны бессистемные переходы.

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

    фраза дня

    в общем случае начинающий фортер думает также и о том, чтобы сделать в форте всё как у людей. Но через некоторое время начинает уже у людей всё делать как в форте.

  3. #23

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,030
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Для CP/M и 8080/z80 горячо советую DX-Forth. Он форт как форт, но может сохранить запускаемый .com файл с откомпилированным кодом (волшебное слово turnkey). Можно переделать и под без-ос, но я сам не пробовал.

    "Компилятор форта" -- не бессмыслица. Обычный форт компилирует код в том смысле, что превращает слова в цепочку адресов и добавляет запись в словарь. Это стандартная терминология, хотя это не совсем то, что люди обычно подразумевают под компиляцией.

    Цитата Сообщение от vlad-kras Посмотреть сообщение
    Так ведь любая программа должна состоять из множества подпрограмм, которые выполняют какие-то законченные действия и все вместе они как раз и составляют программу. Даже в бейсике можно подпрограммы делать, но чаще видны бессистемные переходы.
    В принципе так и есть. Никто не запрещает писать маленькие компактные процедуры. Но Форт очень активно поощряет разбивку на маленькие слова. Это не то что бы какое-то искуственное ограничение, скорее философия языка. Например, трудно писать семиэтажный код, когда у локальных переменных нет имен (в форте это просто позиции на стеке, хотя бывают отклонения, но это не норма). Невольно задумываешься, может быть было бы лучше разбить это на разные слова, так что каждое из них выполняет свою маленькую функцию? Оказывается, что конечно лучше. Постепенно привыкаешь сразу так думать. Это небесполезный навык по жизни вообще.

    - - - Добавлено - - -

    Вдогонку про производительность. Обратная сторона разбиения на крохотные процедуры -- большой оверхед на вызовы и большая глубина стека. И чем чугунней процессор (а мы говорим о 8080 и z80) и чем органичней Фортовый код, тем сильнее это ощущается. Вот компактность действительно несравненная.
    Больше игр нет

  4. #24

    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    7,301
    Спасибо Благодарностей отдано 
    260
    Спасибо Благодарностей получено 
    293
    Поблагодарили
    211 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вроде один из тетрисов для Ириши написан на Форте (скачать можно тут)

  5. #25

    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,926
    Спасибо Благодарностей отдано 
    105
    Спасибо Благодарностей получено 
    291
    Поблагодарили
    217 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от dk_spb Посмотреть сообщение
    один из тетрисов для Ириши написан на Форте
    Я как раз с ним разбираюсь. До сих пор на наших восьмибитках мне попадался либо Кириллин-Клубович-Ноздрунов, либо какие-то недоделанные форты (начали и бросили). А этот вполне законченный, в достаточной мере реализующий стандарт, но от другого автора. Он сильно отличается от первого.

    Обычно, если программа написана на форте, можно обрезать её до минимального ядра и получить рабочий форт. А тут фиг вам. К сожалению, автор видимо воспользовался целевой компиляцией при разработке этого тетриса, при этом имена словарных статей он не стал добавлять, а только зарезервировал место. В итоге, выкусить рабочую версию форта не получится. А восстанавливать имена достаточно муторно, даже имея дизассемблированный текст.

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

    Этот пользователь поблагодарил b2m за это полезное сообщение:

    svofski(07.07.2022)

  6. #26

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,030
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от b2m Посмотреть сообщение
    А тут фиг вам.
    https://www.computerhistory.org/coll...alog/102713898 ?
    Больше игр нет

  7. #27

    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,870
    Спасибо Благодарностей отдано 
    522
    Спасибо Благодарностей получено 
    251
    Поблагодарили
    225 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Известные дизассемблеры типа IDA обламываются на дизассемблировании кода FORTH. Пытался я лет тридцать тому назад ковыряться с кодом Metal Mutant и, убив уйму времени, плюнул. Вот еще его (FORTH)один недостаток. Мало того, что исходники как Кубик Рубика, так еще и об исполняемый код "мозги поломаешь"! В Silmarils точно фортмэны присутствовали.
    Вообще при современной мощности персоналок должны рулить какие-то интеллектуальные кросс-системы программирования. Чтобы чел создал проект на удобном для себя языке программирования, а она сама оптимизировала и выдала код для заданного железа.
    Последний раз редактировалось andrews; 07.07.2022 в 22:22.

  8. #28

    Регистрация
    10.01.2010
    Адрес
    Смоленская обл.
    Сообщений
    556
    Спасибо Благодарностей отдано 
    187
    Спасибо Благодарностей получено 
    197
    Поблагодарили
    100 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andrews Посмотреть сообщение
    Вообще при современной мощности персоналок должны рулить какие-то интеллектуальные кросс-системы программирования. Чтобы чел создал проект на удобном для себя языке программирования, а она сама оптимизировала и выдала код для заданного железа.
    LLVM , GCC ?

    Цитата Сообщение от krotan Посмотреть сообщение
    - скорость выполнения программ выше, чем в любых компиляторах (при условии правильного программирования) и лишь немного уступает ассемблеру,
    - компактность кода рекордная (особенно после сжатия программы путём удаления идентификаторов слов), т.к. вся программа состоиит из множества вложенных подпрограмм,
    - проблемами являются непривычный стиль программирования и то, что форт ориентирован главным образом на 8-мибитную архитектуру...

    Насчёт скорости выполнения программ, вопрос спорный. Да "Hello world" определённо на форте скорее всего будет быстрее, но с усложнением задачи и улучшением автооптимизации компиляторов это преимущество постепенно спадает. Да форт пожалуй на ретроархитектурах выигрывал (ну по крайней мере не проигрывал) по скорости (насчет C не уверен) и по компактности (особенно если не тратить память на длинные идентификаторы слов/функций).

    По поводу немного уступает ассемблеру. Тут сильно зависит от реализации переходов и контроля (или безконтроля) стека. Но в любом случае паразитные загрузки операндов в стек параметров, обслуживание стека возвратов... Думается на z-80 замедлят исполнение алгоритма со средне-оптимальным вариантом на ассемблере в 3-5 раз. На 86-х командная база работы со стеком поболе будет и возможно там сравнительная эффективность форта лучше.

    Цитата Сообщение от krotan Посмотреть сообщение
    у форта нет как такового компилятора. форт это компилятор-интерпретатор два в одном.
    По крайней мере реализуемы как бы две фигни, которые делают из форт системы типа "компилированной" программы, про одну вы сами сказали "(особенно после сжатия программы путём удаления идентификаторов слов)", а вторая это форт-ассемблер - которая делает слово не из набора других слов а из линковки кодов ассемблерных примитивов.

    Этот пользователь поблагодарил Dart Alver за это полезное сообщение:

    Oleg N. Cher(08.07.2022)

  9. #29

    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,870
    Спасибо Благодарностей отдано 
    522
    Спасибо Благодарностей получено 
    251
    Поблагодарили
    225 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dart Alver Посмотреть сообщение
    LLVM , GCC ?
    эти вообще 8-битные архитектуры не поддерживают, имхо.

  10. #30

    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,681
    Спасибо Благодарностей отдано 
    2,714
    Спасибо Благодарностей получено 
    170
    Поблагодарили
    130 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Ну вот мне не пришлось ни плакать, ни колоться, а кроссплатформенность получилась сама собой.
    Форт не стандартизирует и не унифицирует ни графику, ни цветность, ни даже консольный ввод-вывод. Если у Вас "получилась кроссплатформенность", значит Ваша игра напоминает Hello World. В общем, я к тому, что Форт не делает чудес и невозможное возможным.

    Опять же, если сравнивать процесс программирования на Форте с им же на асме - возможно, это и не худшая альтернатива. Но на более человеческих языках путь от прикладных концепций к машинным имхо короче.
    Последний раз редактировалось Oleg N. Cher; 08.07.2022 в 07:16.

Страница 3 из 28 ПерваяПервая 1234567 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Софт для PC : Pascal, Object Pascal, Delphi
    от hobot в разделе PC-совместимые компьютеры
    Ответов: 0
    Последнее: 02.02.2021, 01:36
  2. Кросс-компилятор бейсика для БК
    от litwr в разделе БК-0010/0011
    Ответов: 2
    Последнее: 30.03.2018, 18:03
  3. Pascal
    от Andrew771 в разделе Программирование
    Ответов: 22
    Последнее: 24.05.2011, 21:20

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •