Каков этот новый язык программирования Аксума?

Чтобы ваш тест не прошел, тестирующий (я полагаю, это webdriverio) должен получить ошибку AssertionError. В вашем тесте эта ошибка будет сгенерирована chai в этой строке:

expect(value).to.equal("Thank You for your Message!2");

Но вы поймете это здесь:

catch(e) {
        console.log(e)
    } 

, так что она никогда не попадет к тестирующему, и тест будет не подведет. Попробуйте этот код:

async confirmSuccessfulSubmission() {
try {
    let value = await $("#contact_reply h1").getText()
    expect(value).to.equal("Thank You for your Message!2"); 
    } catch(e) {
        console.log(e)
        throw(e)
    } 
}

или, если вам не нужно печатать ошибку:

async confirmSuccessfulSubmission() {
    let value = await $("#contact_reply h1").getText()
    expect(value).to.equal("Thank You for your Message!2"); 
}
10
задан jdehaan 14 June 2010 в 18:20
поделиться

3 ответа

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

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

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

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

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

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

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

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

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

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

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

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

9
ответ дан 3 December 2019 в 20:06
поделиться

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

Axum Programmer's Guide

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

5
ответ дан 3 December 2019 в 20:06
поделиться

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

A подробнее о канале 9 здесь:

Maestro: управляемый домен для параллельного программирования

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

4
ответ дан 3 December 2019 в 20:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: