AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.09.2014, 17:04   #1  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от belugin Посмотреть сообщение
Программист X++ есть разновидность программиста.

Просто мы привыкли к нашему блабу. Причем те же самые вещи, которые в блабе есть в одном месте не работают в другом и мы не видим тут никакого противоречия.
https://ru.wikipedia.org/wiki/Грэм,_Пол
Цитата:
В очерке «Побеждая посредственность» Грэм, в частности, описывает изобретённый им «Парадокс Блаба» («Blub paradox»), объясняющий, почему программисты не желают изучать более эффективные инструменты программирования, чем те, которыми они уже владеют (в частности, объясняющий непопулярность Лиспа). «Парадокс Блаба» состоит в том, что программист, знающий некоторый язык (для него Грэм и вводит условное наименование «Блаб»), как правило, хорошо понимает, чем Блаб лучше, чем любой менее мощный язык, поскольку в состоянии назвать механизмы, имеющиеся в Блабе и отсутствующие в менее мощных языках и понимает, как именно эти механизмы облегчают программирование. В то же время он не в состоянии заметить разницу между Блабом и более мощными языками, поскольку «думает на Блабе» — решение любой задачи автоматически представляет на Блабе, естественно, ограничиваясь теми средствами, которые в Блабе есть. Имеющиеся в более мощном языке дополнительные средства в его глазах ничего не стоят, так как он не умеет их применять и, естественно, не понимает, что они облегчат ему жизнь. И лишь когда программист по каким-то причинам изучит более мощный язык, он получит возможность смотреть на Блаб «сверху вниз» и видеть его ограниченность.
AX это не среда разработки.
Программист AX это не программист X++.

X++ является только частью инструментария для программиста AX.
X++ не является независимым языком как тот же C++ ( http://lurkmore.to/C%2B%2B ).

Поэтому если говорить о Блабе то это не X++ а сама система в целом.
Не как X++ vs С# а как Axapta 3.0 vs AX 2009 vs AX 2012 vs AX 2015.

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

Для программиста AX знания архитектуры системы и фунционала намного важнее чем расширенное владение языком программирования. Мне до сих пор не по себе от проекта в котором из-за написанной на X++ мнопоточности AOS ложился каждые 2 дня. Та же задача решалась на раз-два стандартными средствами. Но были продвинутые программисты пришедшие с C++.

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

В условиях постоянных новых вводных для того чтобы код был "чистым" его часто надо переписывать с нуля. А это уже нереально или просто опасно. "Грязные" но безопасные заплатки лучше в большинстве случаев.

С точки зрения поддержки кода и его расширения намного важнее применение ООП (в соответствии с Best Practices) чем чистый математический код в отдельных методах.

Комментарии в коде и осмысленные наименования намного эффективнее чем иной синтаксис или математическая чистота кода.

Математическая чистота кода для меня как эйфория художественно продвинутых от квадрата Малевича. Намалевано так же, но квадрат!

P.S. К чему это я => язык это только малая часть средств разработки, а его синтаксис это вообще дело вкуса но не более того.
Что вы хотите получить от С#? Асинхронность, поточность и так далее? А может лучше не надо?

Правостороннее движение - автомобиль и лошадь. Безопасность превыше правил. Причем животное это AX а автомобиль это программист

Последний раз редактировалось ax_mct; 12.04.2019 в 21:32.
За это сообщение автора поблагодарили: Morpheus (2).
Старый 29.09.2014, 19:57   #2  
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++ нет достаточно удобных средств для рефакторинга, проверки стиля кода.
Теги
.net, aot, cil, layer, morphx, x++, компилятор, слои

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Прощай, CITP-AT / Software-Vertriebsfirma Columbus IT Partner programmiert Pleite EVGL DAX auf Deutsch 3 02.10.2007 14:45

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:21.