C # 개발은 사용하는 IDE와 효과적으로 분리 할 수 ​​있습니까?


41

저는 C #을 배우는 Python 프로그래머입니다 .C #을 걱정하지 않고 C #을 파이썬과 끊임없이 비교하는 대신 C #을 좋아합니다.

스택 오버플로 질문에 설명 된 것처럼 물건이 정의 된 위치에 대한 명시 성이 부족하다는 한 가지 점에 주목했습니다 . 간단히 말해서 C #에서는 using foo어떤 이름을 foo사용할 수 있는지 말하지 않습니다 from foo import *. 파이썬에서와 비슷합니다 . 파이썬 코딩 문화 내에서보다 명시적인 접근 방식이 아니라 암시 적으로 사용하지 않는 것이 좋습니다 from foo import bar.

오히려 C # 프로그래머 의이 시점에 대한 스택 오버플로 답변에 깜짝 놀랐습니다. 실제로이 명시 적 부족은 실제로 중요하지 않습니다 .IDE (아마 Visual Studio)에서는 이름 위에 마우스를 올려 놓고 말할 수 있기 때문입니다. 이름이 나오는 시스템. 예 :

자, 이론적으로 이것은 텍스트 편집기를 볼 때 C #에서 유형이 어디에서 왔는지 알 수는 없지만 실제로는 문제가되지 않습니다. 실제로 얼마나 자주 코드를보고 Visual Studio를 사용할 수 없습니까?

이것은 나에게 계시 적입니다. 많은 Python 프로그래머는 Sublime Text 2 또는 vim과 같은 코드를 사용하여 코드에 대한 텍스트 편집기 접근 방식을 선호하며, 여기에는 코드, 명령 줄 도구 및 폴더 및 파일의 직접 액세스 및 조작이 포함됩니다. 이러한 기본 수준에서 코드를 이해하기 위해 IDE에 의존한다는 아이디어는 혐오로 보입니다. 이 시점에서 C # 문화가 근본적으로 다른 것 같습니다. 그리고 나는 C #을 배우는 과정에서 그것을 받아들이고 받아 들일 필요가 있는지 궁금합니다.

내 질문으로 인도하는 것은 다음과 같습니다. C # 개발은 실제로 사용하는 IDE와 분리 할 수 ​​없습니까?


7
Python은 동적 언어이며 C #은 정적으로 유형이 지정되어 (예 : Java)이므로 코드를 작성하는 방법은 매우 다릅니다.
오디드

6
@Oded : using MyType = MyNamespace.MyType;?
pdr

4
나는 파이썬에서 그것이 무엇인지 알지 못하지만 C #에서는 항상 시작하여 global::거기에서 일할 수 있습니다. using예전에는 없었던 것을 사용할 수 없습니다. 특정 클래스를 사용하는 데 필요한 타이핑이 적기 때문에 액세스하기가 더 쉽습니다.
CVn

5
"많은 Python 프로그래머들은 Sublime Text 2 또는 vim과 같은 코드를 사용하여 코드, 명령 줄 도구 및 폴더 및 파일의 직접 액세스 및 조작에 관한 텍스트 편집기 접근 방식을 선호합니다." -나에게 끔찍하게 들리지 않는 소리. IDE는 생산성을 높이는 데 도움이되는 도구입니다. 물론 망치와 손톱으로 집을 짓고 나무를 직접자를 수는 있지만 일부 전동 공구를 사용하고 사전 절단 목재를 구입하면 훨씬 더 빠른 시간을 보낼 수 있다고 생각합니다.
Andy

2
@ 앤디-나는 그렇게 들리는 것을 볼 수 있습니다. 그러나 이러한 텍스트 편집기는 실제로 매우 강력하여 다양한 툴링 및 프로그래머 효율성 기능을 제공합니다. 그것은 IDE (및 특정 언어 / 프로그래밍 문화에 다소 적합 할 수있는 도구)와 도구 및 기능을 가져오고 사용하는 근본적으로 다른 방법입니다.
Ghopper21

답변:


26

Visual Studio는 너무 편리해서 잠시 작업 한 후에 다른 IDE를 사용하기가 어렵습니다. 편리한 도구와 플러그인이 많이 있으므로 실제로 필요한 모든 기능을 갖추고 있습니다.

