문제

수업이 2주 전에 시작되었기 때문에 저는 방금 과정 중 하나를 시작했습니다. 우리는 나중에 어떤 이유가 있다고 가정하기 때문에 지금 Scheme을 배우고 있지만 지금까지 그가 가르치는 것은 기본적으로 Scheme을 작성하는 방법입니다. .나는 여기 앉아서 깨어 있으려고 노력하면서 내가 왜 이것을 알고 싶어하는지, 그리고 왜 누군가가 그것을 사용하는지 파악하려고 노력하고 있습니다.그것은 무엇에 탁월합니까?다음 주에 저는 그에게 계획에 따라 글을 작성하는 방법 외에 여기서 배우는 목표가 무엇인지 물어볼 계획입니다.

도움이 되었습니까?

해결책

이는 함수형 프로그래밍 언어이며 여러분의 경험을 넓혀줄 것입니다.

실제 세계에서 사용하지 않는다고 해서 아무런 가치가 없는 것은 아닙니다.이는 재귀와 같은 것을 익히는 데 도움이 되며 평소와는 다른 방식으로 문제를 생각하게 만드는 데 도움이 됩니다.

소망 우리 학교에서는 함수형 프로그래밍 언어를 배우도록 강요했습니다.

다른 팁

LISP(및 매우 밀접하게 관련된 Scheme)와 같은 언어는 라틴어가 영어에 미치는 영향을 프로그래밍하는 데 사용됩니다.

코스를 수강한 후에는 일상 생활에서 다시는 라틴어를 사용하지 못할 수도 있지만, 라틴어와 같은 언어를 배우는 것만으로도 영어 사용 능력이 향상됩니다.

스킴(Scheme)도 마찬가지다.

나는 여기 있는 모든 사람들이 실제로 Scheme을 다시는 사용하지 않을 것이라고 말하는 것을 봅니다. 그럼에도 불구하고 Scheme은 특정한 사고 방식을 강요하기 때문에 배울 가치가 있는 언어였습니다.이것이 사실일 수 있지만, Scheme이 단순히 학습 연습으로서가 아니라 결국 유용하다는 것을 알게 되기를 바랍니다.

컴파일된 언어처럼 엄청나게 빠르지도 않고 웹 사이트를 제공하거나 텍스트를 구문 분석하는 데 특별히 유용하지도 않지만 Scheme(및 확장된 다른 리스프)은 단순성, 우아함 및 강력한 기능 조작 측면에서 비교할 수 없다는 것을 발견했습니다. 복잡한 데이터 구조.솔직히 말하면 Scheme에서 생각합니다.내가 문제를 해결하는 언어입니다.Scheme을 포기하거나 단순히 용인하지 마십시오. 기회를 주면 실망하지 않을 것입니다.

그건 그렇고, Scheme에 가장 적합한 IDE는 다음과 같습니다. DrScheme, 그리고 여기에는 다른 언어로 할 수 있는 모든 작업을 수행할 수 있는 언어 확장이 포함되어 있으며, 할 수 없는 것을 발견하면 C FFI를 사용하여 직접 작성할 수 있습니다.

어떤 사람들은 Scheme의 가장 큰 장점이 교육용 언어라고 말합니다.함수형 프로그래밍을 배우는 것은 매우 유익하지만(완전히 새로운 사고 방식입니다) 학습 체계의 또 다른 이점은 그것이 "순수하다"는 것입니다.물론 Java와 같은 많은 작업을 수행할 수는 없지만 그게 좋은 점이기도 합니다. Java는 전적으로 괄호, 영숫자 문자 및 소수의 기타 구두점으로 구성된 언어입니다.

내 입문 과정에서 우리는 Java를 배웠고 많은 친구들이 프로그램의 요점이 아니더라도 'public static void main'으로 어려움을 겪고 교수들이 '핸드웨이브'할 수밖에 없는 방식을 봅니다. 더 발전했어요.Scheme에서는 이를 볼 수 없습니다.

Java와 같은 언어로 구현하기 어려운 아주 간단한 방법으로 Scheme이 무엇을 할 수 있는지 알고 싶다면 다음을 살펴보는 것이 좋습니다. http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-12.html#%_sec_1.3

이것은 아마도 Scheme에 관해 쓰여진 최고의 책일 것입니다.

