|
28.07.2019, 20:41 | #1 |
Участник
|
А еще есть гигантский модуль под названием "ApplicationSuite" который при генерации IL приходится разбивать на netmodule и для конвертации в C# пришлось бы рейфакторить на подмодули, разруливать перекрестные ссылки и так далее.
А еще есть всякие extensibility фичи типа подписки на начало и завершения любого метода. В-общем, попробуйте взять любой свой модуль, написанный на X++ и декомпилировать в C# - посмотрите на что был бы похож эквивалентный код. Цитата:
А потом... херакс! и ax7. полностью не совместимая. в которой продцедур апгрейда с предыдущих версий не предусматривалось.
Во-вторых, сейчас я вижу документацию по апгрейду. В-третьих, обратная совместимость нужна для своего собственного application suite (соответственно трата сил и порождение большего количества глюков) Цитата:
А все почему? А руководство поменялось.
Цитата:
* "суперэффективное" хранение кода в SQL базе было выпилено и заменено на "традиционное" хранение кода в файлах (но при этом почему-то как xml, му-ха-ха)
Цитата:
* полностью прибили клиентский код в ax7 (может и вернут: людям надо работать с оформлением формы, людям надо создавать свои контролы на форме, людям надо работать с оборудованием клиентского компьютера, см Retail)
Цитата:
понятно, что перевод с X++ на C# - это огромный проект, который за один финансовый год точно не выполнить.
Последний раз редактировалось belugin; 28.07.2019 в 20:52. |
|
29.07.2019, 07:46 | #2 |
Участник
|
макс, ты очень интересно формулируешь ответ
"есть" - это разработчики в майкрософт сделали. а попробовать ты предлагаешь нам в качестве доказательства что что-то невозможно сделать. если невозможно, то нахрена майкрософт перевел в режим "есть"? Цитата:
блин. Цитата:
И что это доказывает? Цитата:
Сообщение от belugin
Во-вторых, сейчас я вижу документацию по апгрейду.
Цитата:
по данному вопросу - это какому? что руководство поменялось? а какая разница то ради чего? я говорил о том, что решения вводятся в код и сразу же отменяются. именно ввод-отмена и делает "все усложнилось на «бэкенде»" каждая введенная и отмененная фича в моем списке вводилась ради чего-то. и для отмены также находились очень важные причины. вопрос не в причинах. вопрос - почему приоритеты причин меняются. Цитата:
Сообщение от belugin
Свои контролы делать можно см. "extensible controls" => клиентский код есть, только он не на X++ а на JavaScript
ты сейчас чего доказать то хочешь? что выпиливание клиентского x++ - это было суперправильное решение, которое не отменят? что x++ на клиенте не нужен, а нужен javaScript? тогда зачем вообще нужен X++ - оставили бы сразу javaScript ну и так далее. Макс, давай от охранительства вернемся к теме, пожалуйста. тема: "Как вы думаете почему прогресс средств разработки в ERP отличается от общего прогресса по отрасли (ИТ) в целом?" с тем же выпиливанием клиентского x++... Как ты думаешь, "только серверный код" - это в русле общего прогресса по отрасли? если отличается, то почему и какой смысл в отличии? если отличается, то можно ли ожидать возврата к общему состоянию отрасли ИТ? Цитата:
сразу вопросы: если равноправных больше одного, то почему только два? может и SQL сделать полноправным? и javaScript для клиентского кода? где граница? причем не граница возможностей производителя, а логически обоснованная граница? что ты подразумеваешь под равноправностью языков? (у меня есть свои соображения, то я бы хотел твои рассуждения послушать) мы видели много анонсов инноваций, которые умирали не появившись или сразу после ввода. можешь дать какую-то надежду, что будет несколько равноправных языков? причем разработка в условиях нескольких равноправных языков будет экономически целесообразна как для вендора, так и для потребителя. |
|
|
За это сообщение автора поблагодарили: Lemming (5). |
29.07.2019, 09:45 | #3 |
Участник
|
Цитата:
Цитата:
а попробовать ты предлагаешь нам в качестве доказательства что что-то невозможно сделать.
Цитата:
если невозможно, то нахрена майкрософт перевел в режим "есть"?
Цитата:
где я такое говорил? приведи цитату и логический переход от цитаты к твоему утверждению.
блин. Я так понял, что первое приложение раскрывается вторым, нет? Цитата:
А может не заработает.
И что это доказывает? Цитата:
а тогда - не было
конечно гипотеза. Цитата:
а какая разница то ради чего?
Цитата:
становится как-то смешно.
ты сейчас чего доказать то хочешь? что выпиливание клиентского x++ - это было суперправильное решение, которое не отменят? что x++ на клиенте не нужен, а нужен javaScript? Цитата:
тогда зачем вообще нужен X++ - оставили бы сразу javaScript
Цитата:
ну и так далее.
Макс, давай от охранительства вернемся к теме, пожалуйста. Цитата:
с тем же выпиливанием клиентского x++... Как ты думаешь, "только серверный код" - это в русле общего прогресса по отрасли? если отличается, то почему и какой смысл в отличии? если отличается, то можно ли ожидать возврата к общему состоянию отрасли ИТ?
Сейчас интересны попытки использховать WebAssembly (например blazor) но это не лишено недостатков. Например blazor призодится загружать сборки mono и это ощутимый penalty на старте. Там даже сделали режим когда все рендерится на сервере и посылается в таком виде клиенту. Цитата:
Можно и так:
сразу вопросы: если равноправных больше одного, то почему только два? может и SQL сделать полноправным? и javaScript для клиентского кода? где граница? причем не граница возможностей производителя, а логически обоснованная граница? Цитата:
что ты подразумеваешь под равноправностью языков? (у меня есть свои соображения, то я бы хотел твои рассуждения послушать)
Цитата:
мы видели много анонсов инноваций, которые умирали не появившись или сразу после ввода. можешь дать какую-то надежду, что будет несколько равноправных языков?
|
|
29.07.2019, 10:44 | #4 |
Участник
|
а также дамгаард же добавил модели... и не довел разделение по моделям до конца, бросив большинство функционала в одном Suite он! дамгаард. точно. возможно? ?! Цитата:
Цитата:
без комментариев. я думаю, что каждый читатель сможет сделать выводы сам. Цитата:
|
|
29.07.2019, 12:49 | #5 |
Участник
|
Цитата:
Цитата:
?!
2. Я: Ну отсутствие процедуры апгрейда не означает что она полностью несовместима, например, можно перенести код через буфер обмена и он с очень большой вероятностью заработает. 3. Маззи: где я такое говорил? приведи цитату и логический переход от цитаты к твоему утверждению. блин. 4. Я: {привожу цитату}. Объясняю откуда сделал такой вывод. ( "полностью не совместимая. в которой продцедур апгрейда с предыдущих версий не предусматривалось" - я решил что второе предложение раскрывает значение первого "полностью не совместимая" потому что "предыдущих версий не предусматривалось") Цитата:
ты предлагаешь поговорить о степенях свежести осетрины?
Цитата:
А можешь высказать свое мнение на исходный вопрос?
Т.е. инерция, груз обратной совместимости (хотя бы даже для внутреннего использования). 2. Возможно, языки общего назначения сложнее и проще выстрелить себе в ногу. 3. Иновации действительно есть но в других областях, дополнительная поддержка вебинтерфейса есть у систем про которые я знаю в той или иной форме, например. |
|
29.07.2019, 13:35 | #6 |
Участник
|
Цитата:
ход мысли понятен. каждый может сделать вывод сам. Цитата:
Сообщение от belugin
1. Маззи: потом... херакс! и ax7. полностью не совместимая. в которой продцедур апгрейда с предыдущих версий не предусматривалось.
2. Я: Ну отсутствие процедуры апгрейда не означает что она полностью несовместима, например, можно перенести код через буфер обмена и он с очень большой вероятностью заработает. 3. Маззи: где я такое говорил? приведи цитату и логический переход от цитаты к твоему утверждению. блин. 4. Я: {привожу цитату}. Объясняю откуда сделал такой вывод. ( "полностью не совместимая. в которой продцедур апгрейда с предыдущих версий не предусматривалось" - я решил что второе предложение раскрывает значение первого "полностью не совместимая" потому что "предыдущих версий не предусматривалось") опять же - не вижу смысла переубеждать, если ты настаиваешь на таком в публичном выступлении, то каждый может сделать вывод сам. Цитата:
твое высказывание понятно. не вижу смысла препираться дальше. Цитата:
Сообщение от belugin
1. Чтобы сделать жирную ERP надо много времени, чтобы накопить функционал => большинство из них начали делать давно. Тогда не было языков общего назначения, которые были бы непроприетарны и поддерживали втроенный SQL (SQL/J кажется был проприетарный) => пришлось создавать свой язык, после чего накопилась большая кодовая база/обучающие материалы и прочее, которое надо переводить на новый язык. Кодовая база не расчитана на ограничения современных языков общего назначения (см модули).
Т.е. инерция, груз обратной совместимости (хотя бы даже для внутреннего использования). 2. Возможно, языки общего назначения сложнее и проще выстрелить себе в ногу. 3. Иновации действительно есть но в других областях, дополнительная поддержка вебинтерфейса есть у систем про которые я знаю в той или иной форме, например. например, в java платформу ввели таки и перегрузку, и генерики, и лямбды с замыканиями. И многопоточность и потокобезопасное программирование. И стримы вот сейчас моднючие. И библиотеки под это переписали. а в Аксапте все еще java первого поколения. Неужели для Аксапты груз тяжелее, чем для Джавы, на которой Аксапта основана? Как думаешь? Последний раз редактировалось mazzy; 29.07.2019 в 14:08. |
|
29.07.2019, 21:45 | #7 |
Участник
|
Цитата:
Для конверсии в IL в Ax2012 сделали так: ужесточили в X++ правила контроля за типами и исправили код там где новые правила нарушались, но все равно из-за разницы рантаймов остался код, который работает в X++ и не будет работать в CIL (т.е. CIL не полностью совместим с X++ в Ax2012, а X++ ax 2012 не полностью совместим c X++ в Ax2009). Цитата:
а в Аксапте все еще java первого поколения.
Это можно делать без нарушения обратной совместимости - добавляются новые возможности старые почти не убираются (только с переходом на IL решили не использовать dynamic, например, а вместо этого запретили присваивание переменных несовместимых классов). Цитата:
Неужели для Аксапты груз тяжелее, чем для Джавы, на которой Аксапта основана?
Как думаешь? Аксапта это не Java 1.0 это какой-то скриптовой рантайм (типа PHP или Javascript - с подобными представлениями о прекрасном) + синтаксис Java и немного статической валидации от нее же. Еще раз презываю декомпилировать какой-нибудь собственный паблик класс и посмотреть сколько там всего (конечно, если специально писать конвертор, то можно наверное это сделать более читаемо на С#, но можно получить представление об объеме работы и возникающих задачах). В-общем, вот мои мысли, я на истину не претендую и конкретно кто и как принимает решения в этом вопросе не знаю. |
|
29.07.2019, 14:09 | #8 |
Moderator
|
А может один большой модуль с циклическими ссылками внутри есть отражение реальности предприятия, где все процессы зависят друг от друга и не могут быть разделены?
|
|
|
За это сообщение автора поблагодарили: apanko (4). |
29.07.2019, 21:54 | #9 |
Участник
|
Цитата:
Цикличная зависимость процессов не означает зависимостей модулей. Зависимости могут быть как в направлении потока управления так и против него (можно взывать методы, можно подписываться на события). Можно выделять дополнительные модули для разрешения циклических ссылок и и прочее. (Типа, БУ не знает про Производство, производство не знает про БУ, есть модуль БУПроизводства, который знает обоих - подписывается на события в производстве и отображает их на БУ и наоборот, если где-то такое надо). см. также книжки DDD и Clean architecture |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2). |
30.07.2019, 00:25 | #10 |
Banned
|
Цитата:
J.D. Edwards был построен по такой схеме еще 20 лет назад, см. https://docs.oracle.com/cd/E17984_01...config_mgr.htm, Master Business Function. Поправка: 30 лет назад. Последний раз редактировалось EVGL; 30.07.2019 в 00:27. |
|
Теги |
1c, abap, axapta, sap, xpp |
|
|