반면, 어떤 언어를 배우든지 처음에는 명령 줄을 사용하는 것이 좋으므로 작동 방식을 더 잘 이해할 수 있습니다. C #도 예외는 아닙니다.

C # 개발을 사용하는 IDE와 효과적으로 분리 할 수 ​​있습니까?

이론적으로는 아니지만 실제로는 그렇습니다. 텍스트 편집기와 명령 줄을 사용하여 C #으로 작성할 수 있지만 Visual Studio가있는 경우이 작업을 수행하지 않습니다. 실제로 명령 줄에서 C # 코드를 실행 한 프로그래머는 거의 없습니다.

BTW에 불편 함을 느끼면 using foo유형을 사용할 때 전체 경로를 사용할 수 있습니다.


9
SharpDevelop 및 MonoDevelop는 Visual Studio의 대체 IDE입니다.
오디드

@Oded, 나는 그것들을 사용한 적이 없지만 살펴 보는 것이 흥미 롭습니다. 감사합니다))
superM

감사합니다 superM-Visual Studio를 필수 불가결하게 만드는 다양한 기능을 제공 할 수 있습니까? 코드 완성이 매우 좋다는 것을 알고 있지만 다른 것은 무엇입니까? C # 용 이클립스와 유사하거나 C # 개발자가 의존하는 특정 내용이 있습니까?
Ghopper21

2
@ Ghopper21 : .NET 세계에서 커뮤니티 플러그인은 일반적으로 Visual Studio 용으로 작성된다는 점을 제외하고 Eclipse보다 IntelliJ와 비교할 만하다고 제안합니다 (특히 Resharper를 포함 할 때).
pdr

5
+1 : 메모장을 사용하여 명령 줄에서 코드를 작성할 수는 있지만 VS 또는 Sharp Develop가 제공하는 툴링을 무시하는 것은 바보입니다.
이진 걱정

33

이러한 기본 수준에서 코드를 이해하기 위해 IDE에 의존한다는 아이디어는 혐오로 보입니다.

코드 를 이해 하는 것은 문제가 아닙니다 . 충분한 시간이 주어지면 항상 기본 텍스트 편집기 나 인쇄물에서 올바른 변수를 찾을 수 있습니다. 코드를 이해하는 한 IDE 종속성은 절대 존재하지 않습니다.

참조를 효율적으로 찾는 것은 완전히 다른 주제입니다. 저는 Visual Studio에서 C #과 C ++ 모두에 대한 선언 지점을 찾는 것만 큼 Eclipse에서 Java 변수 사용법을 찾는 기능을 좋아합니다. 선언 지점을 수동으로 찾는 것보다 시간 코딩을 선호합니다. 이것은 수학과 비슷합니다. 한 장의 종이에 여러 자리 수를 곱할 수 있지만 1 ~ 2 분을 절약하기 위해 계산기를 사용하는 것이 좋습니다.

코드의 특정 "치명적인 크기"에서 시작하면 좋은 IDE는 프로그래밍 언어에 관계없이 매우 유용합니다. 크기는 언어마다 다를 수 있지만 수천 줄을 넘으면 IDE에 관계없이 언어에 관계없이 도움이됩니다. 이것은 특정 프로그래밍 언어보다 인간의 마음의 한계와 더 관련이 있습니다. 언젠가는 단기 기억이 "오버플로"에 묶여 있습니다.

IDE가 유용 할 때 그 임계 크기를 늘릴 수있는 트릭이 있습니다. 예를 들어, 명명 규칙을 따를 수 있습니다 (헝가리 이름은 C ++ 세계에서 어느 시점에서, 특히 Windows 실무자 사이에서 커졌습니다). 또 다른 일반적인 트릭은 this.그러한 규정이 필요하지 않은 상황에서도 인스턴스 변수를 규정 하는 것입니다.

이러한 트릭에는 단점이 있습니다. 필연적으로 이름을 모호하게 만들거나 캡슐화가 숨기려는 명시 적 참조를 삽입하여 프로그램을 읽기 어렵게 만듭니다. 선택에 직면하여 깨끗하지 않은 코드와 IDE를 뺀 깔끔하지 않은 코드보다 IDE를 선택합니다. 그러나 나는 다른 사람들의 선택이 나의 것과 다를 수 있음을 충분히 알고 있습니다.


1
아마도 "빠른 코드 읽기"라고 말했을 것입니다 ... 동일한 소스 파일에 모든 참조가없는 대신 도구를 사용하여 해당 참조를 찾는 것은 상당히 정신적 인 변화입니다.
Ghopper21

5
내가 this독특하게 사용할 수 는 없었지만 코딩은 고립 된 예술이 아니며 코딩 문화의 규범을 따르는 것이 가장 좋습니다. C #과 동등한 "C # 방식"이 무엇이든간에. 그리고 Visual Studio와 같은 좋은 IDE를 사용하는 것이 "C # 방식"의 핵심이라는 것이 여기에 대한 답변과 의견에서 분명합니다.
Ghopper21

3
@ Ghopper21 C #을 사용한다는 것은 IDE없이 작성할 수 없다는 것이 아니라 대부분의 C # 코드가 IDE로 작성되었으며 모든 개발자가 해당 IDE를 사용한다는 것입니다. huffingtonpost.com/2011/07/15/ 에 대한 연구 결과에서 지적한 바와 같이 인텔리전스 와 결합 된이 사실로 인해 개발자는 Google 메모리 트랩에 빠질 수 있습니다. 메시지가 표시되면 사실을 기억하십시오. 그러나 온라인에서 사실을 찾는 위치와 방법을 기억합니다. "
Jimmy Hoffa

2
@ Ghopper21이 메모리 트랩이 나쁘다 는 말 은 아닙니다. 대부분의 경우 생산성이 크게 향상 되었기 때문에 기억에 남는 전체 메모리를 암기 할 수 있었던 시절이 길었던 메모리를 가진 사람들 만이 진정으로 불평합니다. 이 사실은 여러분이 읽을 C # 코드와 C # 개발의 스타일과 문화에 직접 영향을 미치기 때문에 이것을 지적하고 있습니다.
Jimmy Hoffa

1
나는 절대로 bios / low level dos API로 내려 가지 않았다. 그러나 나의 첫 번째 언어 / 환경은 Borland TurboPascal입니다. 그리고 아마도 언어 / 표준 라이브러리의 ~ 90 %가 한 시점에 기억되었을 것입니다. OO가 무엇인지 정확히 파악하지 못한 것과 관련된 주요 예외.
Dan Neely

8

많은 Python 프로그래머는 Sublime Text 2 또는 vim과 같은 코드를 사용하여 코드에 대한 텍스트 편집기 접근 방식을 선호하며, 여기에는 코드, 명령 줄 도구 및 폴더 및 파일의 직접 액세스 및 조작이 포함됩니다.

훌륭하지만 VS IDE의 요점을 놓치고 있습니다. VS와 같은 IDE의 요점은 리팩토링 및 인텔리전스와 같은 강력한 코드 도구를 통한 신속한 개발 지원입니다. VS는 C # 코드를위한 매우 훌륭한 편집기입니다.

이제 C #을 사용하면 IDE에 의존하는 스타일로 코드를 작성할 수 있습니다 (많은 var키워드 등을 사용할 수 있음 ). 예를 들어, 네임 스페이스 별칭을 사용하여 클래스가 속하는 네임 스페이스 (예 import: Java 또는 Python)를 명확하게 지정하는 것이 더 명시적인 것을 선호하는 사람들이 있습니다 . 그것은 언어의 특징보다 코딩 스타일의 선택입니다.

C #은 정적으로 유형이 지정되어 있기 때문에 (v4부터는 일부 동적 확장을 사용하더라도) 어떤 유형이 참조되고 있는지 쉽게 알 수 있습니다. 잘못된 유형 인 경우 코드가 컴파일되지 않으며 VS만이 유일한 IDE가 아닙니다 C # 인텔리전스를 지원합니다. 아마 최고 일 것입니다.

VS와 같은 강력한 IDE없이 C #을 개발하는 것은 이미 네일 건의 상단에있을 때 수작업으로 손톱을 망치는 것과 비슷합니다.이 작업을 수행해야하는 이상한 시간이있을 수 있지만 전문가가 올바른 도구를 사용합니다 .

Java도 마찬가지입니다. 인텔리전스 및 코드 리 팩터 도구가있는 강력한 IDE가있는 경우 아마도 IDE를 사용해야합니다.

