Тема: Прощай, X++
Показать сообщение отдельно
Старый 29.09.2014, 19:57   #141  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от ax_mct Посмотреть сообщение
X++ является только частью инструментария для программиста AX.
X++ не является независимым языком как тот же C++
Инструменты меняют, причем иногда части инструментов на более новые.

Цитата:
Поэтому если говорить о Блабе то это не X++ а сама система в целом.
Не как X++ vs С# а как Axapta 3.0 vs AX 2009 vs AX 2012 vs AX 2015.
Вам знакомо слово "декомпозиция"?

Цитата:
Надежность "движка", среды выполнения, обработки ошибок ядром намного важнее чем мощь инструкций и удобство программиста.
см. ниже ("статическая типизация")

Цитата:
Для программиста AX умение тестировать результат своей работы намного важнее чем
умение создавать математически чистый код.
При хорошей статической типизации и других средствах статического анализа необходимость в тестировании снижается.

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

Цитата:
А это уже нереально или просто опасно. "Грязные" но безопасные заплатки лучше в большинстве случаев.
Если они грязные, то как правило, небезопасные.



Цитата:
Комментарии в коде и осмысленные наименования намного эффективнее чем иной синтаксис или математическая чистота кода.
Как жаль что для X++ нет средств для безопасного переименования.
Как жаль, что в X++ нет пространст имен и подсистеме даже нельзя дать имя.

Цитата:
P.S. К чему это я => язык это только малая часть средств разработки, а его синтаксис это вообще дело вкуса но не более того.
Существует объективная семантическая разница между языками и вкус тут не причем. Просто блаб программистам не видно то, что выше привычного уровня абстракции.

Цитата:
Что вы хотите получить от С#? Безопасность превыше правил. Причем животное это AX а автомобиль это программист
Вообще, если язык так не важен - почему бы его не заменить на более отлаженный и не сэкономит на поддержке в долгосрочной перспективе?

Давайте про безопасность:
  1. Безопасность - это статическая типизация
    в X++ нету дженериков, поэтому List, Map, Array, Set, container используются без уточнения типа, в результате соответствие типов не проверяется.
    Нельзя объявить Query<InventTrans> поэтому в самых важных для разработки ERP частях код не проверяется компилятором. select имеет совершенно нелогичную семантику и тоже не проверяется статически (присоединением exists join можно сломать запрос и компилятор ничего не скажет, можно не выбрать поле и его использовать и т.д.)
  2. Безопасность это проверки - для X++ нет ничего похожего на CodeContracts
  3. Безопасность - это легкость понимания - нельзя выделять куски select в отдельные функции - в результате копипаст и ошибки при модификации.

    Нет продвинутых средств поиска участков кода



  4. Безопасность, это единый стиль - в X++ нет достаточно удобных средств для рефакторинга, проверки стиля кода.