Forth
http://fforum.winglion.ru/

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

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

Хочу попытаться привести к общему знаменателю понимание того,
что является преимуществом а что недостатком Форта в кратком виде.

Итак, плюсы:
1. предельная простота реализации минимального рабочего ядра форт-системы,
2. как следствие легкий перенос с одной платформы на другую (см. eForth в качестве доказательства)
3. низкий порог вхождения для начинающих программировать
4. большая гибкость в реализации системы (начиная с методов адресной интерпретации то, что относим к ФВМ)
5. интерактивность и очень быстрая компиляция кода
6. легкая масштабируемость языка, позволяющая очень быстро создавать нужные механизмы, возможность полной перестройки форт-системы
7. полная открытость внутренностей форт-системы

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

Ну, вот, что пришло в голову, что называется, навскидку.
Прошу добавлять и поправлять в общем помогать.

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

Половина пунктов о недостатках относится к организационным вопросам. Это безотносительно языка, хотя редкий язык дает возможность "развлекаться", формулируя нереалистичные идеи и запросы.

И мне не кажется, что Форт мало известен. Есть ощущение, что известен он гораздо больше, чем распространен для практических целей. Например, много ли сейчас проектов на Прологе? Но язык сам по себе достаточно интересен, и с ним знакомятся просто как с нетривиальным языком, у которого надо изучить необычную концепцию программирования.

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

Hishnik писал(а):
И мне не кажется, что Форт мало известен. Есть ощущение, что известен он гораздо больше, чем распространен для практических целей. Например, много ли сейчас проектов на Прологе? Но язык сам по себе достаточно интересен, и с ним знакомятся просто как с нетривиальным языком, у которого надо изучить необычную концепцию программирования.

С Прологом и Лиспом ситуация в "академических" кругах, по моему. лучше чем с известностью Форта :)
Тем более Лисп "породил" кучу разных практических языков и методических материалов и учебников,
но Форт, в "массе", может быть кому то известен на каком то примитивно шаблонном понимании
и соответственно и возможности его использования в тех или иных вариантах.
Даже в упоминаемом Интуите его почти не найти и его описание желает быть лучше.

P.S. Достоинства и недостатки отранжированы по степени субъективной значимости?

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

mOleg писал(а):
5. назойливый, неуравновешенный пиар языка адептами.

Это каким "боком" к недостаткам языка относится? :)

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

Кому как.
Можно работать (и дорабатывать) подходящюю под свои задачи и выбирать по существующим программным решенияхм в определённой Форт системе (например Win32Forth) в сравнении, например, с SPF4.
Но да любительских "полуфабрикатов", остановившихся в реализации классического построения Форт системы с избытком.
mOleg писал(а):
7. защищенность (на всех уровнях)

Что под этим понимается?

P.S. По части рабочих Форт систем неизвестно кто и как их использует.
Например Ficl только для загрузчика в FreeBSD? А другие Форт системы?
Часть Форт систем без публичного размещения, с закрытой структурой и не поддерживаемые уже автором.

К Форту, типичная претензия, что он якобы только для индивидуальной записи программ разработчиком, но не для простого прочтения кем то другим.
Вероятность стать общим маинстрим языком за применение которого бы платили заказчики очень низкая.

Плюс масштабируемости ещё и в возможностях интеграции с существующими инструментальными средствами на рынке.

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

Hishnik писал(а):
Половина пунктов о недостатках относится к организационным вопросам.

добавляйте от себя плюсы и минусы!

KPG писал(а):
P.S. Достоинства и недостатки отранжированы по степени субъективной значимости?

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

KPG писал(а):
Это каким "боком" к недостаткам языка относится? :)

непосредственным. Слишком активный пиар наносит вред.

KPG писал(а):
mOleg писал(а):
7. защищенность (на всех уровнях)
Что под этим понимается?

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

diver писал(а):
ну блиииин...ну опять....ну уже же 100500 тем таких на форуме...

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

diver писал(а):
ну тем что ли мало?....

По большому счету тем обсуждения нет.
Не вижу в последние года 3 тем для обсуждения.

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

mOleg писал(а):
И, неужели, нечего больше добавить\отнять?

Пускай будет в качестве рабочего списка.

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

mOleg писал(а):
Hishnik писал(а):
Ну вот у меня два светодиода

и где плюсы и минусы сабжа?
Может отделить тему-то?
И, неужели, нечего больше добавить\отнять?


+ форта:
*он лёгкий в плане ресурсов на работу;
*он ппц, какой гибкий - "на форте можно написать всё, и вы будете всё писать"©л.торвальд (в переводе гоблина)
*финты ушами на форте проворачиватся раз в 5 короче, чем на Си
*ноу проблем с типами, от слова "совсем"
*эта милая романтика иметь процессор, у которого ассемблер приближается к языку высокого уровня