그러나 다른 방법으로 살펴보십시오. 인텔리전스를 원치 않으면 타임 코드 검사 및 코드 분석 / 리팩터링을 컴파일하지 않으면 부풀어 오른 IDE가 갈 길이 없으며 정적 형식 언어도 아닙니다. 나는 다른 방향으로 생각합니다.

코딩에 대한 텍스트 편집기 접근 방식을 선호하는 많은 프로그래머는 C # 및 Java와 같이 정적으로 유형이 지정된 언어에서 많은 것을 얻지 못하므로 Python 및 Javascript와 같은 동적 언어를 고수하면 더 나을 수 있습니다.

나는 생각한다 :

  • 경량 언어 툴에 적합한 다이나믹 언어 (무거운 IDE는 이점이 적습니다)
  • 정적 언어는 강력한 IDE에 적합합니다 (유연한 비용으로 도구가 코드를 도울 수 있음)

반대 인용의 경우 +1입니다.
fbmd

5

귀하의 질문에 대답하기 위해 : 천천히 변화하고 있지만 Microsoft 개발 환경은 주로 단일 문화 였습니다.

이 접근 방식에는 많은 긍정적 인면과 부정적인면이 있으며, 논쟁의 여지가 많을 수 있습니다 (예 : PC와 Xbox와 같은 개방형 및 폐쇄 형 플랫폼의 장단점 고려).하지만 마지막 날에는 Microsoft의 툴링이 가장 중요합니다. 사람들이 사용합니다. 이 회사는 또한 의사 결정이 종종 "대부분의 사용자에게 가장 큰 가치를 부여"하는 프로세스이며 항상 실질적인 타협을 찾습니다 (가장 최근에는 Typescript 고려 ). 따라서 기본적으로 C #의 개발이 툴링 (VS)을 염두에두고 수행되었다는 사실에 놀라지 않을 것입니다.


그건 그렇고, 파이썬은 코딩 스타일과 접근 방식에서 "Pythonic"으로 간주되는 것에 대한 강한 준수와 일을 할 수있는 확실한 방법이 하나라는 언어의 핵심 디자인 원칙을 감안할 때 Python도 자체 단일 문화라고 주장 할 수 있습니다. 일관성있는 커뮤니티와 공유 가능한 코드를 생성하기 때문에 이런 의미에서 프로그래밍 단일 문화는 매우 좋습니다. 파이썬과 C # 문화가 너무 다르다는 것은 단지 (너무 나쁘거나 내 마음을 넓힐 수있는 기회입니까?)입니다!
Ghopper21

2
@ Ghopper21 그것은 파이썬에 대한 아주 좋은 지적입니다. 나는의 MS의 버전 "그것을 할 수있는 하나의 확실한 방법이 있어야한다"생각 :) IDE의 선택 확장
다니엘 B

4

하나, C #은 파이썬이 아닙니다. 다른 디자인 방법론이 있습니다.

이제 질문에 대답하기 위해 Python-esque using 문을 완전히 사용할 수 있습니다.

using FooBar=MyName.Foo.FooBar; 

거의 쉽지 않기 때문에 그것은 확실히 표준이 아닙니다. 그러나 각 클래스의 정확한 위치를 아는 것에 대해 걱정할 필요가 없다고 생각합니다. 그래도 파이썬 에서이 작업을 수행하는 전체 요점을 이해하지 못합니다.

또한 C #은 IDE를 사용하여보다 쉽게 ​​사용할 수있는 언어입니다. Intellisense는 특히 Ruby 및 Python과 같은 동적 언어와 비교하여 구현하기가 매우 간단합니다. 그러나 IDE에 집착 할 필요는 없습니다. 사람들이 Eclipse를 사용한다고 들었습니다. 물론 MonoDevelop (내가 많이 사용하는)도 있으며, 명령 행에서 작업 할 수도 있습니다. 내 서버에서 때로는 C # 파일을 편집 하고 다시 빌드하는 데 vi사용 xbuild합니다 ... IDE를 사용하면 일반적인 경우 명령 줄에 비해 훨씬 쉽습니다.


4

아무도 여기 아래로 길을 귀찮게합니까 ??

