Важная информация

User Tag List

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

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

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

    По умолчанию

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

  2. #22
    Member
    Регистрация
    06.11.2020
    Адрес
    г. Санкт-Петербург
    Сообщений
    144
    Спасибо Благодарностей отдано 
    72
    Спасибо Благодарностей получено 
    22
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    фраза дня

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

  3. #23
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

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

  4. #24
    Guru
    Регистрация
    15.09.2009
    Адрес
    SPb
    Сообщений
    7,163
    Спасибо Благодарностей отдано 
    230
    Спасибо Благодарностей получено 
    263
    Поблагодарили
    191 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  5. #25
    Guru
    Регистрация
    24.01.2008
    Адрес
    Уфа
    Сообщений
    3,847
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    229
    Поблагодарили
    167 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

    svofski (07.07.2022)

  7. #26
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    792
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  8. #27
    Guru Аватар для andrews
    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,683
    Спасибо Благодарностей отдано 
    422
    Спасибо Благодарностей получено 
    196
    Поблагодарили
    174 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  9. #28
    Activist
    Регистрация
    10.01.2010
    Адрес
    Смоленская обл.
    Сообщений
    424
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    59 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

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

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

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

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

    Oleg N. Cher (08.07.2022)

  11. #29
    Guru Аватар для andrews
    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,683
    Спасибо Благодарностей отдано 
    422
    Спасибо Благодарностей получено 
    196
    Поблагодарили
    174 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  12. #30
    Veteran Аватар для Oleg N. Cher
    Регистрация
    24.08.2007
    Адрес
    Днепропетровская обл.
    Сообщений
    1,611
    Спасибо Благодарностей отдано 
    2,183
    Спасибо Благодарностей получено 
    140
    Поблагодарили
    106 сообщений
    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

Ваши права

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