문제

저는 Microsoft 환경에서 작업하므로 어떤 못을 만나더라도 C# 망치를 사용할 수 있습니다.즉, 어떤 언어(컴파일, 해석, 스크립팅, 기능적, 모든 유형!)가 C# 지식을 보완하며, 어떤 목적을 위해 사용됩니까?예를 들어, 저는 많은 스크립트 기능을 컴파일된 콘솔 앱에서 Powershell 스크립트로 옮겼습니다.MS 개발자라면 F#, IronRuby, IronPython 또는 이와 유사한 다른 언어에 대한 틈새 시장을 찾았으며 어떤 틈새 시장을 채우나요?

메모:이 질문은 회사 주변에 LAMP 스택을 설치하고 시작할 수 없어서 영원히 지원해야 하기 때문에 Microsoft 개발자를 대상으로 합니다.:) 하지만, 귀하의 주 언어 외에 귀하의 세계에서 특정 작업/역할을 수행하는 데 흥미로웠던 다른 언어가 있으면 자유롭게 언급해 주십시오.

도움이 되었습니까?

해결책

Python/Perl/Ruby/PowerShell은 C#/VB.NET을 훌륭하게 보완합니다.상사가 텍스트 파일을 건네주고 데이터베이스에 한두 번 삽입하라고 하면 Perl/Python/Ruby(powershell에 대해서는 잘 모르겠지만 그다지 어렵지는 않을 것 같습니다) 중 하나를 사용하면 됩니다. 그것을 분석하십시오.어느 쪽이든 기본 애플리케이션의 경우 C#에 갇히게 될 것입니다.보다 동적인 언어 중 하나를 사용하여 C#에서 코드 생성을 수행할 수 있습니다.

현재 Microsoft 환경에 있으므로 솔루션을 승인받을 수 있는 가장 좋은 기회는 PowerShell일 것입니다.그 옆에는 IronPython이나 CLR과 통합되는 다른 것이 있습니다.그러나 주요 문제는 다른 사람이 당신이 하는 일을 유지하려면 당신이 사용하는 언어가 무엇인지 알아야 한다는 것입니다.MS는 앞으로 PowerShell을 훨씬 더 많이 사용할 계획이므로 Python/Perl/Ruby라고 말하는 것보다 PowerShell을 정당화하는 것이 더 쉬울 것입니다.

일회용으로 텍스트 파일을 처리하는 경우.또는 모든 코드를 생성하기 위해 일회용 코드 생성기를 만든 다음 생성된 코드를 유지하려는 경우에는 문제가 되지 않습니다.당신은 결과를 소비할 사람이고 Perl을 사용하여 시간을 절약하면 더 많은 힘을 얻을 수 있습니다.그러나 반복해서 사용할 작업(예: 생성된 코드를 유지 관리하는 대신 템플릿을 변경하고 생성기를 실행하는 활성 코드 생성기)을 수행하는 경우 해당 작업을 수행하는 다른 개발자는 해당 언어를 알아야 합니다. 당신은 사용했습니다.Microsoft Shop에서 Perl/Ruby/Python을 배우는 것은 훨씬 더 어렵습니다.그러나 PowerShell은 더 쉬운 주장처럼 보입니다.내 생각에 MS의 큰 계획은 결국 애플리케이션이 커맨드렛을 통해 Power Shell에 대한 더 많은 기능을 공개하게 된다는 것입니다.이런 일이 발생한다고 가정하면 PowerShell은 다른 방법으로는 얻을 수 없는 수많은 스크립트 가능한 기능을 노출하므로 훨씬 더 생각할 필요가 없습니다.

다른 팁

좋은 스크립팅 언어는 항상 갖고 다니기에 좋은 도구입니다.보다 루비, 또는 파이썬.

저는 프로토타이핑을 위해 Python을 사용합니다. 편집하고 실제로 새 버전의 코드를 실행하는 사이에는 시간이 거의 소요되지 않기 때문입니다.실제 프로젝트에 사용하게 될 수도 있습니다. 더 많이 사용할수록 더 마음에 듭니다.

하지만 C# 프로그래머로서 익숙해지는 데는 시간이 좀 걸릴 것입니다. C# 프로그래머가 사용하는 들여쓰기 정의 구조 시스템은 처음에는 조금 이상합니다.

당신이 MS 상점에 있기 때문에 나는 제안하고 싶습니다 파워셸 배우기에 괜찮은 스크립팅 언어입니다.C#과 잘 작동합니다.저도 루비의 열렬한 팬이에요.

두 번째 또는 세 번째 파이썬을 원합니다.특히 IronPython(ttp://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython)을 사용하면 Python을 배울 수 있을 뿐만 아니라 .net 프레임워크의 유용한 기능에 액세스할 수도 있습니다.

스크립팅 관련 작업에 매우 적합하므로 일상적인 코딩 생활에 유용할 것이며 실험적인 코딩/프로토타이핑 방식으로 장난을 치는 좋은 방법이기도 합니다.

약간 비주류 언어이긴 하지만 언급할 수밖에 없습니다. 얼랭.Erlang은 다른 프로그래밍 플랫폼을 칭찬하는 경향이 있는 특별한 강점을 갖고 있기 때문에 도구 상자에 포함할 수 있는 훌륭한 언어입니다.Erlang은 분산, 동시, 내결함성 시스템을 구축하는 데 매우 유용합니다.이는 분산되지만 상호 연결된 아키텍처가 필요한 인스턴트 메시징 및 전화 통신 세계에서 많이 사용됩니다.

어쩌면 Boo와 함께 놀면서 어떻게 생각하는지 확인해 보세요.
Codehaus.org의 부
위키피디아의 부

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

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

나는 jjnguy와 함께 있습니다.스크립팅 언어 중 하나를 사용해 보세요.게다가 보너스로 Ruby/PythonPearl 등을 배울 때... 이것은 다른 환경을 위한 개발에 대한 관문 약물... 오류 언어입니다.

일반적인 도구 상자 밖에서 언어를 시험해 보면 현재 선호하는 언어로 사물에 접근하는 새로운 방법을 얻을 수 있습니다.Perl(데이터 조작용), Lisp(함수형 프로그래밍) 및 자바스크립트(프로토타입 기반 프로그래밍) 현재 언어의 문제에 대해 생각하는 새로운 방법을 가르쳐 줄 것입니다.

웹 개발자로서 특정 유형의 XML 처리에 대해 매우 강력한 도구가 될 수 있는 XSLT/XPath 제품군을 살펴볼 수 있습니다.

물론 C# 3.x에서는 Linq2Xml이 몇 가지 유사한 기능을 인라인으로 노출합니다.

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

저는 F#과 CLR/DLR의 다른 새로운 언어에 매우 관심이 있습니다.DLR 언어는 어리석은 일을 많이 하지 않기 때문에 UI에 훨씬 더 좋을 수 있습니다.

그러나 새로운 언어, 특히 함수형 프로그래밍과 같은 새로운 영역에서 배우는 것은 항상 마음을 재훈련하여 새로운 개념에 노출되고 새로운 언어를 전혀 사용하지 않더라도 선택한 언어로 더 잘 코딩할 수 있습니다.

Boo를 확인해 보세요. .NET 스택 위에서 실행되지만 구문은 Python과 비슷합니다.

C#을 보완하는 새로운 언어를 배우려면 C++를 사용하겠습니다.이를 'p/invoke보다 더 나은' 스타일로 사용하여 C# 앱에서 비관리 코드에 액세스할 수 있습니다.그런 다음 일부 .NET 응용 프로그램이 모든 RAM 및/또는 CPU를 사용하기 시작하거나 일반적으로 속도가 빠르지 않은 경우 메모리가 제한된 응용 프로그램 및/또는 성능에 중요한 비트를 작성하는 데 사용할 수 있습니다. 당신은 원합니다.

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