2008-09-19 3 views
4

나는 마이크로 소프트 환경에서 일하므로, 나는 내 모든 C# 망치를 사용할 수있다. 즉, 어떤 언어 (컴파일, 해석, 스크립팅, 기능, 모든 유형!)가 C#을 이해하고 어떤 목적으로 보완 되었는가? 예를 들어 필자는 많은 스크립트 기능을 컴파일 된 콘솔 앱에서 Powershell 스크립트로 옮겼습니다. MS 개발자라면 F #, IronRuby, IronPython 등과 같은 다른 언어에 대한 세계에서 틈새 시장을 찾았습니까? 그리고 어떤 틈새 시장을 채우고 있습니까?작업에 적합한 언어 이해하기 : C#에서 분기하기

참고 :이 질문은 도망 갈 수 없어 내 회사 주변에 램프 스택을 설치하기 때문에 Microsoft dev 사용자를 대상으로하므로 영원히 지원해야합니다. :) 그러나, 당신이 당신의 주요 언어를 제외하고 당신의 세계에서 특정 업무/역할을 수행하기 위해 흥미로운 것으로 밝혀진 다른 언어들도 언급 해주십시오.

답변

7

파이썬/펄/루비/PowerShell은 C#/VB.NET에 훌륭한 보충 자료입니다. 상사가 텍스트 파일을 건네주고 데이터베이스에 한 두 번 삽입한다고하면 Perl/Python/Ruby (PowerShell에 대해서는 잘 모르겠지만 그렇게 어렵지는 않다고 생각합니다)는 괜찮습니다. 그것을 분석하십시오. 어느 쪽이든, 주요 응용 프로그램에 대해서는 아마도 C#에 갇혀있을 것입니다. 보다 역동적 인 언어 중 하나를 사용하여 C#에서 코드를 생성 할 수 있습니다.

Microsoft 환경을 사용하고 있으므로 해결 방법을 얻는 가장 좋은 기회는 PowerShell입니다. 그 다음으로 IronPython 또는 CLR과 통합되는 다른 것을 말할 것입니다. 그러나 중요한 문제는 다른 사람이 당신이하는 일을 유지하는 것이고, 당신이 사용하는 언어를 알아야한다는 것입니다. MS는 앞으로 PowerShell을 더 많이 사용할 계획이므로 PowerShell을 정당화하고 Python/Perl/Ruby를 말하는 것이 더 쉽습니다.

텍스트 파일을 한 번만 처리하는 경우. 또는 모든 코드를 생성 한 다음 생성 된 코드를 유지할 예정인 일회성 코드 생성기를 작성하면 문제가되지 않습니다. 당신은 결과를 소비 할 사람이고 Perl을 사용하여 시간을 절약하면 더 많은 힘을 얻습니다. 그러나 템플릿을 변경하고 생성 된 코드를 유지하는 대신 생성기를 실행하는 활성 코드 생성기와 같이 반복해서 사용하게 될 작업을 수행하는 경우 언어를 알아야 할 다른 개발자가 필요합니다. 당신이 사용 했어. Microsoft Shop에서 Perl/Ruby/Python을 배우는 것을 주장하는 것이 훨씬 어렵습니다. 그러나 PowerShell은 쉬운 인수처럼 보입니다. 필자는 MS의 계획에 따르면 결국 응용 프로그램이 커맨드 릿을 통해 파워 셸에 더 많은 기능을 제공하게 될 것이라고 생각합니다. 이 경우 PowerShell은 다른 방법으로는 얻을 수없는 스크립트 가능한 기능을 폭로 할 것이기 때문에 더 이상 생각할 필요가 없습니다.

5

좋은 스크립트 언어는 항상 당신에게 좋은 도구입니다. Ruby 또는 Python을 참조하십시오.

+0

특히 MS가 DLR에서 작업 할 때 - http://en.wikipedia.org/wiki/Dynamic_Language_Runtime –

0

나는 jjnguy와 함께있다. 스크립팅 언어 중 하나를 사용해보십시오. 또한 보너스로 Ruby/PythonPearl 등을 배울 때 ... 다른 환경을 개발하는 게이트웨이 약물 ... 오류 언어입니다.

2

