Отзыв о MQL5 - страница 7

 
Renat Fatkhullin:

Описание правил стилизатора нельзя уложить в несколько строк художественного текста.

Он форматирует так, как заложено нами.

Здравствуйте!

То, что стилизатор форматирует только так, как заложено вами и никак иначе - несколько странно. Поясню.

МТ - платформа под виндовс. Основное средство разработки под виндовс - MSVC, MT написан на MFC. В этой библиотеке в качестве стандарта отступов и форматирования принят вариант стандарта Kernighan and Ritchie. Поэтому человеку, всю жизнь просидевшему в MSVC (а таких под виндовс большинство) видеть 3 пробела в качестве таба и ещё 2 лишних пробела перед "{", а также отсутствие пробела между стейтментами (if, for...) и последующей скобкой - несколько диковато и мешает чтению кода. Я понимаю, у вас такой формат принят в качестве корп. стандарта, но это не распространяется на других разработчиков.

Поэтому я предлагаю ввести несколько параметров настройки стилизатора, все скажут очень большое спасибо.

 
SeriousRacoon:

Здравствуйте!

То, что стилизатор форматирует только так, как заложено вами и никак иначе - несколько странно. Поясню.

МТ - платформа под виндовс. Основное средство разработки под виндовс - MSVC, MT написан на MFC. В этой библиотеке в качестве стандарта отступов и форматирования принят вариант стандарта Kernighan and Ritchie. Поэтому человеку, всю жизнь просидевшему в MSVC (а таких под виндовс большинство) видеть 3 пробела в качестве таба и ещё 2 лишних пробела перед "{", а также отсутствие пробела между стейтментами (if, for...) и последующей скобкой - несколько диковато и мешает чтению кода. Я понимаю, у вас такой формат принят в качестве корп. стандарта, но это не распространяется на других разработчиков.

Поэтому я предлагаю ввести несколько параметров настройки стилизатора, все скажут очень большое спасибо.

Небольшая поправка, у Microsoft codestyle не является стандартом K&R. В стандарте K&R в основном отличие с фигурными скобками, он рассчитан на то, чтобы уместить как можно больше строк на экране PDP-11 и прочих алфавитно-цифровых дисплеев - 80 символов * 25 строк. Кстати, вот ссылка на книгу, может, кому пригодится http://rabus.ru/KernighanRitchie_C/index.html#content

/* подсчет строк, слов и символов */
main()
{
    int с, nl, nw, nc, state;
    state = OUT;
    nl = nw = nc = 0;
    while ((с = getchar()) != EOF) {
        ++nc;
        if (c == '\n')
            ++nl;
        if (c == ' ' || c == '\n' || c == '\t')
            state = OUT;
        else if (state == OUT) {
            state = IN;
            ++nw;
        }
    }
    printf(“%d %d %d\n”, nl, nw, nc);
}

В остальном согласен и об этом писали уже 100500 раз. Лично я все MQL сторонние тексты загоняю в студию и там переформатирую.

 
Alexey Volchanskiy:

Небольшая поправка, у Microsoft codestyle не является стандартом K&R. В стандарте K&R в основном отличие с фигурными скобками, он рассчитан на то, чтобы уместить как можно больше строк на экране PDP-11 и прочих алфавитно-цифровых дисплеев - 80 символов * 25 строк. Кстати, вот ссылка на книгу, может, кому пригодится http://rabus.ru/KernighanRitchie_C/index.html#content

В остальном согласен и об этом писали уже 100500 раз. Лично я все MQL сторонние тексты загоняю в студию и там переформатирую.

Да, отличие с открывающей скобкой, в остальном схоже, я поэтому и назвал "вариантом".

Было бы проще, если бы в среде МТ были User Tools, чтобы можно было прикрутить сторонний beautifier, но такой возможности нет. Можно как вариант использовать сторонний редактор с поддержкой вывода stdout из user tools (классика - Editplus, но есть и интереснее решения), но это уже лишний костыль. Я использую Unscrutify, настроенный в UniversalIndentGUI.

 
 
urusov:

Пожалуйста:

https://www.mql5.com/ru/forum/35326

https://www.mql5.com/ru/forum/1111/

 Назовите хоть один широко используемый язык, где я не смогу назначить указателю другой адрес? Назовите также хоть один управляемый язык, где я не смогу ссылке одного типа присвоить ссылку того же типа на другой объект? Где еще я буду именно вынужден в связи с этими ограничениями вашего языка описывать конструктор или функцию копирования?

И если для вас контролируемость превыше всего, то почему другие контролируемые языки не накладывают подобных ограничений?

 Лично для меня превыше всего не безопасность и контролируемость, а скорость, с которой я смогу воплотить в жизнь идею, это крайне справедливо в контексте торговых идей, кто с этим не согласен, либо переоценивает ценность своих систем, либо программирует ради программирования, а не конкретного результата.

C# знаете, это сейчас промышленный язык, уже в значительной степени заменил С++ в бизнес/интернет приложениях. Так там нет указателей, точнее, они есть, но unsafe, а небезопасный код никому не нужен, только для личных поделок.
 
Alexey Volchanskiy:
C# знаете, это сейчас промышленный язык, уже в значительной степени заменил С++ в бизнес/интернет приложениях. Так там нет указателей, точнее, они есть, но unsafe, а небезопасный код никому не нужен, только для личных поделок.
есть преимущества си шарп для обычных людей?
 

И чем же так страшен голый указатель? Если отказаться от strict aliasing оптимизаций, то указатели вообще довольно безопасная штука (msvc так и сделали).

Вообще разговоры о безопасности - лишь вуалирование истинных причин, как было сказано ранне. А причина проста, думаю - не дать возможность никаким способом узнать адреса функций, которые будут перекинуты в dll'ку. Зарытой системе внешний мир не нужен.

 
Или же МК не против нормальных колбэков? Есть у меня идея, тема не запретная?
 
Alexey Volchanskiy:
C# знаете, это сейчас промышленный язык, уже в значительной степени заменил С++ в бизнес/интернет приложениях. Так там нет указателей, точнее, они есть, но unsafe, а небезопасный код никому не нужен, только для личных поделок.

К слову!

Как то очень давно  встречал вот такое очень образное сравнение Языков  Си  и Pascal

Язык  Си , это  крутая  езда  на Ferrari по горной дороге  на скорости 180км/час  ,

а язык Pascal  , это спокойная поездка на лимузине по широкой дороге с односторонним движением  на  скорости 40 км/час.

Т.е.  подразумевалось , что  Си  предназначен как бы для настоящих мужиков :-)

В Си за указателями надо следить самому :-) , иначе можно улететь на крутом горном повороте с трассы,  т.е.  язык не для слабых.

Си , это язык операционных систем и утилит, драйверов.  На языке Си  писали профи,  которые как раз и писали операционные системы и утилиты для юзеров.

На паскале изначально учились писать студенты, паскаль был написан как обучающий язык.

Разница назначений  и применений инструментов очевидна.

Язык MQL  по сути производная от Си , выбор разработчиков  MetaQuotes  профессионально очень правильный.

 
Yuriy Zaytsev:

К слову!

Как то очень давно  встречал вот такое очень образное сравнение Языков  Си  и Pascal

Язык  Си , это  крутая  езда  на Ferrari по горной дороге  на скорости 180км/час  ,

а язык Pascal  , это спокойная поездка на лимузине по широкой дороге с односторонним движением  на  скорости 40 км/час.

Т.е.  подразумевалось , что  Си  предназначен как бы для настоящих мужиков :-)

В Си за указателями надо следить самому :-) , иначе можно улететь на крутом горном повороте с трассы,  т.е.  язык не для слабых.

Си , это язык операционных систем и утилит, драйверов.  На языке Си  писали профи,  которые как раз и писали операционные системы и утилиты для юзеров.

На паскале изначально учились писать студенты, паскаль был написан как обучающий язык.

Разница назначений  и применений инструментов очевидна.

Язык MQL  по сути производная от Си , выбор разработчиков  MetaQuotes  профессионально очень правильный.

Да вообще какая разница на каком языке писать?

(стати на Паскале можно и драйверы писать и всё что угодно) 

Важно понимать что и как ты делаешь, а язык программирования - дело десятое! 

Причина обращения: