문제

글쎄요, 오랫동안 C#으로 .net 프로그램을 작성한 후에 저는 정적으로 입력된 언어와 함께 제공되는 모든 구문 쓰레기에 대해 화가 나고 좌절감을 느끼기 시작했습니다.이제 CLI를 활용하는 동적 유형 언어로 변경하고 싶습니다.그래서 주변을 좀 찾아봤는데 내가 본 것이 마음에 들지 않았습니다.나는 처음으로 IronPython을 찾았습니다.하지만 프로젝트가 무질서한 느낌이 들었고 전혀 좋아 보이지 않았습니다.그러다가 부(Boo)에 대해 들었습니다.나는 부를 이상적으로 좋아했지만 프로젝트가 중단된 것 같은 느낌이 듭니다.그러다가 IronRuby에 대해 들었지만 프로젝트는 아직 베타 단계이므로 좀 더 성숙해질 때까지 기다리기로 했습니다.

그래서 좋은 CLR 호환 동적 언어를 찾을 수 없어서 여러분은 무엇을 사용하시겠습니까?

사람들이 IronPython을 선택하지 않는 이유가 무엇인지 묻기 시작했습니다.그 이유는 앞서 말했듯이 체계적이지 못한 것 같기 때문입니다.왜?

1- 홈페이지는 codeplex의 다른 페이지를 가리킵니다. 홈페이지는 깨끗해야 하며 IronPython의 장점만 지적해야 합니다. IronRuby 페이지를 예로 들어 보겠습니다. http://www.ironruby.net/ 사용자가 IronRuby를 사용하기 전에 IronRuby의 svn에 액세스해야 하는 경우에도 언어 개발 관련 내용을 사용자에게 숨깁니다.IPython이 생성될 때 어떤 종류의 문제를 해결하려고 했는지.그런 정보가 있는 페이지가 있나요?페이지는 있지만 기사에 대한 의미 없는 링크 사이에 '추가 정보 페이지'에 숨겨져 있습니다.Boo의 페이지에는 선언문이라는 이름이 명확하게 표시되어 있습니다. http://boo.codehaus.org/BooManifesto.pdf .

더 많은 것이 있지만 IPython은 실제로 가질 수 있는 품질에도 불구하고 단지 집에서 만든 통역사일 뿐이라는 느낌이 듭니다.Boo를 다운로드하고 IronPython을 사용하는 것이 더 안전하다고 느꼈습니다(하지만 Microsoft에서는 IPython도 다운로드했기 때문에 걱정하지 마세요).

Duck-Typing과 Boo의 정적 타이핑에 관해서는 둘 다 제게는 잘 작동하는 것 같습니다.

도움이 되었습니까?

해결책

나는 여전히 사용하고 있습니다 우우. 왜 당신이 Boo가 중단되었다고 믿는 지 잘 모르겠습니다. 개발은 때때로 느리게 보이지만 현재 여러 사람이 최근 고정 된 문제 (버그) 목록.

Boo에 익숙하지 않은 사람들에게는 Python과 매우 유사하지만 Python이하지 않는 것들이 포함됩니다. 문자열 보간 그리고 구문 매크로). Boo 프로그램을 컴파일하거나 "Boo Interactive Shell"을 통해 Boo를 사용할 수 있습니다. 부인.

그건 그렇고, 나는 몇 년 전에 그것을 보았을 때 Ironpython을 좋아하지 않았습니다. 나에게 그것은 CLI에 대한 파이썬의 직선 포트처럼 보였지만, 내가 말할 수있는 한, 전형적인 .NET 개발에 필요한 새로운 기능을 포함하지 않았다.

편집하다: Ironpython은 처음 본 이후로 진행된 것 같습니다 (Curt를 가리키는 것에 감사드립니다). 그러나 나는 부를 찾은 이후로 Ironpython을 다시 보는 것을 귀찮게하지 않았습니다.

다른 팁

실질적인 유용성 측면에서 Ironpython 지금 당신의 최선의 방법이 될 것입니다.

사람들이 부를 제안하는 이유는 무엇입니까? 정적으로 입력 한 언어는이 질문이 요구하는 것이 아닙니다. 그렇습니다. 옵션 오리 타이핑이 있다는 것을 알고 있지만 실제로 부와 관련된 정보가 질문 저자에게 허용되는 경우 실제로 질문을 편집해야합니다.

Ironpython과 관련하여, 당신은 당신이 그것을 좋아하지 않는다고 말했지만, 정말 모호한 비판적 의견에 대해 내가 줄 수있는 응답은 없습니다 :)

또는, 나는 당신이 CPYTHON. 몇 가지 점 :

  • py2exe 및 기타 도구로 .exe 파일을 만들 수 있습니다.
  • 타사 파이썬 라이브러리 및 프레임 워크에 대한 훨씬 더 큰 액세스
  • pywin32를 통해 Windows API에 대한 액세스
  • C로 쓰여진 Python Extension은 사용 가능합니다 (Ironpython과 달리 노력 이 상황을 개선하기 위해 진행 중)

대부분의 것에 대해 .NET가 필요하지 않다는 것을 알게 될 것입니다. 물론 이것은 모두 응용 프로그램에 따라 다릅니다. 기존 .NET 코드와 통합하려면 IronpyThon을 사용해야합니다.

당신은 "동적"을 원한다고 말하지만 동기 부여가 "모든 구문 쓰레기"를 피하는 것만으로도, 당신은 살펴 봐야합니다. 에프#. 정적으로 유형되었지만 대화식 모드 (REPL 루프)뿐만 아니라 동적 언어의 조명 구문 느낌이 있습니다.

나는 Ironpython이 조직화되지 않은 것처럼 보이지만, 나는 (작은) 프로젝트에 그것을 사용하고 있었고 지금까지 그것에 매우 만족했습니다.

아직 보지 못했다면 체크 아웃해야합니다. Ironpython Studio.

나는 비슷한 길을 따라 갔다. Boo, Dotlisp, Ironpython 등을 확인했습니다.

Ironpython을 추천합니다. 그러나 아직 Python 경험이 없다면 Cpython을로드하고 예제 및 튜토리얼에이를 사용하여 Core Python을 더 빠르게 배울 것입니다.

Cpython 이해가되면 Ironpython은 이해하기가 훨씬 쉽습니다. 물론 여전히 C#을 이해하고 .NET SDK 문서에 액세스해야합니다. 그것 없이는 Ironpython은 유용한 일을 끝내기가 매우 어렵습니다.

당신은 또한 살펴볼 수 있습니다 언어. 그것은 순수한 역학이 아니며, 정적 및 역학의 혼합물입니다. 그리고 대부분의 최신 언어와 마찬가지로, 기능이 혼합 된 순수한 OO입니다. 또한 JVM 및 CLR 플랫폼에서도 실행됩니다.

구문 현명한 설탕 구문이 많은 C#에 더 가깝기 때문에 루비/파이썬과 C# 블렌드처럼 보입니다.

언어는 새롭고 3 살 밖에되지 않았기 때문에 성능은 아직 훌륭하지 않습니다.

업데이트 21-FEB-2014 : 팬은 이름을 변경했습니다 팬텀

보세요 클로저.CLR 버전은 아직 초기 단계이지만 다음을 통해 .Net에서 Java 버전이 작동하도록 할 수 있습니다. IKVM

... 정적으로 입력 한 언어와 함께 제공되는 구문 쓰레기통 ...

우려가 구문 쓰레기라면 유형의 추론이있는 정적으로 입력 한 언어를 확인하고 싶습니다. 에프#.

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