매우 복잡한 IDE 기능은 필수 불가결하며 언젠가는 Sublime VimNess의 Zen으로 진화해야합니다 ....

우리의 소프트웨어는 약 2M LOC의 129 개 프로젝트입니다. .NET 프레임 워크의 방대한 것을 추가하고 이것이 말할 수있는 것은 IDE가 중요하다는 것입니다.이 스레드 질문의 동기를 초월합니다.

코드베이스에 대한 통찰력

기간. 우리가 이야기하는 기능의 종류를 알고 있습니다. 그것의 편리함은 필자가 다루고있는 일종의 코드베이스에 없어서는 안될 필수 요소가된다는 점을 제외하고.

IDE로 인해 더 나은 코드를 작성합니다. 쉽고 빠르며 정확하기 때문에 항상 Nunit 테스트에 사용자 정의 메시지를 추가합니다. 나는 intellisense로 인해 문자열보다 열거를 선호합니다. 설명 / 긴 이름 지정을 사용하는 것을 망설이지 않습니다. 여러 줄로 된 문장은 빠르고 깨끗하게 구성됩니다.

그러나이 똑똑 함조차도 때로는 너무 많습니다. 나는 종종 오래된 "파일에서 찾기"텍스트 검색을 사용합니다.

코딩 도움말

여기에 내가 "충분히 울어!" 화면 전체가 모호한 10 가지 색상으로 채워져 있다고 상상해보십시오. 특정 변수는 어디에서나 강조 표시되고, 가새는 실제로 가려져있는 것을 강조 표시합니다. 그냥 클릭해야합니다! 그런 다음 대부분 무시하십시오.), 화면의 3 분의 2에 걸쳐있는 서명 도움말 팝업이 여러 커서를 수직으로 표시합니다. 내가 작업중 인 코드 의 & ^! % line * s * 조차 보지 못했습니다 !

스터드 나는 미니멀리즘을 수용해야 코딩에 집중하고 정신을 되찾기 위해 전투에서 패배하면서 수백 가지 (모든 컬러 코딩 설정과 모든 플러그인을 세는 경우 수천)를 거치지 않을 수 있습니다 . " 파레토 "키가 좋습니다.


1
IDE와 "Sublime VimNess"접근 방식의 관점에서 실제로 "이해"하는 것처럼 여기에 대한 귀하의 생각에 진심으로 감사드립니다. 나는 당신이 여기서 말하는 모든 것에 당신과 함께 있습니다. 그것이 통과되기를 바라고 있습니다.
Ghopper21

3

C # 개발을 사용하는 IDE와 효과적으로 분리 할 수 ​​있습니까?

당연히 아니지. 전체 네임 스페이스를 가져 오지 않는 이유는 무엇입니까? 통합 IDE 또는 텍스트 편집기 사용의 선택은 그와 아무 관련이 없습니다. 전체 네임 스페이스를 가져와도 코드를 읽거나 사용하기 어렵지 않습니다.

C #은 유형이 지정된 언어입니다. 동일한 클래스를 가진 여러 네임 스페이스를 가져 오면 컴파일 오류가 발생합니다.

개인적으로 형식 선언을 많이 사용하지 않습니다. 대신 내가 사용 var: 여기 설명하는 이유 대신 키워드를 http://blog.gauffin.org/2012/08/to-var-or-not-to-var-is-that-really-the-question/


1
이 문제는 코드를 쓰지 않고 읽습니다. (위의 링크 오버플로 질문은 예제를 제공합니다.) 코드를 읽을 때 어떤 부분에서 나오는지 어떻게 알 수 있습니까? Python을 사용하면 명시 적 가져 오기를 찾을 수 있습니다 (코드가 그러한 가져 오기를 사용하기위한 강력한 Python 규칙을 따르는 것으로 가정). C #을 사용하면 실제로 VS와 같은 IDE를 사용하는 것이 합의입니다.
Ghopper21

수업의 출처를 모르는 경우 어떻게 진행되는지 알기 위해 수업을 찾아야 할 것입니다. Google msdn <classname>을 클릭하고 첫 번째 링크를 클릭하십시오. 거기에서도 네임 스페이스를 얻습니다.
jgauffin

