2009-05-12 2 views
9

나는 마이크로 소프트가 새로운 병렬 프로그래밍 언어를 발표 한 slashdot에 오늘 this 이야기를 읽었습니다.새로운 Axum 프로그래밍 언어는 무엇입니까?

이 새로운 프로그래밍 언어는 무엇입니까? 그것은 병렬 프로그래밍을 말합니다. 그러나 MPI, PVM, OpenMP 및 유사한 병렬 라이브러리/프레임 워크의 대체/대체가 될 것입니까?

의견이 있으십니까?

+0

허. 전에는 Axum에 대해 들어 본 적이 없습니다. 매우 흥미로운. Microsoft를 선택하십시오! 첫 번째 ASP.NET MVC, F #, 이제 Axum? 사악한! –

+3

누군가가 이것으로 흥미로운 것을 만들었지 만 블로그 포스트에 여기에 대한 링크를 게시하십시오. –

+0

그것은 좋을 것입니다. –

답변

9

Axum은 안전하고 실행 가능한 동시 프로그래밍을보다 단순하게 만드는 방식으로 구성된 언어입니다. 언어에 의해 모델링 개념은 (C#에서) lock의 사용을 통해 명시 적으로 스레드 동기화, Monitor, ReaderWriterLockSlim 등을 할 필요가 없도록

악숨에서 아이디어의 많은에 있었 주장 할 수

1986 년부터 Erlang programming language - 스웨덴의 Ericsson에서 전화 스위치로 작동하는 연구원이 고안 한 언어로, 동시로드가 높을 때 대량 처리량을 지원하는 것이 언어에 맞게 설계되었습니다. 악숨에서 아이디어의 대부분은 새로운 것이 아니다 동안, 그들은 확실히 .NET과 CLR에 새로운 아이디어의 일부를 포함

기존 .NET 라이브러리된다 (적어도 언어 수준에서.) :

  • Concurrency and Coordination Runtime (CCR) 얼랑처럼
    • Retlang
    • 는 메시지 전달은 악숨의 중심 개념이다. Erlang과 마찬가지로 Axum은 메시지 수신자가 진행 중이거나 원격 위치에 있는지에 대해 크게 무관심합니다. Axum은 현재 WCF와의 통합을 제공합니다.

      Axum은 라이브러리 사용을 통하지 않고 언어 수준에서 이러한 개념에 대한 지원을 포함한다는 점에서 위에서 언급 한 라이브러리와 다릅니다. Axum 컴파일러는 Axum 언어뿐만 아니라 C# 언어 자체에 대한 실험적 확장도 처리합니다. 즉 isolatedreadonly 키워드입니다.

      언어에 새로운 기능을 추가하는 것은 가볍게 받아 들여질 내용이 아닙니다. Spec#MSR (동시성과 관련이 없음)에서 개발 된 또 다른 C# - superset 언어입니다..NET 4.0의 Code Contracts에 대한 지원에서 알 수 있듯이 Microsoft는 새로운 언어 확장이 아닌 새로운 API를 추가하기로 결정했습니다 (CLR의 모든 언어 사용자에게 이점이 있습니다). 그러나 Axum의 경우에는 충분히 풍부하지 않습니다 진정한 동시 프로그래밍을 위해 유형 및 멤버에 필요한 종류의 불변성 제약 조건을 표현하기 위해 C# 3.0 언어로 작성되었습니다.

      얼랑에서 다뤄 데 내가 본 것을 좋아, 나는 악숨이 우리를 데려 갈 수있는 위치에 대해 매우 흥분. 팀에서 제안한 C# 언어 확장 중 일부는 일반 C# 프로젝트에도 유용합니다.

      마지막으로 그냥 좋은 동시성 모델보다 얼랑에 더가 있다는 것을 지적하고 싶습니다. Erlang은 엄격한 함수형 프로그래밍 언어입니다. 핫 스왑 가능 코드를 지원하므로 시스템을 중단하지 않고도 업그레이드 할 수 있습니다 (전화 스위치 또는 기타 24x7 시스템의 바람직한 기능). 나는 1 년 동안 스위치를 가동하고있는 대형 영국 통신 단체의 보고서를 듣고 그 시간에 4 번의 전화를 거는 데 실패했다. Erlang은 원격 예외 처리와 같은 다른 특성을 가지고 있습니다.

    +2

    허, 나는 CCR이 Credence를지지한다고 생각했습니다. ;) – harpo

    5

    질문에 머리에 못을 박은 것처럼 보입니다. 언급 한 일부 언어/프레임 워크에 대한 Microsoft .NET 대안과 유사합니다. 여기 프로그래머 가이드에서 살펴 보자는 .NET 프레임 워크의 나머지 부분과 잘 재생해야처럼

    Axum Programmer's Guide

    보인다. 흥미로운 C#/F #/Axum 상호 작용을 열 수 있습니다 ...

    +0

    당신이 거기에 링크 된 PDF가 일반적인 소개로 매우 읽기 쉽고 유용하다는 것을 알았습니다. –

    1

    여기 Axum의 상태에 대한 업데이트입니다. Apparrently 동시성 기능 중 일부는 더 이상 C#/VB.Net의 일부가 아닙니다.

    ... 안전 병렬 및 에이전트 기반 프로그래밍 주위의 개념은 너무 멀리 주류 외부 C# 및 VB 같은 언어에서 지금 채택하기로 많은 보였다. Axum은 이러한 개념을 범용 언어로 강요하지 않으므로 Axum에서 작업 한 사람은 입니다.