|
![]() |
#1 |
Moderator
|
Кстати - а вообще появился в D365/DAX2012 кастинг таблиц?
Можно писать if (common is CustTable) или (common as InventTable)? |
|
![]() |
#2 |
Banned
|
Цитата:
Поправка: IS тоже работает. |
|
![]() |
#3 |
Участник
|
Цитата:
Если же вы подразумеваете, что там может быть как journalTrans, так и что-то другое, то это полезно, так как в случае несоответсвия у вас будет null, который можно обработать, а не исключительная ситуация. https://stackoverflow.com/questions/...vs-as-operator |
|
|
За это сообщение автора поблагодарили: EVGL (5). |
![]() |
#4 |
Участник
|
Вроде да, но с особенностями
https://docs.microsoft.com/en-us/dyn.../xpp-operators Tables All tables inherit directly from the Common system table, unless they explicitly inherit from a different table. The Common table can't be instantiated. It doesn't exist in the underlying physical database. The Common table inherits from the xRecord class, but in a special way that isn't appropriate for the is keyword or the as keyword. When the as keyword is used to perform an invalid downcast among tables, the target variable references an unusable non-null entity. Any attempt to de-reference the target variable will cause an error that stops the program. The is and as keywords and extended data types Each extended data type has an Extends property. The style of inheritance that this property controls differs from the style of inheritance that the is and as keywords are designed for. |
|
![]() |
#5 |
Участник
|
Visual Basic .NET имеет такой же рейтинг как C#
Как такое вообще может быть? что и кто интересно на нем разрабатывает. т.е. сколько я народу не знаю, никогда даже не слышал, сайт по поиску работы тоже 0 возвращает |
|
![]() |
#6 |
Участник
|
Цитата:
https://en.wikipedia.org/wiki/Measur...larity#Indices Во втором сверху у C# тоже 5 |
|
![]() |
#7 |
Участник
|
смотря что и как считать, вот, например, интересная аналитика от stackoverflow
Последний раз редактировалось AlexeyS; 17.05.2018 в 14:08. |
|
|
За это сообщение автора поблагодарили: ax_mct (5). |
![]() |
#8 |
Участник
|
|
|
![]() |
#9 |
Banned
|
Цитата:
Сообщение от belugin
![]() Как вы думаете, операионная система под которой вы сейчас сидите это большой проект? На каком языке она написана?
https://www.tiobe.com/tiobe-index/ - пятого места мало? В X++ все было RAD именно в силу интерпретации. Вся эта DLLность D365FO она не нужна в процессе разработки и билда. Будущее C# подразумевалось как завоевание рынка Java на момент создания платформы .NET. Чего не случилось за эти 15-20 лет. Замах был на рубль, а по сути произошел просто переход тех кто программировал под WIndows на VB и C++ MFC и пр. То есть обновление уже существующего своего рынка, в пределах уже лояльной к MS массы и не более того. Вопрос в том насколько программирование в D365FO является современным программированием остается открытым ![]() |
|
![]() |
#10 |
Участник
|
Цитата:
Цитата:
В X++ все было RAD именно в силу интерпретации. Вся эта DLLность D365FO она не нужна в процессе разработки и билда.
Вопрос в том насколько программирование в D365FO является современным программированием остается открытым ![]() PS. WebAssembly and the Death of JavaScript Последний раз редактировалось belugin; 17.05.2018 в 19:37. |
|
![]() |
#11 |
Banned
|
Цитата:
Только если у нас есть X++ в AX2012 и только потом папка с CIL как отдельная компиляция вне процесса разработки, и есть D365FO где нам надо билдить в CIL при каждом изменении в процессе разработки, то разница есть несмотря на то что мы тоже как бы компилируем X++ (в P-code). Почему же нам монолитность AppSuite не мешает в AX2012? При том что "интерпретируемых языков больше нет". |
|
![]() |
#12 |
Участник
|
Цитата:
Еще когда году в 2003 начал писать на Eclipse, в начале было некоторое непонимание - там компиляция шла фоном и инициировалась по кнопке сохранить. Цитата:
Почему же нам монолитность AppSuite не мешает в AX2012?
При том что "интерпретируемых языков больше нет". В Ax2012 есть проблемы, но другие. Попробуйте, например, не перекомпилировать наследники и увидите какую-нибудь ерунду при выполнении даже если в самих наследниках ничего не изменилось. Ничего себе интерпретатор. Цитата:
Будущее C# подразумевалось как завоевание рынка Java на момент создания платформы .NET.
На кроссплатформенный рынок .NET стал выходить сравнительно недавно, после покупки Xamarin и разработки .NET Core. Глянул в википедию - там написано, что это была часть .NET Strategy типа плана по захвату интернета? |
|
![]() |
#13 |
Участник
|
2 Belugin
Вроде все правильно пишите, но тема разговора плавно ушла в сторону. А по сути Ax_mct трижды прав: Цитата:
Наш (enterprise) большой проект это прежде всего прикладной проект где одна их характеристик - большая изменчивость. Скриптовые и интерпретируемые языки намного удобнее для программистов так где надо работать над требованиями.
А с введение CIL в 2012-й всего-то добавили "маленькую" проблему - большой монолитный AppSuite. И все поломали. ![]() Ну а дальше еще хуже. |
|
|
За это сообщение автора поблагодарили: Ace of Database (2). |
![]() |
#14 |
Участник
|
Цитата:
В принципе, есть технология для hotswapping в .NET и она даже используется в Ax2012 . FED, правда, говорил, что глючит. В современном мире, насколько я знаю, это решается не хотсвоппингом, а поднятием дополнительного инстанса сервиса с новой версии и рутингом новых запросов на него. Но у меня в этом опыта нет. Кстати, интересно, есть ли какая-то гарантия согласовванности кода в Ax4 или если я загружу два новых класса, то может получиться ситуация, когда польователь работает одновременно со старой версией одного класса и новой - другого. С этой точки зрения мне кажется ценнее получить согласованную версию кода, чем реализовывать хотсвоппинг. Как это реализовано в Ax сейчас я не знаю. Еще вполне возможно что в других технологиях с хотсвоппингом лучше. Например edit and continue в вижуал студии для C# работает с большими ограничениями - в Java, говорят, их меньше. |
|
![]() |
#15 |
Banned
|
Цитата:
CLR требует компиляцию всего кода сразу и до. То есть взяли копировать Java/JVM но так и не поняли ее суть. JVM компилирует частями и по потребности (в общем случае). Что позволяет оптимизацию при исполнении и более быструю разработку. Та же Аксапта использовала JVM и такую "интерпретационную" компиляцию по частям что давало нам множество преимуществ в разработке. C необходимостью полной сборки MorphX был бы невозможен. А без MorphX это не 21 век. P.S. AppStore что сейчас обсуждается тоже душу не греет потому как скопирован опять таки с потерей сути. Действительно хочется увидеть клиента D365FO устанавливающего AppStore по кнопке. Это скорее анекдот. Последний раз редактировалось ax_mct; 18.05.2018 в 18:20. Причина: P.S. |
|
![]() |
#16 |
Участник
|
Цитата:
Не могли бы вы привести ссылку для подтверждения своего утверджения? Compilation by the JIT Compiler JIT compilation converts MSIL to native code on demand at application run time, when the contents of an assembly are loaded and executed. |
|
![]() |
#17 |
Banned
|
Цитата:
Сообщение от belugin
![]() Вы имеете ввиду компиляцию из исходного кода в промежуточный или из промежуточного в машинный?
Не могли бы вы привести ссылку для подтверждения своего утверджения? Compilation by the JIT Compiler JIT compilation converts MSIL to native code on demand at application run time, when the contents of an assembly are loaded and executed. Промежуточный это P-code в X++, CIL в .NET, Bytecode (.class) в Java. Это файлы полученные из исходного кода и которые используются VM для перевода в машинный код (ngen и прочие не общие вещи не расматриваем). Действительно получается что все упирается в реализацию JIT. В Java их далеко не одна. Самый общий это HotSpot https://ru.wikipedia.org/wiki/HotSpot который сочетает и компилятор и интерпретатор. Oracle HotSpot это больше 80% рынка JVM. https://plumbr.io/blog/java/java-version-and-vendor-data-analyzed-2017-edition Oracle HotSpot использует интерпретацию по умолчанию, и только потом компиляцию часто используемых методов. Цитата:
HotSpot VM defaults to interpreting Java byte code. It compiles (JIT compilation) methods that runtime profiling determines to be "hot", that is, the methods that are executed for a predetermined number of times. JIT compliers are either client or server compilers.
В CLR возможностей использования интерпретации в JIT - нет совсем. А она таки для программистов удобнее и мы ее потеряли с D365FO. |
|
![]() |
#18 |
Участник
|
Перефразирую мысль. Техническая проверка на компиляцию ничего не значит для конечного клиента (это и так подразумевалось для любой версии системы). Вопрос как это интегрировано в стандарт и как это пересекается с другими возможными решениями. Не на техническом уровне, а на логическом.
__________________
Ivanhoe as is.. |
|
|
За это сообщение автора поблагодарили: fed (3). |
![]() |
#19 |
Участник
|
Цитата:
т.е. самое простое - в АХ есть возможность делать несколько накладных по заказу, т.е. вполне вероятно что часть решений просто не будет работать если это будут использовать, наверное это подразумевается фразой "глючная самописка" ![]() т.е. решение предоставляет бизнес процессы, которые работают при "каких-то настройках". мс проверяет что эти процессы в принципе есть и хоть как-то работают(как часть процесса валидации) уже дело клиента проанализировав выбрать |
|
![]() |
#20 |
Moderator
|
Цитата:
![]() |
|
Теги |
ax7, dynamics 365 for operations, x++ |
|
|