이러한 접근 방식은 문화적 차이를 보여줍니다. 파이썬 프로그래머가 구글을하는 것은 아니지만 물론 그렇게하는 것은 아닙니다. 단지 그것에 대해 생각하는 방식이 다릅니다.
Ghopper21

별도의 메모에서 C #의 var는 코드를 덜 장황하고 반복적으로 만드는 좋은 구문 설탕 / 컴파일러 단축키입니다. 내부 메소드뿐만 아니라 어디서나 사용할 수 있기를 바랍니다.
Ghopper21

@ Ghopper21 : 예, 알고 있습니다. 내 요점은 Google이 MSDN을 잘 색인화하여 문서를 직접 얻을 수 있다는 것입니다. 따라서 전체 경로를 포함하여 사용하는 모든 클래스를 문서화 할 필요는 없습니다.
jgauffin

1

내 이해는 파이썬에서 "모든 것이 공개적"이거나 그 영향에 대한 것이 었습니다. C #에서 모듈 디자이너는 공개 및 미공개를 결정하므로, 수행 할 때는 import공개 API 만 가져옵니다. 그것은 당신이 묘사하는 차이의 이유 일 수 있습니다.


그것은 파이썬과 C #의 큰 차이점이지만, 수입에 명시 성이 부족한 이유를 이해하는 데 실제로 도움이되지는 않습니다. @pbr이 그의 의견에서 언급했듯이 Java (공개 / 개인 구분도 있음)는 명시 적 수입에 대한 문화적 선호에서 Python과 유사합니다.
Ghopper21

5
@ Ghopper21-Java (예 : C ++)에서 명시적인 가져 오기를 선호하는 유일한 이유는 이름 충돌을 방지하기위한 것입니다. C #은 가져 오기 / 유형 별칭을 통해이 문제를 해결하기 위해 디자인 결정을 내 렸습니다. 실제로 이름 충돌 있을 때 더 잘 처리 하고 보일러 플레이트 가져 오기가 소스를 어지럽히 지 않는 이점이 있기 때문입니다.
Telastyn

1

C # 개발을 사용하는 IDE와 효과적으로 분리 할 수 ​​있습니까?

이전 작업에서는 주로 C #, JavaScript, Powershell, Perl, C ++ 등의 언어로 vim을 사용하여 비슷한 작업을 수행 한 개발자가 많았습니다. 이 프로젝트는 Visual Studio에 비해 너무 컸습니다.

즉, 대부분의 C # 개발자는 훨씬 작은 프로젝트를 처리하고 VS를 사용하게되어 매우 기쁩니다.


0

이것은 C # 개발에 대한 흥미로운 견해입니다. IDE에 대해 묻는다면 C #을 넘어서는 것입니다.

말했듯이 파이썬에서는 다양한 편집기를 사용하여 코드를 작성할 수 있습니다. .NET 프레임 워크로도 그렇게 할 수 있습니다. SharpDevelop와 같이 사용할 수있는 다른 IDE 도구도 있습니다. Visual Studio는 .NET 프레임 워크와 매우 밀접하게 공동 개발되었으며 상대적으로 비쌉니다. 더 많은 개발자가 .NET을 사용하도록 유도하기 위해 SharpDevelop 및 "Express"버전의 VS와 같은 도구가 있습니다. 본질적으로 모든 IDE가 수행하는 작업은 일반적으로 인텔리전스, 생산성을위한 애드온 및 컴파일러에 전달하기에 매우 무서운 명령 행이 될 수있는 "어셈블러"를 갖춘 체계적인 환경을 제공하는 것입니다. Java의 경우에도 마찬가지입니다. Eclipse와 같은 도구는 우리에게 조직과 생산성 향상을 제공합니다. 후드 아래에서 프로젝트와 그 존경을 빌드하거나 컴파일 할 때까지 마술은 일어나지 않습니다.

C #에서 "using"문에 대해 이야기하고 파이썬과 비교할 때, 실제로는 같은 일이 아닙니다. using 문은 컴파일러에서 C # 코드를 MSIL로 변환하는 데 도움을주기 위해 사용됩니다. MSIL에는 "이 네임 스페이스에서 이러한 모든 클래스 가져 오기"지시문이 없습니다. 타임 코드가 MSIL 수준이면 모든 클래스에 정규화 된 이름이 지정됩니다. 이러한 "사용"및 "가져 오기"진술은 사람의 가독성을 돕기위한 것입니다. 컴파일러 최적화 명령이 아닙니다. 이 "정규화 된 이름의 태그 지정"이 모두 시작된 후에는 FQN에 일종의 낮은 수준의 "최소화"가있을 수 있지만 이는 컴파일러 / 통역사가 더 빨리 실행되도록하는 것입니다.

여기에 언급 된 모든 언어의 마지막 근본적인 차이점 중 일부는 VM에서 해석되고 일부는 JIT 스타일로 해석되고 일부는 완전히 컴파일된다는 것입니다. 이러한 사용 지시문이 컴파일러와 인터프리터에서 어떻게 구현되는지는 크게 다릅니다.

HTH.


"이러한 '사용'및 '가져 오기'진술은 사람의 가독성을 돕기위한 것입니다." 그렇습니다. 이것은 직장에서 중요한 철학적 차이입니다. 텍스트 수준의 가독성은 주요 1 차 Python 설계 원칙입니다. C #은 꼭 필요한 것은 아니지만 실제로 "읽을 수있는"VS와 같은 훌륭한 IDE에 의존합니다. 또한 파이썬에서 "import"는 C #에서 "using"과 달리 가독성에 관한 것 이상입니다.
Ghopper21

0

역사적으로 그 대답은 거의 그렇습니다. 예. Visual Studio, Xamarin 또는 SharpDevelop 이외의 곳에서 C # 개발을 효과적으로 시작하고 실행하는 것은 너무 불쾌한 경험이었습니다.

그러나 최근에는 다음과 같이 더 쉬운 프로젝트가 많이 등장했습니다.

OmniSharp 는 vim, emacs, atom 및 sublime 플러그인과 함께 인텔리전스 및 리팩토링을위한 기반을 제공합니다. 나는 실제로 그것을 사용하지 않았으므로 얼마나 잘 작동하는지 모르겠지만 유망 해 보입니다.

Yeoman ASP.NET MVC 생성기 는 새로운 MVC 프로젝트를 부트 스트랩하는 데 도움이됩니다 (다른 생성기가 존재할 수 있음).

paGet , 명령 행에서 프로젝트에 NuGet 패키지를 실제로 추가하고 .csproj 파일을 업데이트 할 수있는 NuGet의 대안입니다 (NuGet 명령 행 도구가 있었지만 실제로 패키지를 사용하도록 프로젝트를 업데이트하는 것은 IDE의 일부 임) 명령 줄 도구가 아닌 통합).

Paket은 소스 코드를 사용하는 데 적용해야 함을 의미합니다. 따라서 팀의 단일 구성원으로 앉아서 텍스트 편집기를 사용하여 코딩하고 다른 사람들이 Visual Studio를 사용하려는 경우 모든 사람을 설득해야합니다. 그렇지 않으면 솔루션을 귀하의 요구에 맞게 조정하십시오.

따라서 시작 및 실행이 가능해야하지만 툴체인을 효율적으로 시작 및 실행하려면해야 할 일이 훨씬 더 많습니다.


-1

더 이상 :

http://www.omnisharp.net/

OmniSharp는 각각 하나의 목표를 가진 오픈 소스 프로젝트 제품군입니다. 선택한 편집기에서 훌륭한 .NET 개발을 가능하게합니다.

Cross Platform .NET은 재미 있습니다. 그러나 누군가 Visual Studio 및 Windows없이 .NET을 개발하는 것이 합리적입니까?

Sublime의 Mac에서 .NET을하는 것이 재미 있습니까? 우분투와 이맥스? 윈도우와 아톰? 편집기 PLUS를 사용하면 Intellisense (자동 완성뿐만 아니라), 참조 추가, 문서 포맷 등과 같은 훌륭한 기능을 사용할 수 있습니다. 어디서나 개발하고 어디에서나 Azure로 배포하십시오!

나는 subime3와 osx로 이것을 테스트했다.

더 많은 샘플

http://blog.jonathanchannon.com/2014/11/12/csharp-first-class-citizen-sublime-text/


Omnisharp를 사용하면 숭고한 이맥스와 같은 텍스트 편집기에서 C #을 사용할 수 있습니다. 그렇다면 왜 다운 보트입니까?
mamcx
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.