F #에서 대화 형 콘솔을 사용할 수 있지만 C #에서는 구현하기가 어려운 언어에 근본적으로 다른 점이 있습니까?
예.
F #은 ML 프로그래밍 언어의 자손으로, Lisp 및 Scheme과 같은 언어의 영향을 많이 받았습니다. 이 언어들은 처음부터 3 가지 멋진 속성을 갖도록 설계되었습니다.
첫째, 그 언어는 정말이없는 문에게 당신이 C #으로 그들을 생각하는 방식. 오히려 거의 모든 것이 가치 를 갖는 표현 이므로 거의 모든 상황에서 가치 평가 및 인쇄 메커니즘이 의미가 있습니다.
둘째, 이러한 언어는 부작용으로 프로그래밍하는 것을 권장하지 않으므로 전역 상태를 망칠 걱정없이 평가를 수행 할 수 있습니다.
셋째, 해당 언어로 수행하는 대부분의 작업은 "최상위 수준"입니다. 일반적으로 "클래스"또는 "네임 스페이스"또는 기타 컨텍스트가 없습니다.
반대로 C #은 부작용을 일으키는 명령문으로 프로그래밍 제어 흐름을 강조하며 이러한 명령문은 항상 네임 스페이스, 클래스, 메서드 등 여러 개의 중첩 된 컨테이너에 있습니다.
따라서 C #에서 REPL 을 사용하기가 어렵지만 불가능 하지는 않습니다 . 우리는 일반적인 문맥 밖에서 나타나는 문장과 표현에 대한 의미가 무엇인지, 그리고 이름 바인딩을 바꾸는 돌연변이에 대한 의미가 무엇인지 알아 내야합니다.
F #에 대화 형 모드가 있지만 C #이없는 이유는 무엇입니까?
F # 팀은 REPL 루프를 갖는 것이 우선 순위 시나리오라고 판단했기 때문입니다. C # 팀은 역사적으로 그렇지 않았습니다. 예산에 맞는 최우선 순위 기능이 아닌 한 기능은 구현되지 않습니다. 지금까지 C # REPL은 목록의 최상위에 없었습니다.
Roslyn 프로젝트에는 C # REPL이 있습니다 (결과적으로 VB REPL도 있지만 아직 준비되지 않았습니다). 미리보기 릴리스를 다운로드하여 원하는 방식을 확인할 수 있습니다.
http://www.microsoft.com/en-us/download/details.aspx?id=27746