Сообщение от
Destr
А вообще мне порой кажется что тебе, старина приплачивают за продвижение этого XDev
Просто инструмент хороший. Универсального применения. Но недооценённый. Но я вам покажу кузькину мать, т.е. как из него верёвки вьются. Да, жаль только, что кавычки выкусить препроцессором, похоже, нельзя. Поэтому придётся перекодировать команды асма в циферки ручками, и пока не знаю как сделать лучше этого:
Код:
MODULE TestAsm;
IMPORT Asm;
(* Set graph mode 320x200, 4 colors (CGA, EGA, VGA & SVGA) *)
PROCEDURE SetGraxMode* ;
BEGIN
Asm.Byte5(
0B8H, 4, 0, (* MOV AX, 0004H *)
0CDH, 10H (* INT 10H *)
);
END SetGraxMode;
(* Set text mode 80x25 *)
PROCEDURE SetTextMode* ;
BEGIN
Asm.Byte5(
0B8H, 3, 0, (* MOV AX, 0003H *)
0CDH, 10H (* INT 10H *)
);
END SetTextMode;
BEGIN (*$MAIN*)
SetGraxMode;
SetTextMode;
END TestAsm.
Eщё про миграцию языков скажу. Как я заметил, многие люди, пользуясь своей любовью к бейсику (похвально, и мне это счастье знакомо, только вот ZXDev будет покруче, чем MCoder2; притом практически во всём; что же изменилось, что тогда было счастье, а теперь его нет? ;-) ), иногда доходят от ZX-Basic даже до Monkey-X. Но парк бейсиков обширен и разномастен, допустим, если выстроить иерархию бейсик-языков, будет:
ZXBasic/Laser/MegaBasic -> GWbasic/QuickBasic/TurboBasic -> VisualBasic -> FreeBasic/PureBasic -> Blitz/Monkey-X
Можно такую же иерархию выстроить для Си:
Hisoft C -> Turbo C/Quick C -> Borland C++/Visual C++ -> GCC -> Objective C ?
Или Паскаля:
Hisoft Pascal -> Turbo Pascal -> Delphi -> FreePascal
Они не просто переносят одни и те же возможности из одной инкарнации в другую. Языки изменяются. Причём бейсики - больше всего. Также они усложняются, обростая деталями как снежным комом, но оставляя прикреплённость к платформе. Хотя, пожалуй, у FreePascal и GCC с этим всё хорошо, их устаревшесть и проблемы лежат в той плоскости, что подкапываются под саму их основу - их начинают заменять скриптовыми языками и виртуальными платформами, чётко отделяя мух от котлет - "опасный" натив от "безопасного управляемого кода" (ага! а в Обероне всё это есть с самого начала!), т.е. им как бы уже и нету места, в любом случае, удельный вес этих "старых" языков снижается (GCC на плаву во многом благодаря Linux'у; ObjC/LLVM - благодаря MacOS и "яблочным" технологиям). Оберон-языки особняком, но там удалось выстроить такую парадигму, что, выпуская новые диалекты с новыми возможностями, можно медленно мигрировать, уходя от устаревших опасных и ненужных возможностей. Парадигма "старых" Паскаля и Си не смогла избавиться ни от "опасного" кода, ни от рудиментов. Всё из тех же соображений совместимости.
Также заметим миграцию платформ. Со спека (8080 или CP/M) на дос, это если не считать Amiga, потом UNIX, виндоус и, наконец, уже мультиплатформа, но без гаджетов, потом - уже гаджеты и прочее, но старые платформы утеряны. XDev оставляет нам их, если уж нам так нужно. Но XDev построен на том же принципе, что и Monkey-X с его mojo. При всех недостатках - не нужно знать десяток языков и два десятка апи. Для инди-разработчика самый рай. Разве неинтересное направление? Уже всяко интереснее, чем просто на асме кодить ИМХО.