문제

나는 읽었다 이것 오늘날 Slashdot에 대한 이야기는 Microsoft의 새로운 병렬 프로그래밍 언어를 발표했습니다.

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

이견있는 사람?

도움이 되었습니까?

해결책

Axum은 안전하고 성능있는 동시 프로그래밍을 더 간단하게 만드는 방식으로 구성된 언어입니다. 언어로 모델링 된 개념은 사용을 통해 스레드 동기화를 명시 적으로 만들 필요가 없습니다. lock (C#), Monitor, ReaderWriterLockSlim, 등...

Axum 내의 많은 아이디어가 Erlang 프로그래밍 언어 1986 년 이래로 스웨덴에서 Ericsson이 전화 스위치를 실행하기 위해 일하는 연구원들이 설계 한 언어로, 동시 부하에 따라 대규모 처리량을 지원하는 것이 매우 필수적이어서 언어로 설계되었습니다. Axum의 많은 아이디어는 새롭지는 않지만 .NET과 CLR (적어도 언어 수준에서)에 익숙하지 않습니다.)

이러한 아이디어 중 일부를 포함하는 기존 .NET 라이브러리는 다음과 같습니다.

Erlang과 마찬가지로 메시지 통과는 Axum의 중심 개념입니다. Erlang과 마찬가지로 Axum은 메시지 수신자가 프로세스 중 또는 원격으로 위치하는지 여부에 대해 크게 무관심합니다. Axum은 현재 WCF와 통합을 제공합니다.

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

언어에 새로운 기능을 추가하는 것은 가볍게 취해야 할 것이 아닙니다. 투기# 또 다른 C#-superset 언어가 개발되었습니다 MSR (동시성과 관련이 없음). 지원으로 볼 수 있듯이 코드 계약 .NET 4.0에서 Microsoft는 새로운 언어 확장 대신 새로운 API를 추가하는 것을 선호하기로 결정했습니다 (이는 CLR의 모든 언어 사용자에게 이익이됩니다) 그러나 Axum의 경우 C# 3.0 언어에는 충분한 풍부함이 없습니다. 진정으로 안전한 동시 프로그래밍을 위해 유형과 회원에게 필요한 불변성 제약의 종류.

Erlang에 덤벼 들고 내가 본 것을 좋아했을 때, 나는 Axum이 우리를 어디로 데려 갈지 매우 흥분합니다. 팀이 제안한 C# 언어에 대한 확장 중 일부는 일반 C# 프로젝트에도 유용합니다.

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

다른 팁

당신이 당신의 질문에서 머리에 못을 박은 것처럼 보입니다. 언급 한 일부 언어/프레임 워크에 대한 Microsoft.net 대안처럼 보입니다. 프로그래머 가이드를 여기를 살펴보십시오.

Axum 프로그래머 가이드

나머지 .NET 프레임 워크와 잘 어울리는 것 같습니다. 흥미로운 C#/F#/axum 상호 작용을 열 수 있습니다 ...

Axum은 Microsoft의 "Maestro"언어의 새로운 이름으로 원래 병렬 프로그래밍을위한 연구 언어 였지만 최근에 일류 언어로 "홍보"되었습니다.

채널 9에 대한 조금 더 많은 정보 : 여기를 참조하십시오.

MAESTRO : 동시 프로그래밍을위한 관리 도메인 별 언어

... 그리고 공식 Axum 팀 블로그.

다음은 상태에 대한 업데이트입니다 axum. 동시성 기능 중 일부는 더 이상 C#/vb.net의 일부가되지 않습니다.

... 안전한 병렬 처리 및 에이전트 기반 프로그래밍에 관한 개념은 주류를 벗어난 많은 사람들이 C# 및 VB와 같은 언어로 지금 채택되지 않았다. Axum의 아이디어는 이러한 개념을 일반 목적 언어에 강요하지 않기 때문에 Axum에서 일하는 사람들은 놀라지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top