Сообщение от
Raydac
ну видишь, ты описал четко область где нужен Форт, но про Оберон написал расплывчато, так как на деле он "один из многих"
Хорошо, я напишу менее расплывчасто: Оберон не столько один из многих, как один из первых. А ещё - одна из самых стройных попыток обобщить и осмыслить достижения императивного программирования в маленьком языке, прививающем хороший стиль с самого начала.
Сообщение от
Smalovsky
Столько было шуму, а оказалось - программировать на нем неудобно и долго, врайт онли
Ну на самом деле он врайт онли не больше, чем ассемблер. В любом случае, как концепт - он очень интересен. Но смысл программировать на нём падает экспоненциально с умощнением платформы, на которой будет работать Форт-система.
Смотрите как можно на Форте (при соответствующих подключенных словарях):
Код:
ASMZ80 [BC] + [HL] => [HL] ; ( ld a,(bc): add (hl): ld (hl),a
<- и забыли про неэффективность стека как про страшный сон )
Сообщение от
vlad-kras
Как найти названия тех самых много конверсий есть с бейсика на оберон ?
Ещё есть форум для поддержки: https://zx.oberon.org/forum/
Однако, учитываем, что самые серьёзные игроделы за Оберон ещё не брались. Он им попросту не нужен, как и любой другой ЯВУ. Как и демо-мейкерам и прочим другим товарищам, не признающим ничего, кроме ассемблера.
Сообщение от
vlad-kras
Оберон - это же среда для кросс-разработки?
С XDev получилось так, что это нахальная попытка писать на Обероне для ретро, когда компиляторов в разные машкоды попросту нет. Но попытка успешная. Так что не будем её сбрасывать со счетов.
А ещё это живой проект, активно развивающийся в сторону разработки для разных ретро-платформ. Но - в основном усилиями одного человека, который, кстати, открыт к общению и сотрудничеству с заинтересованными лицами.
- - - Добавлено - - -
С другой стороны, смотрите как можно на Обероне:
Код:
MODULE TestCalc;
IMPORT b := Basic, c := CalcZX;
BEGIN (*$MAIN*)
b.Init;
c.PushWord(1000); (* 1000 *)
c.PushByte(24); (* 24 *)
c.Begin;
c.add; (* + *)
c.pi_div_2; (* PI/2 *)
c.duplicate; (* DUP *)
c.add; (* + *)
c.add; (* + *)
c.End;
b.PRSTR("1000 + 24 + PI = ");
c.Print_PopReal();
b.Quit
END TestCalc.
Это тоже машкод, вызывающий пятибайтный калькулятор Спека в ПЗУ, целевой код очень компактный.