28.01.2011, 14:44 | #1 |
Гость
|
.Net
Уважаемые, с чего начать изучение функционала .Net в аксапте?
Я так понимаю, язык , начиная с 4-ки , уже интегрирован в морфикс. Но, предполагаю, что базовая для аксапты сборка серьезно ограничена. Про нет знаю только концептуальные вещи о двойной компиляции, сборках, встроенных в операционку, их версионности, и о том, что сборки можно добавлять в операционку по мере надобности. |
|
28.01.2011, 14:53 | #2 |
Участник
|
Зачем вам это если скоро будет крах MS ?
|
|
28.01.2011, 15:36 | #3 |
Участник
|
В Аксапту встроена возможность использования классов из .Net (CLR) сборок.
Возможности этой связки довольно ограниченны и описаны тут http://msdn.microsoft.com/en-us/library/cc598160.aspx Ну, соответственно, нужно так же разбираться в библиотеке классов .NET, которая растет от версии к версии. |
|
28.01.2011, 16:04 | #4 |
Модератор
|
Может достаточно начать изучать C# 2010 и платформа .NET 4 с учетом, что Dynamics Ax 2012 совместим с Visual Studio 2010 и .NET 4.
P.S. Есть интересная стать Developing Applications for Microsoft Dynamics AX with X++ and the .NET Framework
__________________
This posting is provided "AS IS" with no warranties, and confers no rights. Последний раз редактировалось Poleax; 28.01.2011 в 16:09. |
|
28.01.2011, 17:15 | #5 |
Гость
|
2 Logger
Вы невнимательно читали мой док по трендам развития ИТ или вообще не читали. Кратко: MS и софт, который она разработала на текущий момент - не одно и то же. Ребятам спасибо, акцентироваться буду на 4-ке и 2009-ой. Не верю что-то в 2012... |
|
28.01.2011, 17:38 | #6 |
Участник
|
Цитата:
Сообщение от Poleax;241681 [URL="http://www.ozon.ru/context/detail/id/5602592/"
C# 2010 и платформа .NET 4[/URL]
|
|
29.01.2011, 10:12 | #7 |
Гость
|
я правильно понимаю, что подсказок-описаний нэймспейсов-класcов-сборок в морфиксе нет и нужно все держать в памяти?
|
|
29.01.2011, 10:48 | #8 |
Участник
|
В 2009, насколько я помню, внутри неймспейсов подсказываются. То есть после набирания System. будет выведено меню поднеймспейсов и классов.
Только не забудьте добавить нужную вам сборку в references, если она еще не там (или не общедоступна). |
|
29.01.2011, 11:14 | #9 |
Гость
|
не имею 2009 сейчас: что такое 'references' ?
Я так понял, что .Net частью операционки сделали как раз для прозрачности использования... Отсюда вроде как установленное в операционке должно 'увидеться' во всех MS-ых IDEs. Последний раз редактировалось otkudao; 29.01.2011 в 11:17. |
|
29.01.2011, 11:26 | #10 |
Участник
|
|
|
29.01.2011, 12:54 | #11 |
Участник
|
Цитата:
Сообщение от Poleax
Может достаточно начать изучать C# 2010 и платформа .NET 4 с учетом, что Dynamics Ax 2012 совместим с Visual Studio 2010 и .NET 4.
Цитата:
Цитата:
PS. В качестве отправной точки для понимания того, что такое GAC, чем CLR отличается от .NET Framework и прочее, могу посоветовать замечательную книгу Джеффри Рихтера CLR via C# (ISBN 9785750203482 для русского издания). |
|
29.01.2011, 15:45 | #12 |
Участник
|
Ничто не мешает держать одновременно несколько версий Framework, не нужно ничего переписывать под 4.0
AX 2009 прекрасно использует сборки из 3.5-й версии, достаточно того, чтобы она была установлена и нужные сборки были добавлена в references, тут XML есть пример использования XLINQ из версии 3.5 |
|
29.01.2011, 19:01 | #13 |
Участник
|
|
|
11.02.2011, 16:52 | #14 |
Гость
|
не дочитал еще, но уже начали глодать смутные сомнения:
1. Совместное использование нескольких языков программирования (те, что managed) насколько реально востребовано и используется? 2. Везде в тексте указания, что нужно активно плыть в сторону оптимизации, сам компилятор мышей не ловит. Вплоть до того, что рекомендуется строить леса перегруженных методов. В связи с этим вопрос: насколько удобство использования нескольких языков перевешивает тормознутость разработки и исполнения? Вопрос не в плане аксапты, а в плане чистого .Net. Хотя и в плане аксапты можно прокомментить. |
|
11.02.2011, 18:19 | #15 |
Участник
|
Цитата:
Цитата:
Сообщение от otkudao
2. Везде в тексте указания, что нужно активно плыть в сторону оптимизации, сам компилятор мышей не ловит. Вплоть до того, что рекомендуется строить леса перегруженных методов.
В связи с этим вопрос: насколько удобство использования нескольких языков перевешивает тормознутость разработки и исполнения? Цитата:
Разработчики с опытом программирования на неуправляемых C/C++ наверняка
заинтересуются, как это сказывается на производительности. В конце концов, неуправляемый код компилируется для конкретного процессора и при вызове просто исполняется. В управляемой же среде компиляция производится в два этапа. Сначала компилятор проходит исходный код и переводит его в IL. Но для испол нения сам ILкод нужно перевести в машинные команды в период выполнения, что требует дополнительной памяти и процессорного времени. Поверьте: я сам из тех, кто программирует на C/C++, и, переходя на CLR, я до статочно скептически рассматривал все эти дополнительные издержки. Вторая стадия компиляции, имеющая место в период выполнения, снижает скорость и требует дополнительной динамической памяти — с этим не поспоришь. Однако Microsoft проделала большую работу, чтобы свести эти издержки к минимуму Трудно поверить, но многие (включая меня) считают, что управляемые при ложения могут работать производительнее неуправляемых, и тому есть масса причин. Взять хотя бы тот факт, что превращая ILкод в команды процессора в период выполнения, JITкомпилятор располагает более полными сведениями о среде выполнения, чем компилятор неуправляемого кода. Вот особенности, ко торые позволяют управляемому коду «опередить» неуправляемый. JITкомпилятор может обнаружить факт выполнения приложения на Pentium 4 и сгенерировать машинный код, полностью использующий все преимущества особых команд этого процессора. Неуправляемые приложения обычно ком пилируют в расчете на среднестатистический процессор, избегая специ фических команд, которые заметно повышают производительность приложе ния на новейших процессорах. JITкомпилятор может обнаружить, что определенное выражение на конкрет ной машине всегда равно false. Например, посмотрим на метод с таким кодом: if (numberOfCPUs > 1) { ... } Здесь numberOfCPUs — число процессоров. Код указывает JITкомпилято ру, что для машины с одним процессором не нужно генерировать никаких машинных команд. В этом случае машинный код оптимизирован для конкрет ной машины: он короче и выполняется быстрее. CLR может проанализировать выполнение кода и перекомпилировать ILкод в команды процессора во время выполнения приложения. Перекомпилирован ный код может реорганизовываться с учетом обнаруженных некорректных прогнозов ветвления. Это лишь малая часть аргументов в пользу того, что управляемый код будуще го будет исполняться лучше сегодняшнего неуправляемого. Как я сказал, произ водительность и сейчас очень неплохая для большинства приложений, а со вре менем ситуация только улучшится. Если ваши эксперименты покажут, что JITкомпилятор CLR не обеспечивает нужную производительность, рекомендую воспользоваться утилитой NGen.exe, поставляемой с .NET Framework SDK. NGen.exe компилирует весь ILкод выбран ной сборки в машинный и сохраняет его в дисковом файле. При загрузке сборки в период выполнения среда CLR автоматически проверяет наличие предварительно скомпилированной версии сборки и, если она есть, загружает скомпилированный код, так что компиляция в период выполнения не производится. Заметьте, что NGen.exe не ориентируется на конкретную среду выполнения и генерирует код для среднестатистической машины; по этой причине созданный утилитой код не столь оптимизирован, как произведенный JITкомпилятором. |
|
11.02.2011, 20:25 | #16 |
Участник
|
Цитата:
1.С++/Cli - есть специальный диалект С++, который является одновременно Managed языком - можно использовать наработанные библиотеки X++, а в результате получаются .NET классы. Я когда-то писал плагин для фара по такой схеме (сейчас другие люди рзрабатывают). 2. PowerShell - на шелле удобно работать с файлами, блгодаря шелльному синтаксису. При этом можно использовать весь .NET фреймворк.Иногда даже в шелльные скрипты вставляют кусочки на C# при помощи Add-Type 3. Вообще когда удобно работать на другом языке билиотеки в-основном есть на C#. Многие предпочитают VB.NET из-за опыта в бейские, есть F#, который содержит паттерн матчинг и контроль едини измерения Цитата:
2. Везде в тексте указания, что нужно активно плыть в сторону оптимизации, сам компилятор мышей не ловит. Вплоть до того, что рекомендуется строить леса перегруженных методов.
В связи с этим вопрос: насколько удобство использования нескольких языков перевешивает тормознутость разработки и исполнения? Вопрос не в плане аксапты, а в плане чистого .Net. Цитата:
Хотя и в плане аксапты можно прокомментить.
.NET с нормальным GC и JIT гораздо быстрее чем X++. Еще есть богатый фреймфорк, который удобно использовать, если надо чего-то особенного. |
|
11.02.2011, 20:26 | #17 |
Гость
|
2 _scorp_
Как раз Рихтера и читаю. Цитата:
"managed" язык более выразительный или удобный для ведения таких расчетов, чем C#, то почему бы этим языком не пользоваться. Тогда как GUI писать на C#.
Про "тормознутость" разработки: нужно все контролировать без помощи компилятора, переписывать базовые классы/методы, прописывать "линейки" конструкторов и др методов, предназначенных для одного и того же и проч, проч, проч. Это все из Рихтера, кстати. Вы сами его внимательно читали? Прошу подключаться к дискуссии практиков. |
|
11.02.2011, 20:33 | #18 |
Гость
|
2 belugin
Цитата:
.NET с нормальным GC и JIT
|
|
11.02.2011, 22:51 | #19 |
Участник
|
|
|
11.02.2011, 22:52 | #20 |
Участник
|
Вот это я не понял, это про что:
Про "тормознутость" разработки: нужно все контролировать без помощи компилятора, переписывать базовые классы/методы, прописывать "линейки" конструкторов и др методов, предназначенных для одного и того же и проч, проч, проч. можете разжевать? |
|