Вопрос

Я читал это сегодняшняя статья на slashdot, в которой они анонсируют новый язык параллельного программирования от Microsoft.

Что это за новый язык программирования?Там написано "Параллельное программирование".Но будет ли это альтернативой / заменой MPI, PVM, OpenMP и подобным параллельным библиотекам / фреймворкам?

Есть какие-нибудь мысли?

Это было полезно?

Решение

Axum - это язык, структурированный таким образом, чтобы упростить безопасное и производительное параллельное программирование.Концепции, смоделированные языком, позволяют избежать необходимости делать синхронизацию потоков явной с помощью lock (на C#), Monitor, ReaderWriterLockSlim, и т.д...

Можно было бы утверждать, что многие идеи в Аксуме были воплощены в Язык программирования Erlang с 1986 года - язык, разработанный исследователями, работающими в Швеции для Ericsson, для работы на телефонных коммутаторах, и, следовательно, поддержка огромной пропускной способности при высокой параллельной нагрузке была настолько важна, что она была встроена в этот язык.Хотя многие идеи в Axum не новы, они, безусловно, новы для .NET и среды CLR (по крайней мере, на уровне языка).

Существующие .СЕТЕВЫЕ библиотеки, содержащие некоторые из этих идей, следующие:

Как и Erlang, передача сообщений является центральной концепцией в Axum.Как и Erlang, Axum в значительной степени безразличен к тому, находится ли получатель сообщения в процессе обработки или удаленно.В настоящее время Axum обеспечивает интеграцию с WCF.

Axum отличается от библиотек, упомянутых выше, тем, что включает поддержку этих концепций на уровне языка, а не только посредством использования библиотек.Компилятор Axum имеет дело не только с языком Axum, но и с некоторыми экспериментальными расширениями самого языка C #;а именно: isolated и readonly ключевые слова.

Добавление новых функций в язык - это не то, к чему следует относиться легкомысленно. Спецификация# это еще один язык с надмножеством C #, разработанный в MSR (не связано с параллелизмом).Как видно из поддержки Кодовые контракты в .NET 4.0 корпорация Майкрософт решила отдать предпочтение добавлению нового API, а не новых языковых расширений (это выгодно пользователям всех языков среды CLR.) Однако в случае Axum язык C # 3.0 недостаточно богат, чтобы выразить виды ограничений неизменяемости, требуемых от типов и их членов для действительно безопасного параллельного программирования.

Попробовав Эрланг, и мне понравилось то, что я увидел, я очень взволнован тем, куда Аксумский университет может привести нас.Некоторые расширения языка C #, предложенные командой, полезны и для обычных проектов на C #.

Наконец, я хотел бы отметить, что в Erlang есть нечто большее, чем просто хорошая модель параллелизма.Erlang - это строгий функциональный язык программирования.Он поддерживает код с возможностью горячей замены, что означает, что систему можно обновить без ее остановки (желательная функция телефонного коммутатора или любой другой системы 24x7).Я слышал отчет крупной британской телекоммуникационной организации, которая в течение года использовала коммутатор и за это время не смогла перенаправить только четыре вызова.Erlang обладает и другими характеристиками, такими как удаленная обработка исключений.

Другие советы

Сдается мне, что своим вопросом вы попали в самую точку.Похоже на Microsoft.Сетевая альтернатива некоторым языкам / фреймворкам, которые вы упомянули.Взгляните на Руководство программиста здесь:

Руководство программиста Axum

Похоже, это должно хорошо сочетаться с остальной частью .NET Framework.Это могло бы открыть некоторые интересные взаимодействия C # / F # / Axum...

Axum - это новое название языка Microsoft "Maestro", который первоначально был исследовательским языком для параллельного программирования, но совсем недавно был "повышен" до первоклассного.

Немного больше информации о 9 канале здесь:

Маэстро:Управляемый Доменно-ориентированный Язык Для Параллельного программирования

...и на официальный блог команды Axum.

Вот обновленная информация о состоянии Аксум.Очевидно, что некоторые функции параллелизма больше не будут частью C # / VB.Net.

...концепции безопасного параллелизма и агентно-ориентированного программирования считались многими слишком далекими от мейнстрима, чтобы быть принятыми сейчас на таких языках, как C # и VB.Идея Axum заключалась в том, чтобы не навязывать эти концепции языкам общего назначения, поэтому те из нас, кто работал над Axum, не удивлены.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top