Привет всем! Сейчас я занимаюсь созданием Inform - подобной русской платформы, но не могу решить с синтаксисом.
Как лучше?
1 вариант.
Place:=TPlace.Create;
Place.west:=westPlace;
Place.name:= 'Гробница фараона';
Obj:=TObject.Create;
Obj.name:='Гроб';
Obj.moveable:=false;
Place.Add(Obj);
Т.е. объектно-ориентированная система, примерно как в Hydro. Как видите, всё легко, просто и понятно. Но... по-моему немного не то.
2 вариант. Несколько непривычный, основывающийся на командных скобках.
Мне кажется, он больше подходит для IF платформ, и проще и понятнее для новичков, и профи могут писать на нём гораздо быстрее.
place('Гробница фараона');
setprop('west','Западный проход');
object('Гроб');
setflag('недвижимый');
_object('Гроб');
_place('Гробница фараона');
Для тех кто не понял: командные скобки начинаются командой (например place), а кончаются командой с "_" впереди (_place). Всё, что внутри - относится к данному объекту или месту. Мне кажется, эта система намного удобнее и практичнее, нежели стандартная ООП. И писать намного меньше, и структура чёткая, в отличие от ненаглядного "TPlace.Add".
Но перед тем, как внедрять, решил спросить ваше мнение.
Какой вариант лучше?
Неактивен
Маленький совет, который, я думаю, поднимет популярность и распространенность твоей платформы до небес - сделай команды на русском языке (если доделаешь платформу)...
Неактивен
Спасибо за хинт, но русский язык в качестве команд - извращие. Ели язык и надо гробить, то лучше английский ;-) И потом, всем программистам так гораздо привычнее.
Ответь по существу, пожалуйста. Как лучше?
Неактивен
Для меня был бы удобнее первый вариант.
Неактивен
2MasterK. Твой ответ очень характерен для программиста. Я в работе использую макроязык, в котором команды на русском. Это и удобней и запоминается лучше. Так что это не извращение.
К тому же неплохо было бы ориентироваться как раз на непрограммистов. Множество людей не будут использовать твою платформу только потому, что нужно разучивать, по сути, новый язык программирования.
Неактивен
Ок. Ты прав. Но я как раз и ориентирую свою платформу в первую очередь на непрограммиста.
ИМХО для него второй вариант проще и понятнее. ООП конечно хорошо, я им каждый день пользуюсь, но постороннему человеку его будет трудно понять. А система с командными скобками, во-первых, очень похожа на Inform, а во-вторых имхо гораздо понятнее и удобнее для непрограммера, чем ООП. Как считаете?
Неактивен
Я вот посомтрел и мне сразу показался второй варинат гораздо проще и понятнее.Так ,что я думаю лучше второй вариант.И вообще не мог бы ты расказать о своей консоли по подробнее?И когда примерно она выйдет?
Неактивен
Вот, блин, опять всё против меня:)
Неактивен
Ну почему против тебя?Просто на самом деле 2 вариант гораздо понятнее не для программиста.
Неактивен
По-моему, 2ой вариант понятнее, чем 1ый. Но в 1ом задаются объекты, которые можно использовать потом, а 2ой вариант выглядит как описание. Думаю, синтаксис должен быть как во 2ом, а задание объектов - примерно, как в 1ом. Т.е. лучше их объединить в чём-то, имхо.
2Olegus: а платформа на русском есть и у меня, зайди на сайт, там в разделе "Инструменты", называется "Интерпретатор IFML"
Неактивен