- форта:
*всех новых вот прям до потери пульса пугает стек (хотя он не причем, но тем не менее это так)
*нет библиотек (помним "..и вы будете всё писать")
*даже коммерческие форты выглядят как....запорожец (ушастый), продаваемый по цене мерседеса

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

Плюсы:
1. предельная простота реализации минимального рабочего ядра форт-системы,
*он лёгкий в плане ресурсов на работу;
2. как следствие легкий перенос с одной платформы на другую (см. eForth в качестве доказательства)
3. низкий порог вхождения для начинающих программировать
4. большая гибкость в реализации системы (начиная с методов адресной интерпретации то, что относим к ФВМ)
5. интерактивность и очень быстрая компиляция кода
6. легкая масштабируемость языка, позволяющая очень быстро создавать нужные механизмы, возможность полной перестройки форт-системы
*он ппц, какой гибкий - "на форте можно написать всё, и вы будете всё писать"©л.торвальд (в переводе гоблина)
7. полная открытость внутренностей форт-системы

из оригинального: романтичность 8)
и
Цитата:
*ноу проблем с типами, от слова "совсем"

отсутствие контроля типов (типа безтиповый)


Недостатки:
1. очень много набросков и не проработанных систем (т.е. с ошибками, без документации, без примеров и т.п.)
*нет библиотек (помним "..и вы будете всё писать")
2. знакомство с языком обычно начинается с написания своей(новой) системы при полном непонимании идей, механизмов, структуры языка, методики написания и отладки кода
3. достаточно высокий порог вхождения для знающих алгол-подобные языки (маинстрим)
4. небольшое количество обучающих материалов и реализованных проектов (success story)
5. назойливый, неуравновешенный пиар языка адептами
6. неторопливость работы (относительная)
7. защищенность (на всех уровнях)
8. неизвестность (на данный момент достаточно мало людей о нем знают и что-нибудь понимают)

я так понимаю, что
Цитата:
*всех новых вот прям до потери пульса пугает стек (хотя он не причем, но тем не менее это так)

это обратная сторона романтики 8)
реально же, просто не понимание причин применения стека 8(

Цитата:
*даже коммерческие форты выглядят как....запорожец (ушастый), продаваемый по цене мерседеса

а вот тут мне мало что сказать хочется.

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

про "пугающий стек" - это больше к 3му пункту минусов.

Романтичность - тут в контексте "язык, реализованный даже в железе - ну круто же!" - подобным может похвастаться разве что Лисп и отчасти Ява.

А про типы...это по мотивам вечного нытья Си компиляторов, когда они не могут присвоить инту байтовское значение, или наоборот.

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

и ещё + к романтике - "форт можно написать на форте"

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

mOleg писал(а):
3. низкий порог вхождения для начинающих программировать

mOleg писал(а):
3. достаточно высокий порог вхождения для знающих алгол-подобные языки (маинстрим)


Один плюс, второй - минус. В прямой формулировке не стыкуется.

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

Hishnik писал(а):
mOleg писал(а):
3. низкий порог вхождения для начинающих программировать

mOleg писал(а):
3. достаточно высокий порог вхождения для знающих алгол-подобные языки (маинстрим)


Один плюс, второй - минус. В прямой формулировке не стыкуется.

а вот тут нормально, на мой взгляд...человеку без опыта работы с другими языками форт освоить проще, чем тому кто какое то время практиковал "мейнстримовские языки".

на момент изучения мной форта у меня "за плечами" были только начала ассемблера (в рамках курса архитектура эвм и работы с УМК-шкой) и Фортран, на котором я писал исключительно в обнимку с книжкой Мудрова.
Товарищам с несколько бОльшей базой в виде знания Паскаля и Си было несколько сложнее.

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

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

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

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

да, пожалуй, так...

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

Hishnik писал(а):
Напрашивается расшифровка.

Возможно к каждому пункту потребуется расшифровка, однако, для начала хотелось бы их определить.

Конкретно, сама постфиксная запись не является проблемой, но требует умения грамотно дробить код на более мелкие куски. Маинстримные программисты развращены отладчиками и вычислительной моделью, позволяющей писать код, не вмещающийся, часто, в 50 экранов - это одна фукнция!!! С таким подходом рабочий код я видел только в СМАЛ32, но в нем таки есть вполне удачный отладчик. И если в Сях такой код ужасающе сложно сопровождать, то в Форте его просто не реально написать. И, лично я, не считаю это проблемой, т.к. убежден, что внутри одной функции более нескольких ветвлений (не считая однородные CASE) быть не должно.

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