2012-02-17 2 views
2

C# 프로젝트에서 F # 프로젝트를 어셈블리로 사용할 수 있습니까?C#에서 F #을 dll로 사용

예; F #이 계산에 필요한 C#보다 빠르기 때문에 코드의 계산 부분이 F #이고 기본 프로젝트가 C# 인 경우 응용 프로그램을 더 빠르게 만들 수 있습니까?

+4

1 예, 가능합니다. 2, 그것은 F # 및 C#의 개발자의 유창함에 따라 다릅니다. 3, 그것은뿐만 아니라 달려 있습니다. – pad

+0

@Heinzi : C#에 관해서는 실제 속도가 아닐 수도 있습니다. 좀 더 설명해 주시겠습니까? – mrbm

+0

@mrbm : 왜 "진짜 속도가 없다"고 생각하니? – Heinzi

답변

8

예, F # 프로젝트를 C# 프로젝트의 어셈블리로 사용할 수 있습니다.

아니요, F #이 그 자체는이며 C#보다 빠릅니다. 둘 다 동일한 유형의 중급 언어로 컴파일되고 동일한 .net 프레임 워크에서 실행됩니다. F #의 특정 기능을 사용하여 C#보다 훨씬 더 빠르게 고급 알고리즘을 작성할 수는 있지만 알고리즘에 크게 의존합니다.

+0

나는 그것을 얻지 못했다? 둘 다 같은 유형으로 컴파일됩니다! 즉, F #을 더 빠르게 만드는 알고리즘입니다. 그리고이 알고리즘은 F #처럼 C#으로 작성할 수 없습니다! 예를 들어 주시겠습니까? – mrbm

+2

F # 및 C# 및 모든 .net 언어 (나는 생각한다)는 동일한 중간 언어로 컴파일됩니다. 따라서 속도를 높이려면 언어로 작성한 코드가 필요합니다. C# 또는 F #으로 작성하는 것이 아닙니다. C#이 할 수있는 일은 F #이 할 수 있고 비자 (나는 약간의 엣지 경우일지도 모른다) 일 수도있다. 주어진 알고리즘을 한 언어 또는 다른 언어로 구현하는 것이 더 쉬울 수도 있으므로 두 언어가 모두 빠를 수는 있지만 한 특정 언어에서 더 쉬울 수도 있습니다. –

1

예, 할 수 있으며 의미가 있습니다. 나는 개인적으로 내 프로젝트에서 그 접근 방식을 사용합니다. 그러나 C# 대신 F #에서 계산을한다고해서 코드가 더 빠르게 또는 더 느리게 실행되는 것은 아닙니다. 물론 함수형 프로그래밍에 익숙하다면 계산 코드를 더 빠르고 간결하고 세련되게 작성할 수 있으며 코드를 쉽게 테스트하고 유지하며 추론 할 수 있습니다.

2
  • 예, F #을 .NET 언어이며

  • F 번호가 빠른 아닌 준수 DLL을 제공 할 것입니다. F #은 특정 유형의 문제를 표현하는 더 나은 방법을 제공합니다. 따라서 버그의 양을 줄이고 생산성을 향상시킵니다. F #은 또한 상태가없고 확장 성이 뛰어나고 데이터와 함수를 명확하게 구분할 수있는 프로그래밍 모델을 매우 권장합니다.