파이썬을 프로토 타이핑에 사용합니다. 편집 사이에 시간이 거의없고 새로운 버전의 코드를 실제로 실행하기 때문에. 나는 실제 프로젝트를 위해 그것을 사용하게 될지도 모른다 - 내가 그것을 사용할수록 더 좋아진다.

비록 C# 프로그래머로서 익숙해지기까지합니다. 처음 사용하는 들여 쓰기 정의 구조 시스템은 조금 이상합니다.

1

다소 프린지 언어이지만, 나는 Erlang을 언급 할 것을 강요 당한다. 얼랭 (Erlang)은 다른 프로그래밍 플랫폼을 보완하는 특이한 점 때문에 도구 상자에 넣기에 훌륭한 언어입니다. Erlang은 분산, 동시, 내결함성 시스템을 구축하는 데 매우 유용합니다.분산되고 아직 상호 연결된 아키텍처가 필요한 인스턴트 메시징 및 전화 통신 세계에서 많이 사용됩니다.

2

MS 상점에 계시니 배우기에 알맞은 스크립팅 언어로 PowerShell을 제안 해 드리겠습니다. C#에서 잘 작동합니다. 나는 Ruby를 너무 좋아한다.

1

두 번째 또는 세 번째 파이썬을 원합니다. 특히, IronPython (ttp : //www.codeplex.com/Wiki/View.aspx? ProjectName = IronPython)을 사용하면 파이썬을 배우게되지만 .net 프레임 워크에 액세스 할 수 있습니다.

스크립팅 관련 작업에 유용하기 때문에 일상적인 코딩 생활에 유용 할뿐만 아니라 실험적인 코딩/프로토 타이핑 방식에서 유용 할 수 있습니다.

0

일반적인 도구 상자 외부의 언어를 사용하면 현재 사용중인 언어로 새로운 방식으로 접근 할 수 있습니다. Perl (데이터 변환 용), Lisp (functional programming) 및 Javascript (prototype based programming)와 같은 심각한 프로젝트 언어에 사용하지 않더라도 현재 언어로 문제를 생각할 수있는 새로운 방법을 알려줍니다.

0

웹 개발자는 XSLT/XPath 제품군을 통해 특정 유형의 XML 처리에 대해 매우 강력한 도구가 될 수 있다고 판단 할 수 있습니다.

부여 된 C# 3.x Linq2Xml은 유사한 기능을 인라인으로 노출합니다.

그러나 XSLT는 앱에서 데이터를 프레젠테이션에서 분리하는 강력한 방법 일 수 있습니다.

0

저는 F #과 CLR/DLR의 다른 새로운 언어에 관심이 많습니다. DLR 언어는 UI에 훨씬 더 좋을 수 있습니다. 왜냐하면 그것들이 당신이 많은 바보 같은 것을 던지지 않게하기 때문입니다.

그러나 기능 프로그래밍과 같은 새로운 영역에서 새로운 언어를 배우는 것이 항상 마음을 다시 훈련 할 수있는 좋은 방법임을 명심하는 것이 중요하다고 생각합니다. 개념을 사용하고 새로운 언어를 사용하지 않아도 선택한 언어로 더 잘 코딩 할 수 있습니다.

0

체크 아웃 우우는 - 그것은 .NET 스택의 상단에 실행되지만 문법은 더 파이썬 같다.

1

.Net 프레임 워크를 사용하는 경우 컴파일러와 해석기가 어떤 경우에도 동일한 IL 코드를 작성하므로 언어는 실제로 중요하지 않습니다.

.Net 세상에서 벗어나면 개발 도구와 언어가 도구 상자라고 생각합니다. 나는 다른 개발자들의 기술 기반이 무엇인지, 그리고 회사가 추구하는 방향 (물론 컨설턴트)을 고려하면서 적절한 작업 도구를 사용하기 위해 노력합니다.

0

C#을 보완하는 새로운 언어를 배우려면 C++를 사용해야합니다. 'p/invoke보다 낫다'스타일로 사용하면 C# 응용 프로그램에서 비 관리 코드에 액세스 할 수 있습니다. 그런 다음 .NET 응용 프로그램 중 일부가 모든 RAM 및/또는 CPU를 호깅하기 시작하거나 일반적으로 빠른 속도로 실행되지 않는 경우이를 사용하여 메모리가 부족한 응용 프로그램 및/또는 성능에 중요한 비트를 작성할 수 있습니다. 너도 좋아할거야.