Просмотр полной версии : FORTH vs компилятор бейсика vs C++/Pascal/остальное
Но если ПЛИС, то там всё эмулированное.
ПЛИС -- это не эмуляция а честное железо. Просто конфигурируемое.
И, кстати, RISC 5 и Виртовский RISC V это совершенно разные архитектуры и системы команд.
Наоборот. RISC 5 -- это Вирт, а RISC V -- это творение старцев из Беркли.
Но, кстати, спецы говорили, что не так сложно портировать прошивку со Spartan 3 на какие-то другие FPGA.
Если написана в соответсвии с правилами, без грязных хаков, то можно.
Lethargeek
11.08.2022, 17:06
И как это поможет, если между первой и второй процедурами может быть двадцать разных "слов", включая условные переходы и не известно даже, попадет результат первой на вход второй или нет.
да хоть двести слов, когда параметры для второй это именованные объекты и передаются они по имени
Не. Не работает. Illegal type conversion. Фрипаскаль. Турбопаскаль 3.3 для MSX - тожсамое.
это вроде давится через опции, но даже если нет, то сработает
var s:string; z:integer absolute s; ... A(z);
По факту - никакущий редактор, совершенно идиотская работа с файлами исходников,
это лишь особенности конкретных версий, причём даже в них никто не мешает подключить более удобный редактор или файловый интерфейс
проблема только в объёме свободной памяти, но это проблема самой платформы, причём вероятнее с фортом свободной больше останется
а что подразумевается под "мониторинг и поиск" - непонятно,
а что под этим может подразумеваться в данном контексте? поиск в памяти, отслеживание состояния памяти
ибо и то и другое отсутствует напрочь, как и дебагер, хотябы на уровне древнего MONS.
ну что ты, R Tape loading error, такое несёшь :v2_dizzy_facepalm: когда в руках полноценный скриптовый язык, с которым можно в диалоговом режиме проделать всё
например, не тупо блок копирнуть, как только и может убогий монс, но копирнуть его с проверками, заменами и пропусками, втч автоматически по условию
А можно, плиз, аналог директивы ifused, которая есть даже в нативных спековских асмах, чтобы компилялся только тот код, который реально используется? Что нету? Понятно, в наличии только свистоперделки.. Зато мощные.
децкий сад какой-то, элементарно же
-FIND name [IF] ... [ELSE] ... [THEN]
при отсутствии легко самому добавить аналог [IF] (это просто холостой парсинг до [ELSE]/[THEN])
inozemcew
11.08.2022, 17:25
это IDE, написанные на них самих, работающие под операционкой, а не на "голом железе".
Нормальная среда для разработки. Ну, и чем это хуже убогой консольки форта, где шаг вправо, шаг влево - ресет, прыжок на месте - зависание?
И потом, форт не работает на "голом железе". Ему также, для ввода с клавы, вывода на экран и операций с внешними накопителями нужна поддержка ОСи, биоса, или чего там есть в наличии. Примерно также, как и для "турбо"-ИДЕ или даже больше. Потому как, например, борландовский ТурбоПаскаль 6й версии не требует от ОСи поддержки вывода на экран, а работает на "голом железе" видеокарты. Только вряд ли такую близость к железу можно записать в его достоинства, скорее в недостатки убогой МС-ДОС.
а как по-другому?
Ну, хотя бы так:
Наиболее полезна директива IFUSED, которая позволяет создавать библиотеки подпрограмм в исходных ассемблерных текстах, так что из всей библиотеки скомпилированы будут лишь те подпрограммы, к которым осуществлялось обращение.
Например, пусть файл library содержит следующий текст:
IFUSED Subrout1
Subrout1 ld hl,0
ret
END
IFUSED Subrout2
Subrout2 ld bc,0
call Subrout3
ret
END
IFUSED Subrout3
Subrout3 ld de,0
ret
END
Тогда ассемблирование следующей программы:
Start call Subrout1:ret
include "library"
приведет к тому, что скомпилирована будет лишь Subrout1, а ассемблирование
Start call Subrout2:ret
include "library"
приведет к включению подпрограмм Subrout2 и Subrout3.
"коньком FORTH 'а являются адвентюры и здесь появляется возможность работать прямо в пультовом режиме языка"
вот вам и адвентюра на форте "Adventure A: Planet of Death"
https://spectrumcomputing.co.uk/entry/5913/ZX-Spectrum/Adventure_A_Planet_of_Death
inozemcew
11.08.2022, 19:04
да хоть двести слов, когда параметры для второй это именованные объекты и передаются они по имени
Как по имени передать результат одной процедуры во входные параметры другой? Как сделать проверку в элементарном вызове
A(B(x))? Каждый раз заводить промежуточную переменную? Спасибо, даром не надо.
это вроде давится через опции, но даже если нет, то сработает
Не сработает, absolute - борландовское расширение.
Самому не смешно? Чтобы доказать, что в паскале нет проверки ссылочных типов, приходится мудрить с опциями и надеяться на борландовские расширения, которых нет в классическом паскале.
руках полноценный скриптовый язык, с которым можно в диалоговом режиме проделать всё
Ключевое слово здесь "можно". Теоретически можно, а на практике это "можно" превращается в секс в гамаке стоя на лыжах. Причем, заметим, что это "можно" - всегда работает только в отдельных частных случаях, при соблюдении неких обязательных условий, и почти никогда не решают проблемы системно, а только через кучу постылей и подпорок, которая с грохотом падает от малейшего чиха.
это лишь особенности конкретных версий,
Окей, продемонстрируйте другие версии, с более лучшими особенностями. Не обязательно под спек, под любые Z80-based машинки будет норм. Сравним с нормальными языками и средами.
децкий сад какой-то, элементарно же
Ага, децкий сад, но не работает. Не надо искать, определено "слово" или нет, надо проверить, что оно БУДЕТ ИСПОЛЬЗОВАНО, и только тогда его компилять. ZASM это умеет. Еще куча ассемблеров тоже. Форт похоже тут курит бамбук со своими мощами.
- - - Добавлено - - -
вот вам и адвентюра на форте "Adventure A: Planet of Death"
Беглый осмотр кода показывает, что никаким фортом там не пахнет.
Беглый осмотр кода показывает, что никаким фортом там не пахнет.
а что там должно быть (специфичное для форта) ?
inozemcew
11.08.2022, 19:25
а что там должно быть (специфичное для форта) ?
Словарь, шитый код, типичные фортовые процедурки.
И потом, игруха 1982 года, порт с ZX81, под 16к ну какой там может быть форт?
игруха 1982 года, порт с ZX81, под 16к ну какой там может быть форт?
https://spectrumcomputing.co.uk/SCRtoImage.php?SCR=/conv_scr/s/SpectrumForth.scr&border=0
Вот кстати тоже (https://github.com/ramenengine/RamenEngine) Только за SwiftForth надо 100 с лишком бакинских выложить, чтобы посмотреть, что можно делать в нем.
"коньком FORTH 'а являются адвентюры и здесь появляется возможность работать прямо в пультовом режиме языка"
вот вам и адвентюра на форте "Adventure A: Planet of Death"
https://spectrumcomputing.co.uk/entry/5913/ZX-Spectrum/Adventure_A_Planet_of_Death
ты уверен что эта игра написана на Форт?
бегло глянув нашёл такие-же процедуры в форте (автор тот-же) вот и решил
inozemcew
12.08.2022, 00:45
goodboy,
Этот точно быть не может. Даже чисто математически. 32470 bytes free - 32768 bytes (которых нет в 16к спеке) = даже без игры этот форт не помещается в 16к машинку.
Lethargeek
12.08.2022, 16:57
Как по имени передать результат одной процедуры во входные параметры другой? Как сделать проверку в элементарном вызове A(B(x))
Да как обычно - immediate часть запустится при компиляции, пропарсит входной поток на имена параметров со всеми нужными ей проверками, скомпилирует выкладку их в стек и вызов скрытой вычислительной части. Разумеется, все параметры (включая функции) должны быть образованы от базового объекта.
Не сработает, absolute - борландовское расширение.
сам же дал ссылку на фрипаскаль, и там работает
Самому не смешно? Чтобы доказать, что в паскале нет проверки ссылочных типов, приходится мудрить с опциями и надеяться на борландовские расширения, которых нет в классическом паскале.
нет, это автору функции надо верить и надеяться, что её не будут прикручивать к паскалям с подобными расширениями))
Ключевое слово здесь "можно". Теоретически можно, а на практике это "можно" превращается в секс в гамаке стоя на лыжах. Причем, заметим, что это "можно" - всегда работает только в отдельных частных случаях, при соблюдении неких обязательных условий, и почти никогда не решают проблемы системно, а только через кучу постылей и подпорок, которая с грохотом падает от малейшего чиха.
теоретически "работает только в отдельных частных случаях, при соблюдении неких обязательных условий"...
теоретически "почти никогда не решают проблемы системно, а только через кучу постылей и подпорок, которая с грохотом падает от малейшего чиха"...
...а практически как всегда: кто не хочет - ищет причины, кто хочет - делает: однократно пишет себе либы по мере надобности и дальше многократно использует (а не ждёт, пока прохвесор переделает компилятор))
Окей, продемонстрируйте другие версии, с более лучшими особенностями. Не обязательно под спек, под любые Z80-based машинки будет норм. Сравним с нормальными языками и средами.
именно под спек например https://github.com/programandala-net/solo-forth
но "под" слабую платформу все нативные средства разработки будут каличные
хотя в связке с более мощными машинами еще ладно
Ага, децкий сад, но не работает. Не надо искать, определено "слово" или нет, надо проверить, что оно БУДЕТ ИСПОЛЬЗОВАНО, и только тогда его компилять.
во-1, МОЖЕТ БЫТЬ использовано (поскольку достижимость не проверяется)
во-2, сработает, если ранее на то имя скомпилирована заглушка
в-3, а оно вообще-то надо именно так? в том же soloforth свой, с виду более удобный способ (need tool)
ZASM это умеет. Еще куча ассемблеров тоже. Форт похоже тут курит бамбук со своими мощами.
хз что там в остальной куче, но ZASM его как следует не умеет, и приходится искать укуренные решения: http://zxpress.ru/zxnet/code.zx/999
Oleg N. Cher
12.08.2022, 17:18
кто хочет - делает: однократно пишет себе либы по мере надобности и дальше многократно используетИ дальше многократно страдает, поддерживая все эти библиотеки на корявом опасном языке.
(а не ждёт, пока прохвесор переделает компилятор))Так сам переделай компелятор. Зачем тебе прохвесор. Это будет намного проще, чем пытаться понять, что делает пол-простыни кода на Форте.
Smalovsky
13.08.2022, 00:19
Вообще, мое мнение, у форта была в большей степени искусственая популярность. Была волна популяризации и даже, в какой-то степени, пропаганды. Море книг было по форту. Много фортом увлекались. Однако, это волна сошла. Форт был успешен только во время зачаточного развития ЭВМ. Когда компьютеры стали мощнее и программы сложнее, то от форта отказались. Возможно, от форта отказались даже раньше.
Думаю, форт продвигали люди с особым складом ума и состоянием сознания, которые тащились от польской нотации и непохожести форта на другие языки. Эти люди в то время занимали непоследнее место в компьютерном мире, и они сформировали кратковременную популярность форта. Жалко тех людей, которые повелись на это. Но вообще, большинство людей, познакомившись с фортом, теряют к нему интерес. И это нормальная реация на форт людей со здоровой психикой.
Фортом увлекаются люди с измененным сознанием и иным умом. Не стоит им подражать и вестись на их рекламу форта.
OCaml нормальный язык? Безопасный? Только сколько времени придется убить и все мозги себе затрахать, чтобы написать первую более или менее программу. Да и тяжеловес по генерации кода, а по скорости сравнивают уже не с ассемблером, а с С/C++
Можно и про китайский такое сказать "увлекаются люди с измененным сознанием и иным умом" Покойный и небезысвестный спектрумистам Иван Макарченко Фортом увлекался и форум создал, который до сих пор живет.
А ZxSpectrum не сильно изменился по сравнению с IBM PC, так что аргумент про усложнение архитектур и многократно возросшие мощности работает весьма относительно, особенно при отсутствии мощных, специализированных и простых в использовании IDE и инструментов. А желательно еще и интеллектуальных.
И потом.
Кому-то интересно продвигать продвинутое, а кому-то слабопродвинутое. Если речь идет о "писателях", а не "читателях". Есть еще FALSE Languаge. Тоже может быть применен к z80 и 8080.
inozemcew
13.08.2022, 21:41
immediate часть запустится при компиляции, пропарсит входной поток
По факту получится вложеный компилятор с другого языка. Почему бы тогда просто не взять нормальный компилятор для нормального языка?
сам же дал ссылку на фрипаскаль, и там работает
Могу дать ссылку на стандарт (http://www.standardpascaline.org/iso7185rules.html). Там работать не будет.
именно под спек например https://github.com/programandala-net/solo-forth
Посмотрел. Это просто трындец. Это просто не юзабельно от слова совсем. После этого какой-нибудь древний gens или hisoft паскаль - вершины юзер-френдли.
во-1, МОЖЕТ БЫТЬ использовано (поскольку достижимость не проверяется)
во-2, сработает, если ранее на то имя скомпилирована заглушка
в-3, а оно вообще-то надо именно так? в том же soloforth свой, с виду более удобный способ (need tool)
Во-1 важен результат - не используемый код не присутствует в конечной программе.
Во-2 сколько времени займет компиляние этих всех заглушек, и кто потом будет удалять неиспользуемые.
В-3 это работает быстро и не отжирает память. А не так need из soloforth, который ползает со скоростью убитой улитки. На реальном спеке этим просто невозможно пользоваться.
ZASM его как следует не умеет, и приходится искать укуренные решения:
Ну почему, решение как раз в стиле форта - куча неочевидных условий, чтобы оно работало приблизительно как надо.
Lethargeek
05.09.2022, 13:43
А зачем? Ну и да, если надо, то могу. Я упоминал про асм-вставки и кодовые процедуры.
ну то есть в итоге безопасный оберон не справляется и приходится небезопасно ассемблерить :v2_dizzy_turn:
Так вот. Оберон-система позволяет сгенерировать текст модуля "на лету", тут же его скомпилировать, загрузить и выполнить.
хде, на спектрумах? это даже на взрослых машина долго получится и памяти потребует еще сколько?
что противоречит основной причине применения таких приёмчиков - экономии
Это ты просто хитрожопое условие поставил: "не на уровне загрузки модулей".
не "хитрожопое", а ключевое для успешных применений на восьмибитках
А в Обероне код размещается в модулях.
и потому он для слабых восьмибиток малопригоден :p
Но если тебе ехать надо далеко, то пуп развяжется педали крутить
мы на спектруме, тут никто уже далеко не едет
Сравнил. У Мура была всратая утилитка для управления телескопом из консоли. А у Вирта полноценная ОС с графическим интерфейсом, поддержкой мыши-клавы, файловой системой, семафорами, потоками и прочим. И ещё куча приложений а-ля графический редактор. Конечно у Мура вышло минимальнее.
шта? где логика? каким образом меньшие ограничения мешают минимизировать? :v2_wacko:
Но Форт легче только в реализации, а не в работе на нём. Простота Форта уродственна. Простота должна быть такой, как в Обероне.
так даже сам Вирт не понимает, как должно быть - то он выкинет из оберонов что-нибудь, то вернёт :v2_unsur:
Да, Вирт, как минимум, участвовал в работе комитета по стандартизации Algol-60 и разработал сам Algol-W. В Algol-68 его не позвали. Фортран и Лисп были до Паскаля. Си, впрочем, тоже наверно появился раньше. Но современные языки напичканы идеями из Паскаля, Модулы и Оберона, только скобки сишные
и какими же? чтоб до этого в других не встречались? а то явно на паскаль походит только всратый structured text
Ну так сними его. Но зато он уместен при поездке на мотоцикле, и его надо просто взять с полки готовый, а не клеить из бумаги и слюней
проблема в том, что "ради безопасности" снять его можно только вместе с головой (угу, асм-вставки)
а поклеить можно много разных заранее из чего хочешь - и потом носить или НЕ носить
Такое - ну ооочень редко нужно.
аж так редко, что сейчас в каждом утюге по jit-компилятору, а смежную задачу предсказания ветвлений и вовсе решают аппаратно
Уверен, что если бы для ретроплатформ можно было клепать мощные игрушки на языках высокого уровня, то на асме этого бы никто не делал. Просто деваться некуда.
"мощные" сравнительно с чем? на любой платформе доступ к железу без посредников заведомо эффективнее
а просто играбельные аркады на яву на ретроплатформах вполне возможны при опять же в достаточной поддержке железа
как пример - атари с тормозным бейсиком, чуть ли не самым медленным среди всех распространённых восьмибиток
но из него был удобный доступ к возможностям железа - аппаратным спрайтам, видеорежимам, эффектам
и как следствие динамичных игр на бейсике там хватает
И дальше многократно страдает, поддерживая все эти библиотеки на корявом опасном языке.
для кого поддерживать и зачем, если при отладочных средствах форта и прямых руках сразу норм :v2_dizzy_roll:
Так сам переделай компелятор. Зачем тебе прохвесор. Это будет намного проще, чем пытаться понять, что делает пол-простыни кода на Форте.
если ты на форте увидел простыню, этот код заведомо хреновый и написанный новичком, испорченным "нормальными" языками
не стоит тратить время в этом копаться, лучше поискать нормальный код нормального фортера
- - - Добавлено - - -
По факту получится вложеный компилятор с другого языка. Почему бы тогда просто не взять нормальный компилятор для нормального языка?
повнимательней, ответ на этот вопрос уже был дан выше - с тем, что все его удобные возможности сохраняются
Могу дать ссылку на стандарт. Там работать не будет.
могу повторить про важность веры и надежды для паскалиста :D
Посмотрел. Это просто трындец. Это просто не юзабельно от слова совсем. После этого какой-нибудь древний gens или hisoft паскаль - вершины юзер-френдли.
ниачом, что конкретно лучше/хуже чего и чем?
Во-1 важен результат - не используемый код не присутствует в конечной программе.
использовать "в тексте" и "при выполнении" - вещи разные
Во-2 сколько времени займет компиляние этих всех заглушек,
как обычно занимает компиляние стандартного заголовка (немного то есть)
так ведь и добавление в ассемблерный исходник метки удлинит время компиляции
и кто потом будет удалять неиспользуемые.
а откуда бы им взяться, ведь сам добавил - значит, сам планируешь их использовать
В-3 это работает быстро
всё оттуда же:
Работает *ОЧЕHЬ* *медленно*.
и не отжирает память.
это как? инклуды и таблица меток память не жрут? :v2_wacko:
А не так need из soloforth, который ползает со скоростью убитой улитки. На реальном спеке этим просто невозможно пользоваться.
индекс догадался включить хотя бы? и ничего, что в данном случае он ползал по исходнику размером около 700 кб? да что из "дружелюбного" на реальном спеке вообще способно столько переварить, и за какое время, если способно? ну, то есть, хотя бы как нарезку из кучи файлов из-за ограниченности тырдоса (это к вопросу о "недружелюбности" блочной файловой системы форта)
Ну почему, решение как раз в стиле форта - куча неочевидных условий, чтобы оно работало приблизительно как надо.
вот только почему-то как раз на форте такого не требуется, а на дружелюбных асмах зачем-то нужно)))
а причина в том, что костыльны сами директивы типа ifused, и потому для их поддержки нужны уже эти костыли второго порядка :v2_sick:
Oleg N. Cher
05.09.2022, 16:47
безопасный оберон не справляется и приходится небезопасно ассемблерить :v2_dizzy_turn:Это общепринятая практика - писать часть рантайма ЯВУ на асме, не говоря уже о библиотеках, где требуется высокая эффективность. Особенно это актуально для более слабых платформ. Так что это не проблема Оберона. Я думал, ты это понимаешь. Нет? Печалька.
хде, на спектрумах? это даже на взрослых машина долго получится и памяти потребует еще сколько?И на Спектрумах тоже, ничто принципиально не мешает использовать подгрузку, распихивание в страницы 128К+, только на Спеке всё будет не так удобно, чем на мощных платформах.
что противоречит основной причине применения таких приёмчиков - экономииВот именно, что это даёт экономию в некоторых случаях. Не зря был придуман приём с виртуальной памятью и dynamic link libraries. Сейчас это общепринятая практика.
не "хитрожопое", а ключевое для успешных применений на восьмибиткахНет, не ключевое, а именно хитрожопое. Если в языке единица работы с кодом это модуль, а ты сформулировал вопрос так, чтобы было не на уровне модуля.
и потому он для слабых восьмибиток малопригоден :pНе поэтому. Оверхед от модулей практически нулевой. Просто так в голове удобнее всё раскладывать по полочкам. А не кучей как в Форте.
мы на спектруме, тут никто уже далеко не едетТут каждый едет куда может и хочет.
шта? где логика? каким образом меньшие ограничения мешают минимизировать? :v2_wacko:Я бы сказал, что в Форте не меньше ограничений, а больше. Уж для мозгов программиста - так точно.
так даже сам Вирт не понимает, как должно быть - то он выкинет из оберонов что-нибудь, то вернёт :v2_unsur:Просто Вирт не вырезал описание единого для всех и всего языка на скале на миллионы веков, а не считает зазорным адаптировать язык по необходимости к задачам, на нём решаемым, что есть правильно.
и какими же? чтоб до этого в других не встречались? а то явно на паскаль походит только всратый structured textДа массой. Уход от GOTO, структурность, некоторые элементы модульности, рекурсия, ссылочная передача параметров. Я не буду утверждать, что всё придумал именно Вирт, оно тогда витало в воздухе. Но многое - уж точно.
проблема в том, что "ради безопасности" снять его можно только вместе с головой (угу, асм-вставки)Ты не поверишь, раз уж тебя не получилось убедить, что ездить на мотоцикле в шлеме куда лучше, чем без, ты же у нас крутой кулхацкер, зачем тебе. Но асм-вставки я в Обероне не практикую даже для Спека. Это компромиссная мера - то, о чём просили меня юзеры XDev. Я практикую асмовые реализации отдельных процедур, вынесенные в библиотеки. Там спускаешься на уровень ниже, к коду. Так всегда делают. И везде. Ты ничего другого не придумаешь. И тебе бы мой код не понравился, а мне твой.
для кого поддерживать и зачем, если при отладочных средствах форта и прямых руках сразу норм :v2_dizzy_roll:Ну может при прямых руках, но при ущемлённом самолюбии и кривых вывернутых мозгах, чур меня, ну нафиг.
если ты на форте увидел простыню, этот код заведомо хреновый и написанный новичком, испорченным "нормальными" языками
не стоит тратить время в этом копаться, лучше поискать нормальный код нормального фортераНе, лучше не искать нормальный код нормального фортера, эта задача бесполезна. Даже короткие слова приходится в уме мучительно распаковывать. А на Обероне я сразу пишу то, что думаю.
В общем, в сухом остатке:
Для больших и сложных проектов Оберон подходит, Форт нет.
Для впихивания системы и транслятора в 2 Кб Форт подходит, Оберон нет.
Для низкоуровневых применений в ограниченных условиях Форт подходит (с оговорками - если нет ограничений на шитый код, критичность по скорости и т.д.), Оберон подходит хуже - просто увеличится количество машкодовых процедур и/или асм-вставок.
Для высокоуровневого проектирования Оберон подходит идеально, Форт с огромными оговорками (надо делать новые абстракции).
Для безопасного программирования Оберон даёт средства изоляции опасного кода от безопасного. Форт опасен весь и полностью, даже на безобидном на первый взгляд коде.
DemonId7
22.10.2022, 18:17
Не любитель лезть в холивары, поскольку каждый язык хорош по своему :) Тем не менее, внесу свои пару копеек.
Да, покажите игру на Форте, раз он так уж хорош. Не обязательно для Спека. Для любой платформы. Только чтобы в исходниках.Не вопрос (https://forum.sources.ru/index.php?showtopic=416359) :) Хотя я не сторонник Форта, пользовался им лишь несколько раз, о чем и упомянул в той статье.
Думаю, форт продвигали люди с особым складом ума и состоянием сознания, которые тащились от польской нотации и непохожести форта на другие языки. Эти люди в то время занимали непоследнее место в компьютерном мире, и они сформировали кратковременную популярность форта. Жалко тех людей, которые повелись на это.Вас ведь не удивляет, что у каждого языка есть свои фанаты? Холивары между пасклявистами и синяками (а позднее между дельфистами и плюсовиками) - это были самые масштабные батлы на любом форуме программистов :) Так что Вас удивляет в наличии фанатов Форта? При чем здесь какой-то склад ума? Выбор языка зависит скорее от окружения, то есть от решаемых задач. Я вот долго писал на ассемблере, затем освоил Паскаль и Си. Но, как только коснулось программировать под i8080, то ,быстренько освоил и написал несколько программ на PL/М-80, как наиболее подходящем под CP/M. Но это ведь не значит, что у меня особый склад ума (пэлээмнутый)?
Фортом увлекаются люди с измененным сознанием и иным умом. Не стоит им подражать и вестись на их рекламу форта.Скорее Форт актуален для небольшого количества задач, поэтому и не получил широкого распространения. В момент своего рождения Форт считался наиболее подходящим языком для управления железом. Есть вполне себе наглядный пример. Помнится были исследования, ЕМНИП "Титаника" (могу уточнить конечно, но не суть важно). Там использовалось аж три языка: Си для интерфейса, ассемблер не помню для чего, а вот для управления подводным дроном использовалась программа на Форте. Помимо этого на производстве были станки, под управлением Форта. А впоследствии даже выпускали специальный Форт-процессор, для которого родным языком был не ассемблер, а Форт. Все эти примеры говорят лишь о том, что ниша Форта заключалась в управлении железом, из-за его компактного размера и относительно высокого уровня программирования. Сегодня памяти в железках много, что позволяет программировать на более комфортных языках, потому Форт и отмер. Как и другие узкоспециализированные языки.
На сегодня Форт можно использовать пожалуй только в целях защиты кода. Для остальных задач есть куда более удобные инструменты.
У нас в конторе был долгоиграющий проект на МСУВТ В7 с использованием PL/M-80, на котором 3 человека писали САУ установкой бестигельной зонной плавки для выращивания монокристаллов кремния по методу Чохральского. FORTH-80 они не выбрали. Наверное потому, что его в составе операционки ISIS-ii не было. А может быть оттого, что в той команде были две девушки и один предпенсионер. То есть PL/M-80 ну очень простой язык, но по сравнению с ассемблером сильно упрощающий жизнь команде разработчиков( не надо долго договариваться об интерфейсах между модулями и процедурами и особенно содержащимися в библиотеках). Недостаток по сравнению с С - отстутствие "плавучки" и поэтому ведущему программисту - предпенсионеру приходилось сильно пыхтеть с целочисленной математикой. В системе был "телевизионный"датчик для снятия геометрических параметров "картинки"- зоны расплава. Но обошлись!
Бездислокационный кремний диаметром 60 мм варился в полностью автоматическом многочасовом режиме. Тут правда надо отдать должное и качеству МСУВТ В7, которые в режиме "троирования" использовались в СССР для управления атомными станциями. Ну соответственно и надежность PL/M-80 и RMX-80. Это был простой, надежный, "прозрачный", и 100% безвирусный софт
Паскаль и Си кстати тоже не входили в комплект поставки ISIS-II для комплексов КРАМ. Хотя потом перетащили и адаптировали какие-то версии с CP/M-80 разработчики из ВНИИЭМ. А вот FORTRAN-80 входил и обычный, и под RMX-80!
Спор об актуальности тех или иных языков на сегодня не актуален :)
Сохранившиеся прошли естественный отбор и доказали свою состоятельность.
В умелых руках и для своего круга задач с известными разработчику(ам) целями можно использовать, что угодно( за исключением BF или FALSE L и других "прикольных" языков).
С и С++ это максимально переносимые языки. Но и в этом деле они давно не "чемпионы".
Вообщем завязывайте!
Вы кромку дрелью не снимете, И отверстия фрезером бить-то не шибко удобно....
А так-то каждому своё.. И каждый язык имеет право на своё существование... Иногда в рамках... Иногда сам по себе... Вне рамках заданной платформы....
примечательно что тему создали в разделе для ZX, а конкретики по применению именно на нём - ноль.
(все только трепать языком горазды)
Из конкретики я бы посмотрел на PL/Z если у кого есть. Это "мифический", расширенный до возможностей z80 PL/M-80. "Мифический" потому, что за 40 лет ни у кого его так и не нашлось. А "ноги вроде растут" от машинок из ГДР на U880A.
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot