2010-01-20 4 views
3

학교 프로젝트 (무료 프로젝트)의 경우 SICP (컴퓨터 프로그램의 구조 및 해석) 및 학습 계획을 통해 작업 할 계획이었습니다. 그 후 나는이 프로젝트의 일부인 재미있는 것을 만들고 싶다. 그러나, 내가 읽은 것에서, Scheme은 프로젝트에 사용할 수있는 가장 좋은 방언이 아니며 Common Lisp을 사용하는 것이 더 나을 수도 있습니다. (https://stackoverflow.com/questions/108201/common-lisp-or-scheme). 그러나, 그게 내가 SICP를 배우는 데 사용할 수 없다는 뜻인가요?Scheme 또는 Common Lisp

나는 또한 Scheme과 Common Lisp을 처음 배우는 옵션을 고려했지만 분명히 방해가 될 수있는 '미묘한'차이가있다.

최상의 선택은 무엇입니까? Scheme을 배우고 사용하십시오. Scheme을 배우고 Common Lisp을 배우십니까? 또는 Scheme (및 SICP)를 건너 뛰고 단순히 Common Lisp을 배울 수 있습니까? 또는 더 나은 옵션이 있습니까?

+2

이 SO 질문에 대한 Eli Barzilay의 탁월한 대답을 확인하십시오. http://stackoverflow.com/questions/1159208/can-i-use-common-lisp-for-sicp-or-is-scheme-the-only- 옵션 - SICP를 통해 독서를 할 때 Scheme 경로를 선택하길 바랍니다! –

+1

나중에 Common Lisp을 사용하려고해도, 배운 내용의 70 %는 일반적으로 프로그래밍에 적용 할 수 있으며, 90 %는 Common Lisp에 적용 할 수 있습니다. – mquander

답변

0

일단 Scheme을 배우고 SICP를 사용하면 함수 프로그래밍의 프로그래밍 능력이 상당히 좋아질 것입니다.

그때 Common Lisp을 배우는 것은 쉬울 것입니다. Java를 이미 알고있을 때 C# 학습이 문제라고 생각하십니까?

+0

그리고 최소한 초보자로서 SICP를 사용하면서 Common Lisp을 배우는 것은 Scheme을 고수하는 것보다 힘들 수 있습니다. 나는 @Yin에 동의하는 경향이있다. 일단 Scheme을 익혔다면 (SICP를 통해 일했다면 그렇게했을 것이다.) Common Lisp을 다루게 될 것이다. 다른 방법은 Common Lisp에서 컴퓨팅에 대해 배우기위한 SICP만큼 좋은 텍스트가 부족하여 더 어려워집니다. –

+1

[Practical Common Lisp] (http://www.gigamonkeys.com/book/)은 Common Lisp의 좋은 출발점이라고 생각합니다. –

4

Common Lisp와 Scheme의 차이점이 지나치게 높습니다. 그들은 거기 있고, 어떤은 중요하다, 그러나 실제적인 일을 위해 당신은 하나를 배우는 어떤 말썽도 없을 것이고 그 후에 다른 사람은 없을 것이다. 내가 일반적으로 두 가지를 쓰고있을 때 아무런 문제없이 그들 사이를 전환 할 수있었습니다.

SICP로 시작할 계획이라면 Scheme을 배우기 시작할 것입니다. 프로젝트로 시작하여 Common Lisp가 필요하다고 결정하면 Common Lisp을 배우기 시작할 것입니다. 두 번째 방언을 배우는 것은 그 후에 아주 쉽습니다.


몇 가지 고려해야 할 사항이 있습니다. 프로젝트 유형이 가장 중요합니다. Scheme은 언어 디자인 프로젝트에 탁월합니다. 프로젝트가 새롭고 이상한 언어 (또는 언어 기능)를위한 통역사/컴파일러/파서/등인 경우 Scheme이 이상적입니다. 반면, Common Lisp는 이미 기본 제공되는 많은 유틸리티가 필요한 분야에서 매우 강력하지만 사전에 구축하고있는 것이 무엇인지 정확하게 모릅니다. - 대부분의 경우 DSL로 끝납니다. 시간. 그래서 인공 지능에서 인기가있었습니다. (그게 내가 사용했던 코드 다.)

둘째, PLT에는 DrScheme이라는 낮은 학습 곡선 스키마 IDE가있다. Common Lisp은 학습 곡선이 많은 이맥스 플러그인 Slime을 가지고 있습니다. 내 경험으로 보면, Slime은 더 강력하지만, 학기별로 긴 프로젝트라면 (특히 Emacs를 아직 사용하지 않은 경우) 특히 고려해야 할 충분한 학습이 필요하다.

1

SICP는 비교적 오래된 책이며 Scheme의 오래된 변형입니다. 이 책에는 주로 Scheme의 기본 기능 만 있습니다. 따라서 Common Lisp의 책에서 연습 문제에 대한 해결책을 작성하는 것은 상대적으로 쉽습니다. 평균 스킬이 약간이라면 코드를 Common Lisp으로 번역 할 수 있어야합니다. 다음은 example for SICP exercises in Common Lisp입니다.

SICP는 Scheme 또는 Lisp 프로그래밍에 관한 것보다 프로그래밍 및 컴퓨터 과학에 대한 일반적인 책입니다. 이를 위해 다른 책이 더 좋습니다. Common Lisp의 경우 'Practical Common Lisp'을 좋은 시작으로 간주하십시오.

관련 문제