Forth
http://fforum.winglion.ru/

О плюсах и минусах Форта
http://fforum.winglion.ru/viewtopic.php?f=12&t=3159
Страница 2 из 4

Автор:  Hishnik [ Пн фев 26, 2018 01:06 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

mOleg писал(а):
И, лично я, не считаю это проблемой, т.к. убежден, что внутри одной функции более нескольких ветвлений (не считая однородные CASE) быть не должно.

Существует понятие цикломатической сложности программ, которую рекомендуется ограничивать. Сколько - другой вопрос, хотя есть рекомендации даже "не более 10". Ну и вопросы отладки нельзя сводить к наличию отладчика. Так что тут Форт дает возможность скорее поднять вопрос острее, а не маскировать его способностью инструментов сгладить проблему, которую все равно потом решать.

Автор:  F-MAP [ Пн фев 26, 2018 20:03 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

Вот бы хищнику озвучить эти проблемы

Автор:  Hishnik [ Пн фев 26, 2018 20:36 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

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

Автор:  mOleg [ Пн фев 26, 2018 21:08 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

Hishnik писал(а):
Я не согласен с тем, что само по себе наличие отладчика способствует написанию качественного кода.

Ха, наоборот!
Отладчики способствуют написанию ужасающего кода, который как-то работает в протестированных рамках.
Конечно же, не всегда так и не везде, но очень много где именно так 8(

Но с другой стороны, тот же отладчик в СМАЛ32 давал почувствовать Форт.

Кстати, а кто кроме меня использовал отладчик в СМАЛ32 ?

Автор:  diver [ Вт фев 27, 2018 04:13 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

mOleg писал(а):
Hishnik писал(а):
Я не согласен с тем, что само по себе наличие отладчика способствует написанию качественного кода.

Ха, наоборот!
Отладчики способствуют написанию ужасающего кода, который как-то работает в протестированных рамках.
Конечно же, не всегда так и не везде, но очень много где именно так 8(

Но с другой стороны, тот же отладчик в СМАЛ32 давал почувствовать Форт.

Кстати, а кто кроме меня использовал отладчик в СМАЛ32 ?


Я только вот о нём узнал =))

мой самый популярный отладчик всех времён и народов - вывод сообщений в консоль - старо как мир, но универсально)

Автор:  mOleg [ Вт фев 27, 2018 15:38 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

diver писал(а):
Я только вот о нём узнал =))

жаль, потому что очень удобная вещь была. Да и сам СМАЛ32, имхо, получше СПФа.

diver писал(а):
мой самый популярный отладчик всех времён и народов - вывод сообщений в консоль - старо как мир, но универсально)

однако, это совсем не то.
Да и сравнивать вам не с чем, получается 8)

Автор:  diver [ Вт фев 27, 2018 19:12 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

отладчики? не-не слышал :P

Автор:  Hishnik [ Чт мар 01, 2018 17:15 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

Кстати об отладчике. Доступ к компилятору позволяет делать в Форте компиляцию call DEBUG после каждой команды (переключаемую). Опять же, атомарный характер команд делает процесс отладки более простым для организации, поскольку существует прямая связь между исходным текстом и скомпилированными фрагментами кода. Как это встроить в конкретный транслятор - уже другое дело, но сам механизм видится более простым. Словарь в системе делает ненужной специальную отладочную информацию (имена не теряются в процессе компиляции, а хранятся в системе).

Автор:  KPG [ Чт мар 01, 2018 17:27 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

Интересный вопрос, а кто нибудь использует механизм CREATE ... DOES> на этапе выполнения программы (например через слово EVALUATE) и в каких случаях. (может для большей параметризации слов словаря на этапе предварительной предкомпиляции?) и как это выглядит.

P.S. Надеюсь, мысль выражена не сильно коряво. :)
(т.е. гибкое порождение порождающих слов во время работы программы и возможно
последующий доступ к настраиваемым частям порождённого слова)

Автор:  diver [ Чт мар 01, 2018 17:52 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

Hishnik писал(а):
Кстати об отладчике. Доступ к компилятору позволяет делать в Форте компиляцию call DEBUG после каждой команды (переключаемую). Опять же, атомарный характер команд делает процесс отладки более простым для организации, поскольку существует прямая связь между исходным текстом и скомпилированными фрагментами кода. Как это встроить в конкретный транслятор - уже другое дело, но сам механизм видится более простым. Словарь в системе делает ненужной специальную отладочную информацию (имена не теряются в процессе компиляции, а хранятся в системе).

возможно...но лень)

Автор:  KPG [ Чт мар 01, 2018 22:05 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

Ещё Кратко о плюсах Форт
"Язык Форт предлагает вместо фиксированного набора порождающих понятий единый механизм порождения таких порожающих понятий." (Баранов, Ноздрунов "Язык Форт и его реализации")
Код:
Язык предоставляет максимальный доступ ко всем средствам его реализации и потоку исполнения "шитого" кода. Неделимые в остальных языках операции, например конструкция процедурного вызова, здесь разложены на элементарные составляющие, доступные программисту без какого-либо контроля (так, для упомянутой конструкции процедурного вызова доступно управление точкой возврата). Доступна и внутренняя структура каждого слова, семантика слов-определений как времени исполнения, так и времени компиляции. Сама форт-система постепенно расширяется по мере разработки... Здесь нет нерушимых правил. Сохраняется соответствие между исходным текстом и результирующим машинным кодом. Во главу поставлена простота, свобода и расширяемость. Отстутствие какого-либо контроля является еще одной характерной чертой языка Форт. Следствием такой неограниченной свободы видится то, что программирование на Форте представляется в гораздо большей степени искусством, чем на любом другом языке...


P.S. КОЛОДИН М.Ю. СИНТАКСИЧЕСКИЕ И СЕМАНТИЧЕСКИЕ ОСОБЕННОСТИ МЕТАСИСТЕМ.pdf

Автор:  mOleg [ Чт мар 01, 2018 22:53 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

кстати, при встрече понятия "метаязык" мне приходит на ум "недоязык". такие вот пироги.

И еще подумалось, что Форт- это анархия в мире программирования.
Уж не знаю, плюс это, или минус.

Автор:  vikt [ Ср апр 11, 2018 03:36 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

Код:
Итак, плюсы:
1. предельная простота реализации минимального рабочего ядра форт-системы,
2. как следствие легкий перенос с одной платформы на другую (см. eForth в качестве доказательства)

Недостатки:
1. очень много набросков и не проработанных систем (т.е. с ошибками, без документации, без примеров и т.п.)
2. знакомство с языком обычно начинается с написания своей(новой) системы при полном непонимании идей, механизмов, структуры языка, методики написания и отладки кода

Проблема решаема. Давно можно было бы написать предельно простую, разделенную на модули
(стек виртуальная машина и прочее) реализацию без ассемблеров и аппаратных привязок,
имеющее очень важное достоинство, не содержит ошибок.
eforth, реализованный на яве впихнут целиком в файл, в его структуре трудно разобраться,
не смотря на тщательнейшую документацию. По моему мало подходит для учебного форта.
Образ учебного форта должен обсуждаться.
Код:
плюсы:
3. низкий порог вхождения для начинающих программировать 
4. большая гибкость в реализации системы (начиная с методов адресной интерпретации то, что относим к ФВМ)

Недостатки:
3. достаточно высокий порог вхождения для знающих алгол-подобные языки (маинстрим)
4. небольшое количество обучающих материалов и реализованных проектов (success story)


3)
Это вооще вопиет о том, не изучайте форт вовсе
Изучайте скорее явускрипт и заработаете на хлеб насущный

4) Так никто не запрещает писать программы на форте, а не только форт реализовывать!

Автор:  mOleg [ Ср апр 11, 2018 19:44 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

vikt писал(а):
Код:
Итак, плюсы:
1. предельная простота реализации минимального рабочего ядра форт-системы,
2. как следствие легкий перенос с одной платформы на другую (см. eForth в качестве доказательства)

Недостатки:
1. очень много набросков и не проработанных систем (т.е. с ошибками, без документации, без примеров и т.п.)
2. знакомство с языком обычно начинается с написания своей(новой) системы при полном непонимании идей, механизмов, структуры языка, методики написания и отладки кода

Проблема решаема. Давно можно было бы написать предельно простую, разделенную на модули
(стек виртуальная машина и прочее) реализацию без ассемблеров и аппаратных привязок,
имеющее очень важное достоинство, не содержит ошибок.

если не на ассемблере, то на чем?
(то, про что говорится уже есть - СПФ (только оптимизатор все усложняет))

vikt писал(а):
eforth, реализованный на яве впихнут целиком в файл, в его структуре трудно разобраться,
не смотря на тщательнейшую документацию. По моему мало подходит для учебного форта.
Образ учебного форта должен обсуждаться

e-forth много на чем был реализован. Хотя, как форт он не очень интересен.
Однако, что значит учебный форт?
Что должно быть в нем в отличие от боевого форта, и как переходить с учебного на боевой?

vikt писал(а):
Код:
плюсы:
3. низкий порог вхождения для начинающих программировать 
4. большая гибкость в реализации системы (начиная с методов адресной интерпретации то, что относим к ФВМ)

Недостатки:
3. достаточно высокий порог вхождения для знающих алгол-подобные языки (маинстрим)
4. небольшое количество обучающих материалов и реализованных проектов (success story)


3)
Это вооще вопиет о том, не изучайте форт вовсе
Изучайте скорее явускрипт и заработаете на хлеб насущный

увы,
и что?
кроме того, все плюсы и минусы обсуждаемы и корректируемы.
Включайтесь в обсуждение в рабочем режиме! 8)

vikt писал(а):
4) Так никто не запрещает писать программы на форте, а не только форт реализовывать!

не запрещает.
И что? Неверный тезис? Или, таки, верный.

Автор:  Victor__v [ Чт апр 12, 2018 12:13 ]
Заголовок сообщения:  Re: О плюсах и минусах Форта

mOleg писал(а):
(то, про что говорится уже есть - СПФ (только оптимизатор все усложняет))


В СПФ-е, минимум, 2 архитектурных косяка.
Так что насчёт ошибок неверно.

Страница 2 из 4 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/