나는 열린 마음 배울 때.학교에서 대부분의 시간 동안 우리는 특정 과목을 배우는 내용과 이유를 완전히 이해하지 못합니다.하지만 제가 인생에서 백만 번 정도 경험해 본 것처럼 그것은 매우 유용한 것으로 나타났고, 적어도 그것을 알고 있는 것은 당신에게 도움이 됩니다.믿거나 말거나 계획은 당신을 더 나은 프로그래머로 만들어 줄 것입니다.

NASA는 일부 화성 탐사선을 프로그래밍하기 위해 이 계획을 사용했습니다.시장에서의 사용법은 매우 구체적이지만 선생님이 말씀하신 것처럼 Scheme에서 배운 내용은 일반적인 프로그래밍에도 적용됩니다.

내 문제는 이것을 배울 때 우리가 그것과 함께 clsp를 배웠다는 것입니다.나는 내 생명을 구하기 위해 두 해협을 유지할 수 없었습니다.

하지만 내가 그들로부터 배운 것은 더 나은 C 및 Java 코드를 작성하는 방법이었습니다.이는 내가 배운 프로그래밍 스타일이 다르기 때문입니다.나는 내 프로그래밍의 일부에 함수형 스타일을 더 많이 적용했으며 어떤 경우에는 도움이 되었습니다.

꼭 필요하지 않다면 다시는 계획이나 리스프 프로그래밍을 하고 싶지 않을 것입니다. 하지만 다른 프로그래밍 방법을 배우기 위해 최소한 그 프로그램을 조금이라도 했다는 사실이 기쁩니다.

괄호나 car/cdr과 같은 세부정보에 얽매이지 마세요.여러분이 배우는 대부분의 내용은 어떤 방식으로든 다른 언어로 번역됩니다.Scheme을 시장에 출시할 수 있는지 여부에 대해 걱정하지 마십시오. 다른 수업에서 좀 더 시장성이 있는 다른 언어를 배우게 될 가능성이 있습니다.여기서 배우는 것이 더 중요합니다.

체계를 학습하는 경우 개체 시스템이 구현되는 방법에 대해 모두 배울 수 있습니다(힌트:객체 시스템은 항상 메소드와 인스턴스 변수가 바인딩된 유형에 관한 것은 아닙니다...).이런 종류의 지식은 일상 업무의 95%에는 도움이 되지 않지만, 업무의 5%는 해당 지식에 의존하게 됩니다.

또한 스트림/지연 평가 또는 논리 프로그래밍과 같이 완전히 다른 스타일의 계산에 대해 배울 수 있습니다.또한 일반적으로 컴퓨터 프로그램이 해석되는 방식에 대해 자세히 알아볼 수도 있습니다.프로그램 코드를 평가하는 방법에 대한 기본부터 자신만의 인터프리터 및 컴파일러를 만드는 것과 같은 더 깊은 측면까지).이런 종류의 정보를 아는 것이 좋은 프로그래머와 훌륭한 프로그래머를 구별하는 요소입니다.

Scheme은 실제로 기능적 언어가 아니며, 그보다 방법에 구애받지 않습니다.아마도 더 중요한 점은 Scheme이 다양한 계산 방법을 탐색하려는 경우 선택할 수 있는 훌륭한 언어라는 것입니다.예를 들어 Scheme을 기반으로 고도로 병렬화된 기능 언어인 "Termite"가 구축되었습니다.

즉, 학습 방식의 핵심은 프로그래밍의 기본을 배울 수 있다는 것입니다.

계획을 더욱 즐겁게 프로그래밍하는 데 도움이 필요하면 주저하지 말고 문의하세요.예를 들어 많은 프로그래머는 괄호를 싫어하기보다는 소중히 여기도록 만드는 체계 소스 코드로 작업할 수 있는 완벽한 방법이 있는데도 괄호에 매달립니다.예를 들어, paredit 모드, 일종의 체계 상호 작용 모드 및 강조 표시 모드를 갖춘 emacs는 매우 훌륭합니다.

Scheme과 같은 기능적 언어는 수학, 인공 지능, 언어학 및 컴퓨터 과학의 기타 고도로 이론적인 영역(기계 학습, 자연어 처리 등)에 훌륭하게 적용됩니다.이는 부작용이 없는 함수형 프로그래밍 언어의 순수성과 고차원 절차를 쉽게 탐색할 수 있는 능력 때문입니다.함수형 프로그래밍 언어에 대한 탄탄한 지식은 컴퓨터 과학의 경계를 넘어서는 많은 문제를 해결하는 데 매우 중요합니다.보너스로 고차 프로시저와 재귀에 능숙해질 것입니다.

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