вообщем, я хотел сказать, что бухи - вообще не суются в программирование, финансисты - не считают составление СВОЕГО "отчета" программированием, все это к тому, что нужно различать "пользователя" и "программиста" в ЛЮБОМ ПРОДУКТЕ... сейчас же мы говорим об окружении ДЛЯ ПРОГРАММИСТА, и "бухгалтера-финансисты", как пользователи, в этой теме - совершенно не показательны, как и трейдеры, которые не открывают метаэдитор... которым будет по-барабану "русский язык" или "НЕ русский"...
А ну теперь идея понятна. Могу привести в пример (уже) своих бывших колег. Они быстрее осваивают 1С-ку поскольку та на русском, почти что как пользователи.
yuripk>>: А сложно составить модуль, в котором через "дефайны" всё и определить? И будет программирование на русском или другом языке.
не сложно, вот код который компилится без ошибок
#define цикл for #define целое int #define Печать Printvoid OnStart(){
целое Сумма =0;
цикл (целое Номер = 0; Номер < 10; Номер++) Сумма += Номер;
Печать ( Сумма );}
Вопрос в том, что это: недоделанная багофича или уже так и останется? ведь может статься так, что у разработчиков когда нибудь дойдут руки до проверок и они решат запретить использовать в дефайнах зарезервированные слова :(
Вопрос в том, что это: недоделанная багофича или уже так и останется? ведь может статься так, что у разработчиков когда нибудь дойдут руки до проверок и они решат запретить использовать в дефайнах зарезервированные слова :(
Технически, дефайн - это набор неких токенов языка, подставляемых в процессе синтаксического разбора.
Запрещать какие либо токены или какой либо их набор не имеет смысла. Важно лишь одно, нельзя допустить переопределения оператора языка (if, for, return, ...). Сейчас думаем также исключить из списка возможных имён дефайнов "системные" функции языка.
Вопрос в том, что это: недоделанная багофича или уже так и останется? ведь может статься так, что у разработчиков когда нибудь дойдут руки до проверок и они решат запретить использовать в дефайнах зарезервированные слова :(
Если у них препроцессор работает по принципу сишного - то никаких проверок не появится.
Единственное что, что не уверен, что сишный препроцессор бы дал назначить макросу русское имя. :)
Технически, дефайн - это набор неких токенов языка, подставляемых в процессе синтаксического разбора.
Запрещать какие либо токены или какой либо их набор не имеет смысла. Важно лишь одно, нельзя допустить переопределения оператора языка (if, for, return, ...). Сейчас думаем также исключить из списка возможных имён дефайнов "системные" функции языка.
Вот выбрал из справки. Кто хочет - можно потестить ;)
// Типы данных #define логический bool #define символ char #define бзсимвол uchar #define короткий short #define бзкороткий ushort #define целый int #define бзцелый uint #define длинный long #define бздлинный ulong #define двойной double #define плавающий float #define цвет color #define датавремя datetime #define строка string #define перечисление enum #define структура struct #define класс class #define безтипа void // Спецификаторы доступа #define константа const #define личный private #define защищенный protected #define публичный public #define виртуальный virtual // Классы памяти #define внешний extern #define статический static #define ввод input // Операторы #define поумолчанию default #define размер sizeof #define новый new #define удалить delete #define если if #define иначе else #define выбор switch #define вариант case #define выполнить do #define пока while #define цикл for #define прервать break #define продолжить continue #define возврат return // Прочие #define ложь false #define этот this #define истина true
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
вообщем, я хотел сказать, что бухи - вообще не суются в программирование, финансисты - не считают составление СВОЕГО "отчета" программированием, все это к тому, что нужно различать "пользователя" и "программиста" в ЛЮБОМ ПРОДУКТЕ... сейчас же мы говорим об окружении ДЛЯ ПРОГРАММИСТА, и "бухгалтера-финансисты", как пользователи, в этой теме - совершенно не показательны, как и трейдеры, которые не открывают метаэдитор... которым будет по-барабану "русский язык" или "НЕ русский"...
А ну теперь идея понятна. Могу привести в пример (уже) своих бывших колег. Они быстрее осваивают 1С-ку поскольку та на русском, почти что как пользователи.А сложно составить модуль, в котором через "дефайны" всё и определить? И будет программирование на русском или другом языке.
не сложно, вот код который компилится без ошибок
Вопрос в том, что это: недоделанная багофича или уже так и останется? ведь может статься так, что у разработчиков когда нибудь дойдут руки до проверок и они решат запретить использовать в дефайнах зарезервированные слова :(
не сложно, вот код который компилится без ошибок
Вопрос в том, что это: недоделанная багофича или уже так и останется? ведь может статься так, что у разработчиков когда нибудь дойдут руки до проверок и они решат запретить использовать в дефайнах зарезервированные слова :(
Технически, дефайн - это набор неких токенов языка, подставляемых в процессе синтаксического разбора.
Запрещать какие либо токены или какой либо их набор не имеет смысла.
Важно лишь одно, нельзя допустить переопределения оператора языка (if, for, return, ...).
Сейчас думаем также исключить из списка возможных имён дефайнов "системные" функции языка.
не сложно, вот код который компилится без ошибок
Вопрос в том, что это: недоделанная багофича или уже так и останется? ведь может статься так, что у разработчиков когда нибудь дойдут руки до проверок и они решат запретить использовать в дефайнах зарезервированные слова :(
Если у них препроцессор работает по принципу сишного - то никаких проверок не появится.
Единственное что, что не уверен, что сишный препроцессор бы дал назначить макросу русское имя. :)
Важно лишь одно, нельзя допустить переопределения оператора языка (if, for, return, ...).
переопределять их конечно нельзя, но "переназвать" можно (в моем примере for переназвался циклом)
Технически, дефайн - это набор неких токенов языка, подставляемых в процессе синтаксического разбора.
Запрещать какие либо токены или какой либо их набор не имеет смысла.
Важно лишь одно, нельзя допустить переопределения оператора языка (if, for, return, ...).
Сейчас думаем также исключить из списка возможных имён дефайнов "системные" функции языка.
Запретить - то, что нашим гражданам привычно.
Запретить - то, что нашим гражданам привычно.Не понял к чему это....
так можно:
#define если "тут можно написать что угодно и это всё вставиться в код при встрече 'если'"
так нельзя:
#define if "нельзя ключевые слова переопределять - ошибка компиляции"
возможно так будет нельзя:#define Sleep "на данный момент так написать можно, но скорее всего это мы прикроем - будет ошибкой при компиляции"
Вот выбрал из справки. Кто хочет - можно потестить ;)
Вот выбрал из справки. Кто хочет - можно потестить ;)
А ещё это можно на mqh-шечку залить в инклюдничек поместить, а вызовочек из инклюдничка прописать сразу в шаблончик,
ну и над чем копья ломяться?