01.09.2009, 21:05 | #1 |
Участник
|
Channel9: Peter Villadsen and Gustavo Plancarte: X++ to MSIL
Источник: http://channel9.msdn.com/posts/Charl...tor-X-to-MSIL/
============== Dynamics Program Manager Peter Villadsen and Software Developer Gustavo Plancarte teach us about a new tool they've developed that translates X++ byte code into MSIL. We learn a lot of history along the way and gain insights into the process of taking X++ into the .NET age. Microsoft Dynamics features a proprietary language called X++ (basically a superset of Java, with some strong data primitives added) and a complete stack (compiler, interpreter and debugger) that goes with it. The new feature Peter and team have developed is a tool to generate managed code from the X++ intermediate language produced by the X++ compiler. This will have profound impact on the performance of the business applications written in X++, and it very clearly points to where they'll be going in the next few releases of Dynamics Ax. Tune in. Источник: http://channel9.msdn.com/posts/Charl...tor-X-to-MSIL/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
За это сообщение автора поблагодарили: belugin (10). |
02.09.2009, 10:33 | #2 |
MCT
|
Так понял, что выполняется преобразование из Х++ в Р код (аналог асеблера) с промежуточным просмотром исходника в XML. А в студии можно преобразовать его в C# и соответственно разрабатывать на C#.
__________________
Axapta book for developer |
|
02.09.2009, 10:37 | #3 |
Участник
|
XML преобразуется в MSIL
а в C# IL можно преобразовать не в студии а в рефлекторе. |
|
02.09.2009, 10:39 | #4 |
MCT
|
что за рефлектор?
__________________
Axapta book for developer |
|
02.09.2009, 10:47 | #6 |
MCT
|
логичный вопрос когда (в каком релизе) окончательно прибьют старый добрый Х++?
__________________
Axapta book for developer |
|
02.09.2009, 10:50 | #7 |
Участник
|
даже если кто-то это знает, тебе этого никто не скажет ибо NDA
|
|
02.09.2009, 13:40 | #8 |
MCT
|
Появилась идея немного перевести контент, бо такое ощущение, что мало кто понял к чему идем.
Кину свои пять копеек в начало перевода. Итак, в обсуждении принимает участие Питер Виладсен (старший программный менеджер) (Набиваю на одном дыхании, поэтому, возможны небольшие ошибки и опускаю слова, сказанные не по существу). Питер Виладсен - я работаю в команде по разработке языка Х++ и выводу его на следующий уровень, о чем подробно сейчас я вам и расскажу, а так же о том, как генерируется AOL код, - далее представляет Густава старшего SDE из Дании, который как раз и занимается этим вопросом. Далее идет вопрос, про что же такое язык Х++. Х++ - это DSL, язык на котором основана бизнес логика ERP Dynamics, которому 15 лет. Язык привязан к тем типам, которые используются в системе. Язык очень мощный, так как использует всю мощь объектно-ориентированных языков. Также в нем есть поддержка обработки запросов данных. Ведущий - получается, что он аналогичен Linq Питер - да. Ведущий - технология Linq очень похожа, может быть расскажете поподробнее. Питер - за прошедшие 15 лет ничего существенно не менялось, ни в одном языке не было такой поддержки выборки данных.... Теперь в некоторых языках появляется подобная поддержка.... было бы удобнее отлавливать ошибки на этапе компиляции (compiler time) а не на этапе исполнения (Run time) ..
__________________
Axapta book for developer |
|
|
За это сообщение автора поблагодарили: mazzy (5), belugin (5). |
02.09.2009, 14:32 | #9 |
Боец
|
Цитата:
логичный вопрос когда (в каком релизе) окончательно прибьют старый добрый Х++?
Глядя на 2009 невольно замечаешь, что последних становится все больше и больше, даже в том, что до сих пор работало. Боюсь представить, что будет, когда application засунут в БД и заменят X++ си-шарпом. Короче, ерундой занимаются, зарплату отбивают... |
|
02.09.2009, 15:50 | #10 |
Участник
|
|
|
02.09.2009, 16:12 | #11 |
Боец
|
|
|
|
За это сообщение автора поблагодарили: kashperuk (1). |
02.09.2009, 16:22 | #12 |
Участник
|
у меня после перехода 4 -> 2009 возниклю ощущение, что быстродействие UI уменьшилось (гридов там всяких). А процессов - разносок увеличилось. См. также статью федотенко про новое в себестоимости и закрытии склада в 2009
|
|
02.09.2009, 16:37 | #13 |
Участник
|
|
|
02.09.2009, 16:54 | #14 |
Участник
|
процесс перехода заключался в гонянии по очереди того и другого на одной машине - а у вас другие впечатления?
|
|
02.09.2009, 17:27 | #15 |
Боец
|
Цитата:
В настоящий момент, например, я знакомлюсь с новым функционалом "Управление печатью" в ax2009. Открытие формы "Управление печатью" из заказов на продажу у меня занимает ~30 сек., причем это фактически на пустой базе и некастомизированном приложении... |
|
02.09.2009, 18:37 | #16 |
Участник
|
Цитата:
Сообщение от DSPIC
Это скорее говорит о том, что производительность можно поднимать за счет усовершенствования кода\архитектуры и т.п., а не по принципу "Подкинем в топку угля и поедем быстрее, пофигу что колёса овальные".
В настоящий момент, например, я знакомлюсь с новым функционалом "Управление печатью" в ax2009. Открытие формы "Управление печатью" из заказов на продажу у меня занимает ~30 сек., причем это фактически на пустой базе и некастомизированном приложении... |
|
02.09.2009, 19:07 | #17 |
Участник
|
|
|
02.09.2009, 21:21 | #18 |
MCT
|
вырвал немного времени и продолжу.
Питер – мы предприняли значительное усилие для построения такой возможности. Это не просто язык с возможность компилирования, интерпретирования и отладчиком, так как и в visual studio есть отладчик и так далее. Теперь у нас есть .net и linq, которые имеют более мощные возможности. Я люблю linq. Но прежде этого не было, поэтому было принято решение перестроить мир. Я думаю, нам следует это сделать, не управлять только структурой. У нас есть студия .net и linq. Ведущий - давайте перейдем к рассмотрению работы. Питер – давайте рассмотри от этой части до этой части. Слева у нас есть артефакт Х++ - это просто исходный код. Далее нарисован Х++ компилятор, который берет исходный код плюс хранимые мета данные. Это ключевое место, доступ к метаданным, ссылка на таблицу. Мы получаем немедленную ошибку компиляции при отсутствии таблицы… Итак, компилятор формирует множество различной информации ссылочной и так далее. Но основной результат – это Р код, сурдо код. Концепция сурдо кода – это верхний уровень, язык инструкций процессора, ассемблер.
__________________
Axapta book for developer |
|
02.09.2009, 22:10 | #19 |
Участник
|
Цитата:
Единственная задача, с которой сталкивался и Аксапта не могла решить - это попытка решения оптимизационной задачи выбора наилучшего маршрута доставки груза - слишком много вариантов перебирать в памяти. Наложились ограничения на число объектов, объем памяти и скорость вычислений. Такую задачу проще делегировать dll-ке написанной не на управляемом языке а-ля C# - X++, а налабать обычную dll на С++ - Delphi. Но думаю что этот пример скорее исключение из правила. |
|
02.09.2009, 22:35 | #20 |
Участник
|
Цитата:
Именно из-за детерминированного сборщика мусора, который обязан собрать весь мусор прямо в момент его появления (кто-то блогпост еще писал по этому поводу). А если говорить про Ax2009, то кроме упомянутого fed'ом изменения в закрытии склада еще масса усилий потрачено на устранения частого обмена между клиентом и сервером (chatiness reduction) |
|