Что это за новый язык программирования Axum?
Я прочитала этой история на slashdot сегодня, где они объявляют новый язык параллельного программирования от Microsoft.
о чем этот новый язык программирования? Это говорит о параллельном программировании. Но будет ли это альтернативой / заменой MPI, PVM, OpenMP и аналогичных параллельных библиотек/фреймворков?
какие мысли?
4 ответов
Axum-это язык, структурированный таким образом, чтобы упростить безопасное и эффективное параллельное программирование. Концепции, смоделированные языком, избегают необходимости делать синхронизацию потоков явной с помощью lock
(на C#), Monitor
, ReaderWriterLockSlim
, etc...
можно утверждать, что многие идеи в Аксуме были в язык программирования Erlang С 1986 года-язык, разработанный исследователями, работающими в Швеции для Ericsson для работы на телефонные коммутаторы и, следовательно, поддержка массивной пропускной способности при высокой параллельной нагрузке были настолько важны, что были разработаны на языке. Хотя многие идеи в Axum не новы, они, безусловно, новы для .NET и CLR (по крайней мере, на языковом уровне.)
существующие библиотеки .NET, которые содержат некоторые из этих идей:
как и Erlang, передача сообщений является центральной концепцией в Axum. Как и Erlang, Axum в значительной степени безразличен к тому, находится ли получатель сообщения в процессе или удаленно. В настоящее время Axum обеспечивает интеграцию с WCF.
Axum отличается от библиотек, упомянутых выше, тем, что включает поддержку этих концепций на уровне языка, а не только с помощью библиотек. Компилятор Axum имеет дело не только с языком Axum, но и также с некоторыми экспериментальными расширениями самого языка C#; а именно isolated
и readonly
ключевые слова.
добавление новых функций в язык-это не то, что нужно воспринимать легкомысленно. Spec# еще один язык C#-superset, разработанный в MSR (не связано с параллелизмом). Как видно из поддержки Контракты Кода в .NET 4.0 Microsoft решила отдать предпочтение добавлению нового API, а не новых языковых расширений (это выгодно пользователям из всех языков на CLR.) Однако в случае Axum в языке C# 3.0 недостаточно богатства, чтобы выразить виды ограничений неизменяемости, требуемых от типов и их членов для действительно безопасного параллельного программирования.
побывав в Эрланге и полюбив то, что я видел, я очень взволнован тем, куда Аксум может нас отвезти. Некоторые из расширений языка C#, предложенных командой, также полезны для регулярных проектов C#.
наконец, я хотел бы отметить из-за этого есть больше, чем просто хорошая модель параллелизма. Erlang-это строгий функциональный язык программирования. Он поддерживает код горячей замены, что означает, что система может быть обновлена без остановки (желательная функция телефонного коммутатора или любой другой системы 24x7). Я слышал сообщение от крупной британской телекоммуникационной организации, работавшей на коммутаторе в течение года и не сумевшей за это время переадресовать только четыре вызова. Erlang имеет другие характеристики, такие как remote обработка исключений также.
Похоже, вы попали в точку в своем вопросе. Похоже на Microsoft.NET альтернатива некоторым языкам / фреймворкам, о которых вы упомянули. Взгляните на руководство программиста здесь:
похоже, что он должен хорошо играть с остальной частью .NET Framework. Это может открыть некоторые интересные взаимодействия C#/F#/Axum...
Axum-это новое название языка Microsoft "Maestro", который первоначально был исследовательским языком для параллельного программирования, но недавно был" продвинут " на первоклассный язык.
немного больше информации о канале 9 здесь:
Maestro: Язык Управляемого Домена Для Параллельного Программирования
... и на официальный блог команды Axum.
вот обновление о состоянии Axum. В настоящее время некоторые функции параллелизма больше не будут частью C#/VB.Сеть.
...концепции безопасного параллелизма и программирование на основе агентов было замечено многими как слишком далеко за пределами мейнстрим будет принят сейчас на таких языках, как C# и VB. Идея Axum не должен был форсировать эти понятия на языках общего назначения, поэтому те из нас, кто работает на Аксум не удивленный.