Lisp 프로그래밍 배우기 : 소개, 버전 등

폭로: 귀하의 지원은 사이트 운영을 유지하는 데 도움이됩니다! 이 페이지에서 권장하는 일부 서비스에 대한 추천 수수료가 발생합니다.


리스프 프로그래밍

Lisp는 1958 년에 처음 고안되어 1961 년에 마지막으로 구현 된 프로그래밍 언어 제품군입니다. 이는 Fortran 이후 여전히 가장 많이 사용되는 두 번째 언어입니다..

그러나 Fortran은 계속 천천히 사라지지만 Lisp는 여전히 컴퓨터 과학 환경에서 매우 중요한 부분입니다..

리스프는 여러 가지면에서 독특합니다. 우선 Lisp의 모든 표현은 언어의 두 가지 기본 데이터 유형 중 하나 인 목록입니다. (이것이“Lisp”라고 불리는 이유입니다.)

코드 자체는 언어의 데이터 유형으로 평가 될 수 있으므로 Lisp는 재귀와 내부 검사에 적합합니다..

또한 대부분의 다른 언어와 달리 Lisp 코드는 기본 Lisp 시스템에서 처리되는 실제 데이터 구조를 사람이 읽을 수있는 버전입니다..

이것은 프로그래머가 프로그램에 대해 어떻게 생각하는지와 프로그램이 실제로 “무엇을 하느냐”사이에 높은 유사성이 있음을 의미합니다.

Lisp는 여러 응용 분야 및 문제 영역에 사용할 수 있지만 특히 인공 지능 및 기계 학습에 유용합니다.

Contents

Lisp 독립형 구현

다른 버전의 Lisp가 유용하다는 표시입니다. 여기에는 독립형 언어와 응용 프로그램 내에 내장 된 언어가 포함됩니다. 우리는 아래 둘 다에 대해 논의 할 것.

공통 리스프

일반적인 Lisp은 Lisp의 가장 인기있는 방언 중 하나입니다. 1984 년에 처음 출시되었으며 10 년 후 ANSI 표준이되었습니다..

Maclisp에서 개선되었습니다. 그러나 Maclisp에서 작동하는 유일한 Lisp 버전은 아닙니다. 다른 몇 가지가있었습니다. 그러나 표준화에 대한 Common Lisp의 노력은 궁극적으로 가장 성공적이었습니다..

일반적인 Lisp 자료

Common Lisp에 관심이 있다면, 그것을 배울 수있는 많은 방법이 있습니다.

서적

Common Lisp에 대한 온라인 자습서는 거의 없으므로 실제로 언어를 배우려면 하나 이상의 책을 참조해야합니다. 다행히도, 이들 중 다수의 온라인 버전이 있습니다.

  • 일반적인 리스프 : 상징적 계산에 대한 부드러운 소개
  • ANSI 공통 리스프
  • 실용 공통 리스프
  • Lisp : 일반적인 Lisp의 고급 기술
  • 성공적인 리스프 : 일반적인 리스프를 이해하고 사용하는 방법
  • COMMON Lisp의 객체 지향 프로그래밍 : CLOS 프로그래머 가이드
  • 메타 객체 프로토콜의 기술
  • 작은 조각의 뚜껑
  • 공통 리스프를 사용하는 인공 지능의 요소
  • 람다

Lisp에 관한 가장 중요하고 영향력있는 책들은 1970 년대와 1980 년대에 쓰여졌으며 현재는 인쇄되지 않았고 찾기가 어렵습니다. 이 책 중 일부는 온라인으로 제공되며 아래에서 해당 링크를 찾을 수 있습니다..

온라인 자료

역사적인 관심사

Lisp는 역사적으로 흥미로운 언어입니다. 그것의 개발은 인공 지능과 기계 학습의 개발과 밀접한 관련이 있습니다. 또한 일반적으로 사용되는 가장 독특한 언어 중 하나이며 구문과 내부 논리가 다른 대부분의 언어와 크게 다릅니다..

이러한 차이점은 컴퓨터 과학 커뮤니티 내에서 계산의 본질과 프로그래밍에 대한 적절한 문법에 대한 지속적인 토론의 일부입니다.

오늘 Common Lisp를 배우기 위해 시간을내는 사람이라면 누구나 언어의 역사를 탐구 할 수있는 요점을 만들어야합니다.

  • 상징적 표현의 재귀 함수와 기계에 의한 계산-1960 년 John McCarthy에 의해 작성 됨. 이것은 Lisp가 될 내용을 설명하는 원본 논문입니다..
  • 수학적 계산 이론의 기초 – 1961 년 McCarthy가 작성한 논문으로“재귀 함수”논문의 많은 아이디어를 탐구합니다. 또한 수학적 논문의 계산 과학을 향해서.
  • Lisp — 과거와 미래에 대한 메모 — McCarthy는 Lisp가 출시 된 후 20 년이 지난 1980 년에이 기사를 썼습니다..
  • 비디오 : 인공 지능

존 맥카시 (John McCarthy, 1927-2011)는 스탠포드 대학교에서 컴퓨터 과학을 오랫동안 가르쳤다. 그의 홈페이지는 AI, Lisp, 이론적 컴퓨터 과학 및 관련 주제에 대한 흥미로운 기사를 소장하고 있습니다..

Lisp 배우기

PHP 또는 Ruby와 같이 더 대중적인 언어가 있기 때문에 Common Lisp에 대한 온라인 자습서는 많지 않습니다. 그러나 온라인 판으로 출판 된 Lisp에 관한 많은 책이 있습니다.

이것들 중 상당수는 1970 년대와 80 년대에 쓰여졌지만, 더 현대적인 자료도 확실히 있습니다.

  • On Lisp — Paul Graham의 우수한 저서 온라인 판.
  • 일반적인 리스프 : 상징적 계산에 대한 부드러운 소개
  • 작은 부품의 리스프 — 일련의 간단한 자습서
  • Practical Common Lisp — 같은 이름의 고전 입문서의 완전한 온라인 판.
  • Land of Lisp — 사람들이 Lisp를 사용하는 방법을 가르치는 재미 있고 특이한 웹 사이트 및 서적.
  • Common Lisp 배우기 — Y = X 분 동안 X를 배우십시오..
  • ELM-ART Lisp Course — 적응 형 원격 교사에서 에피소드 학습자 모델과 함께 Lisp를 사용하는 방법을 배웁니다.
  • 리스프 퀵 스타트
  • LispTutor Jr
  • Lisp에서 주조 캐스팅
  • 일반적인 리스프 : 대화식 접근
  • 초보자를위한 리스프 스타일 팁
  • Pascal Costanza의 Lisp에 대한 의견이 많은 가이드

필요한 독서 :

  • 공통 Lisp 생태계 상태.
리스프 참조 및 문서

대부분의 다른 언어보다 Lisp로 작업을 시작하면 자주 참조 자료를 참조해야합니다. 다음은 온라인에서 가장 일반적으로 사용되는 Common Lisp 참조 작업 중 일부입니다..

  • 일반적인 Lisp Wikibook
  • 일반적인 Lisp HyperSpec
  • 클리키 : 커먼 리스프 위키
  • LispWorks 공통 Lisp 설명서
  • 일반적인 리스프 요리 책
  • Google Common Lisp 스타일 가이드 — Google이 Common Lisp를 작성하는 방식으로 Common Lisp를 작성하는 방법. (Google이 Common Lisp를 쓰고 있다는 것을 알고 있었습니까?)
  • 공통 언어
리스프 프로그래밍의 특별 주제

Lisp는 그 자체의 장점으로 상당히 전문화 된 언어입니다. 다음은 Common Lisp의 특수 문제에 대한 몇 가지 리소스입니다..

  • 인공 지능 프로그래밍의 패러다임 : 공통 Lisp의 사례 연구 — 또한 책을 확인하십시오.
  • 공통 리스프 오브젝트 시스템
리스프 도구

Common Lisp로 주요 내용을 달성하려면 라이브러리, 플러그인, 개발 도구, 프레임 워크 등 더 큰 언어 지원 환경이 필요합니다..

Lispers가 작업을 수행하는 데 가장 많이 사용하는 도구는 다음과 같습니다..

  • ACL2 — 응용 공통 리스프를위한 계산 논리
  • 공통 Lisp의 리더 매크로 — 리더 매크로를 사용하면 Lisp 위에 완전히 새로운 구문을 만들 수 있습니다
  • Quicklisp — Common Lisp의 라이브러리 관리자
  • Clack — Common Lisp의 웹 애플리케이션 환경. 여러 웹 애플리케이션 프레임 워크가 그 위에 구축되었습니다.
    • 동굴 탐험가
    • 닝글
    • 루체른
  • Parenscript — 일반적인 Lisp를 Javascript로 변환
  • jscl — JavaScript 컴파일러에 대한 또 다른 일반적인 Lisp
  • Roswell — Common Lisp 용 명령 줄 설치 프로그램
  • CommonQT — GUI 솔루션을 제공하는 QtTools의 공통 Lisp 확장.
  • CLML — 공통 Lisp 기계 학습 라이브러리
  • MGL — Anoth 머신 러닝 라이브러리
  • Antik — 과학 및 공학 계산을위한 도구를 제공하는 라이브러리
  • 크레인 — 커먼 리스프를위한 ORM.
  • cl-dbi — 데이터베이스 추상화 계층
  • CEPL — 그래픽 라이브러리. 광범위한 비디오 자습서 시리즈를 확인하십시오.
  • Iron Clad — 암호화 도구.
  • SLIME — Common Lisp의 표준 IDE.
리스프 문화와 커뮤니티

다른 언어보다 Lisp는 고유 한 지식, 유머 및 전통과 같은 고유 한 문화를 가지고 있습니다. 이 중 일부는 대학의 컴퓨터 과학 부서에서 시작되었습니다..

또한, 일부는 초기 괴짜 해커 문화와 관련이 있으며, 일부는 언어 자체의 특성과 일반적으로 사용되는 응용 프로그램 유형의 결과입니다..

Lisp를 정말로 이해하고 싶다면 언어를 배우는 것이 아니라 문화를 배우고이 (이상하고 멋진) 커뮤니티의 일원이되어야합니다.

  • 리스프 포럼
  • Lisp의 심리적 현실 워크샵
  • Lisp에 대한 인용문
  • Alan Kay와의 대화
  • 영원한 불꽃
  • 리스프 유머
  • 일반적인 리스프 영화
  • Lisp 뮤직 비디오
  • 플래닛 리스프
  • Lisp Meetings-[@lispmeetings on Twitter] (https://twitter.com/lispmeetings)도 확인하십시오.

필요한 독서 :

  • Gödel, Escher, Bach : Douglas R. Hofstadter의 영원한 황금 머리띠 —이 책은 Lisp와 직접적인 관련이 없습니다. 그러나 이것은 인공 지능, 기계 학습, 수학적 논리 및 재귀와 같이 Lisp에 거주하는 여러 다른 영역에있는 사람들에게 매우 중요한 문화적 및 지적 터치스톤입니다. 이 책은 당신의 생각을 바꾸어 줄 것이며, Lisp를 사용하는 사람과 같은 생각을 갖게 될 것입니다.
일반적인 Lisp 구현

Lisp는 아이디어이며 Common Lisp는 언어입니다. 특정 기술이 아닙니다. 다음은 Common Lisp의 가장 일반적인 구현 중 일부입니다..

  • Clisp — GNU Clisp, ANSI Common Lisp의 구현
  • GCL — 다른 일반적인 Lisp 구현
  • CMUCL — 고성능 무료 Common Lisp 구현입니다. 헴록 편집기가 포함되어 있습니다.
  • 알레그로 CL
  • 클로저 커먼 리스프
  • 스틸 뱅크 커먼 리스프
비디오

보고 Lisp에 대해 알아보십시오. 이 비디오는 기본 튜토리얼부터 Lisp 논리 및 철학에 대한 심층 탐구에 이르기까지 다양한 영역을 실행합니다..

  • Lisp 프로그래머처럼 생각하기
  • 실용 리스프 — Google Tech Talk
  • Lisp에 대한 간략한 소개
  • Lisp — Google 기술 토크
  • 일반적인 Lisp : 매크로가 좋은 이유
  • 일반적인 Lisp – 새 프로젝트를 시작하는 방법
  • 일반적인 lisp를 이용한 대화식 게임 개발
  • CommonLisp의 라이브 코딩
  • 패트릭 스타 인 on Vimeo
  • Baggers의 일반적인 Lisp 자습서

관련 언어 및 방언

Lisp는 단일 언어가 아니라 컴퓨터 프로그래밍을 수행하는 방법에 대한 아이디어 인 언어 군입니다. 일반적인 Lisp은 Lisp의 가장 보편적 인 구현이지만 다른 몇 가지가 있습니다..

Lisp의 주요 방언은 다음과 같습니다.

  • 구성표 — 구성표는 Common Lisp의 주요 경쟁 업체입니다..
  • Clojure — Clojure는 현재 인기를 얻고있는 Lisp 방언입니다. Java 가상 머신에서 실행되도록 빌드되었습니다..

일반적인 Lisp FAQ

리스프 란??

Lisp는 1950 년대 후반에 처음 개발 된 컴퓨터 프로그래밍 언어 제품군입니다. 리스프는 홍보ocessing, 언어가 목록을 기본 데이터 구조로 사용하고 프로그래밍 구문에도 사용한다는 사실을 나타내는 이름.

공통 리스프 란 무엇입니까?

커먼 리스프 (Common Lisp)는 단일 (일반) 버전의 리스프를 만들기 위해 1980 년대 초에 개발 된 리스프의 방언입니다. 그것은 언어의 가장 인기있는 두 가지 버전 중 하나입니다 (체계와 함께).

Lisp는 무엇을 위해 사용됩니까?

Lisp는 모든 유형의 응용 프로그램에 사용할 수 있지만 인공 지능, 기계 학습 및 재귀 논리가 필요한 다른 형태의 고급 프로그래밍에 특히 중요합니다..

Lisp가 인공 지능에 인기있는 이유?

이것에 대한 두 가지 이유가 있습니다.

먼저 Lisp의 기본 데이터 구조 (목록)는 프로그래밍 구문의 구조이기도합니다. 즉, 데이터 및 데이터에 대한 지침은 동일한 형식을 취합니다. 이것을 호모 닉이라고합니다.

이는 Lisp를 사용하여 자체를 분석하거나 수정하는 데 사용될 수 있음을 의미합니다. 인공 지능 분야의 많은 전문가들과 관련 분야의 많은 철학자와 사상가들은 이러한 유형의 재귀 내성 검사를 실제 자기 인식 지능의 기초로 간주합니다. 또한 입력을 기반으로 프로그램을 변경하는 기능은 기계 학습의 본질입니다..

AI에서 Lisp가 인기를 얻는 두 번째 이유는 언어의 제어 구문이 해당 언어의 기본 계산 논리와 매우 유사하기 때문입니다. 이를 통해 Lisp 프로그래머는 다른 언어에서 가능한 것보다 컴퓨터가 실제로 프로그램의 논리와 구문을 해석하는 방법에 대해 더 깊이있는 통찰력을 얻을 수 있습니다..

클로저

Clojure는 비교적 새로운 (2007) 프로그래밍 언어입니다. Java 가상 머신에서 실행되도록 설계된 Lisp의 방언입니다..

Java Virtual Machine이란 무엇입니까?

JVM은 Java 및 기타 언어를 컴파일하고 실행하는 가상 컴퓨터입니다. JVM은 특정 소프트웨어가 아닌 아이디어입니다. 가장 널리 사용되는 JVM 구현 중 하나는 Oracle의 HotSpot입니다..

Java 및 JVM의 기본 개념은 Java (또는 다른 지원되는 언어)로 프로그램을 작성하고 JVM 용으로 컴파일 할 수 있다는 것입니다. 그런 다음 JVM을 실행하는 모든 컴퓨터에서이를 실행할 수 있습니다. 따라서 휴대 성이 매우 뛰어납니다. 코드를 한 번 작성하여 어디서나 실행할 수 있습니다..

Clojure : JVM의 Lisp

Java는 어디에나 있으며 이는 Java Virtual Machines가 어디에나 있다는 것을 의미합니다. JVM에서 실행되는 Lisp 버전을 작성하면 어디서나 Lisp를 실행할 수 있습니다. 이것이 클로저를 만드는 주된 동기였으며 언어를 배우는 큰 이유였습니다..

또 다른 이점은 Clojure가 JVM을 통해 Java로 작성된 수많은 도구 및 타사 라이브러리에 액세스 할 수 있다는 것입니다. 이를 통해 Clojure는 이전에 Lisp 방언에 사용 가능한 것보다 강력한 개발 에코 시스템을 제공합니다.

클로저 튜토리얼

  • Clojure 시작 및 Clojure 소개는 언어에 대한 명확하고 빠른 소개를 제공합니다..
  • Clojure Programming은 언어에 대한 광범위한 오픈 소스 위키 북입니다..
  • X 분 안에 X를 배우십시오. 여기서 X = clojure는 다른 언어로 된 기존 프로그래밍 기술을 가진 사람들에게 언어를 소개하는 좋은 방법입니다..
  • Clojure — JVM 용 함수형 프로그래밍은 Java 개발자를 대상으로하는 자세한 자습서입니다..
  • Clojure Language는 언어를 소개하는 25 부로 구성된 비디오 자습서 시리즈입니다..
  • Clojure Distilled는 언어의 구문과 어휘뿐만 아니라 그 기본 철학을 다루는 필독의 튜토리얼 / 에세이입니다. Clojure 개발자가 문제에 대해 어떻게 생각하는지에 대한 설명을 시도하고 다른 언어를 사용하는 개발자에게 새로운 문제를 해결하는 방법을 모색합니다..
Clojure 학습을위한 기타 리소스
  • Clojure는 온라인 Clojure 통역사로, 로컬로 설치하기 전에 브라우저에서 Clojure를 경험할 수 있습니다..
  • ClojureTV에는 다양한 Clojure 개발 주제에 대한 비디오 자습서 및 실시간 강의가 있습니다..
  • 4clojure는 Clojure의 프로그래밍 연습이 포함 된 대화식 학습 사이트입니다.
  • Full Disclojure는 수많은 훌륭한 Clojure 튜토리얼 비디오를 갖춘 또 다른 비디오 채널입니다..
  • Clojure 초보자 가이드는 새로운 Clojure 개발자가 Clojure 생태계를 구성하는 모든 필수 도구 및 리소스를 가리키는 유용한 리소스입니다..

클로저 참조 자료

  • Clojure 스타일 가이드는 명확하고 유지 관리 가능한 Clojure 코드 작성을위한 모범 사례에 대한 커뮤니티 작성 안내서입니다..
  • ClojureDocs와 Grimoire는 공식 문서의 비공식적 인 동반자이며 커뮤니티에서 제공하는 논평과 예제를 제공합니다..
  • Clojure Cheatsheet는 기억해야 할 모든 작은 것들에 대한 빠른 참조 페이지입니다.

커뮤니티 및 지속적인 학습

  • Clojure Subreddit는 질문을하고 Clojure 커뮤니티와 교류하기위한 매우 활발한 포럼입니다.
  • Clojure Google 그룹 및 메일 링리스트는 Clojure 개발에 대한 질문을하고 지원을 받기에 좋은 곳입니다.
  • Disclojure는 Clojure 뉴스 및 이벤트로 인기있는 사이트입니다.
  • Planet Clojure는 최고의 Clojure 블로그에서 가장 중요한 기사를 모았습니다..

Clojure에 관한 책

Clojure에 관한 많은 책이 있습니다. Clojure 커뮤니티가 계속해서 추천하는 것들은 다음과 같습니다.

  • Daniel Higginbotham의 용감하고 진실한 클로저 (2015)는 반드시 읽어야 할 언어 가이드입니다. 온라인에서 무료로 읽을 수 있으며 Clojure 리소스로 가득한 환상적인 웹 사이트의 기초를 형성합니다..
  • VanderHart와 Neufeld의 Clojure Cookbook (2014)은 Clojure 레시피와 아이디어에 대한 크라우드 소싱 개요입니다. GitHub에서 인쇄물 및 오픈 소스 프로젝트로 제공됩니다..
  • Pragmatic Bookshelf에는 Clojure에 대한 몇 가지 훌륭한 책이 있습니다.
    • Halloway와 Bedra의 Programming Clojure (2012);
    • Clojure 매크로 마스터 링 : Colin Jones의보다 깨끗하고 빠르며 똑똑한 코드 작성 (2014);
    • Clojure 적용 : Vandgrift와 Miller의 실무에서 실무자 (2015)까지;
    • Clojure를 사용한 웹 개발 : Dmitri Sotnikov의 적은 코드로 방탄 웹 애플리케이션 구축 (2016).
  • VanderHart와 Sierra의 Practical Clojure (2010)와 Pragmatic Bookshelf의 Programming Clojure (위에서 언급)는 Clojure 언어에 관해 출판 된 첫 두 권의 책이었습니다. Pragmatic 책에는 더 많은 코드 샘플이 포함되어 있으며 Apress의이 책에는보다 일관된 설명이 있습니다. 이 두 권의 책은 대부분의 Clojure 개발자가 언어에 대해 어떻게 생각하는지에 대한 어조를 설정하므로 배우는 것에 대해 진지한 사람이 읽어야합니다.
  • Emerick, Carper 및 Grand의 Clojure Programming (2012)은 특히 PHP 및 Python과 같은 웹 지향 프로그래밍 및 스크립팅 언어를 사용하는 사람들을위한 매우 명확한 언어 소개입니다..
  • Carin Meier의 Living Clojure (2015)는 독자가 프로그래밍을 일반적으로 이해하고 있다는 가정하에 언어에 대한 실질적인 가이드입니다. 이 책에는 자율 학습 또는 기업 교육용으로 설계된 구조적 학습 계획이 포함되어 있습니다..

Clojure를 배워야합니까?

아마.

Lisp를 사용하지 않더라도 모든 개발자가 Lisp를 배워야한다는 것은 널리 인정되는 진실입니다. 그러나 이제 Lisp의 힘은 배우기 좋고 예외적으로 유용한 언어 인 Java의 편재와 결합되었습니다..

좋은 Clojure 개발자들은 높은 관심을 받고 돈을 많이 지불하며 언어의 인기가 높아지고 있습니다..

다른 개발자와 차별화 할 수있는 프로그래밍 기술을 찾고 있다면 Clojure는 키트와 이력서에 추가 할 수있는 최고의 도구 중 하나입니다..

계획

조금 더 나이가 들었고 고등학교 나 대학교에서 컴퓨터 과학 과정을 수강했다면, 그 과정에서 좋은 오래된 Scheme 프로그래밍 언어를 사용했을 것입니다.

계획의 간략한 역사

Scheme의 역사를 더 잘 이해하려면 현대 컴퓨팅의 초기 단계를 살펴 봐야합니다. Scheme의 개발은 Lisp와 ALGOL 프로그래밍 언어의 두 가지 초기 모델에 영향을 받았습니다..

Lisp는 1958 년 매사추세츠 공과 대학 (MIT) John McCarthy에 의해 만들어졌습니다. Scheme은 일반적인 의미와 구문을 사용하여 Lisp에서 파생되었습니다. 또한 Scheme은 ALGOL에서 빌 렸습니다. 그것은 ETH 취리히에서 1958 년 회의에서 유럽과 미국 컴퓨터 과학자위원회에 의해 개발되었습니다. 체계는 블록 구조와 어휘 범위를 사용했습니다..

1973 년, MIT의 Guy L Steele과 Gerald Jay Sussman은 Lambda 미적분학에서 Carl Hewitt의 Actor 모델을 구현하려고 시도했습니다. MacLisp에서 작은 Lisp 인터프리터를 작성하고 액터를 작성하고 메시지를 전송하는 메커니즘을 추가하여이를 수행했습니다. 그들은 일하면서 아주 작고 유능한 Lisp 방언을 만들었고 그것을 Scheme이라고 명명했습니다.

2003 년에 Scheme 워크샵은 Scheme에 대한 새로운 표준화 프로세스를 시작했으며 결국 2006 년에 승인 된 표준 R6RS를 발표했습니다. Scheme의 마지막 안정적인 릴리스는 2013 년부터 승인 된 표준 R7RS입니다..

구성표 기능

Scheme은 기본적으로 기능적인 프로그래밍 언어로, 주요 데이터 구조로 목록을 제공하며 일류 함수를 지원합니다. 간단하고 최소한이며 구현하기 쉬운 프로그래밍 언어입니다. 이 미니멀리즘 철학은 Scheme Steering Committee가 단일 언어가 아닌 “세계에서 가장 이식 불가능한 프로그래밍 언어”와 “사투리 가족”이라고 부르는 정도까지 실제 Scheme 구현간에 광범위한 차이를 가져 왔습니다. 동적 범위를 가진 초기 Lisp 파생물과 달리 Scheme은 어휘 범위 (ALGOL의 영향)입니다..

Scheme에서 블록은 다음 구성으로 구현됩니다. 허락하다, 허락하다*letrec. 이 블록 구조는 ALGOL에서도 상속됩니다. 반복 구조 하다 Scheme에서 사용되며 tail recursion을 사용한 반복 지원도 제공됩니다. 구성표의 연속은 일류 객체이며 현재 통화와 통화 구성표 절차 (일명 콜 / CC). Scheme에서 모든 데이터와 프로시 저는 공통 네임 스페이스를 공유하며 입력 및 출력은 포트 데이터 형식.

수치 타워는 체계에서 지정되고 구현 된 복잡하고 합리적인 수치 데이터 유형의 집합입니다. 지연된 평가는 지연 형태와 순서.

계획 구현 및 사용

단순함과 미니멀리즘 때문에 Scheme 라이브러리는 프로그래밍 언어 디자이너, 교육자 및 애호가들에게 매우 인기가 있습니다. 이로 인해 Scheme의 다양한 구현과 방언이 생겼습니다. 전통적인 Lisp 스타일의 read-eval-print 루프는 대부분의 Scheme 구현에서 지원되며 일부는 Scheme 프로그램을 실행 가능한 바이너리로 컴파일합니다..

Scheme 구현의 단순성으로 인해 더 큰 시스템에 스크립팅 기능을 추가하는 데 널리 사용됩니다. 또한 Scheme의 JScheme 및 Kawa 구현은 Java 클래스와의 통합을 제공합니다..

체계는 주로 교육에 사용됩니다. 많은 기초 컴퓨터 과학 및 프로그램 설계 과정에서 컴퓨터 프로그래밍의 기초를 보여줍니다. Scheme의 다른 주목할만한 용도로는 Android 용 Google App 발명자, 김프 그래픽 편집기, DSSSL (Document Style Semantics and Specification Language) 등이 있습니다..

학습 계획

Scheme의 광범위한 교육적 사용으로 인해 Scheme을 배우고 학습을위한 자원을 찾는 것은 문제가되지 않습니다. 무료 및 상업용으로 제공되는 많은 학습 자료가 있으며 그중 일부를 골라 냈습니다.

계획 과정 및 자료

Scheme은 최소한의 간소화 된 프로그래밍 언어이므로 비교적 마스터하기가 쉽습니다. 이 과정과 자습서를 사용하면 아마도 Scheme에서 프로그래밍을 시작할 수있을 것입니다.

  • 컴퓨터 프로그램의 구조 및 해석은 비디오 강의, 온라인 교과서, 프로젝트, 성적 증명서 및 선택된 강의 노트를 포함하여 Scheme에 대한 유용한 자료가 많이있는 MIT 입문 과정 6.001입니다..
  • DrScheme은 Scheme 프로그램의 작성, 디버깅 및 분석을위한 통합 개발 환경 (IDE)으로 교육에도 사용됩니다..
  • PVTS (Pilo Visual Tools for Scheme)는 시각화 도구를 사용한 기본 Scheme 인터프리터 구현입니다. 자바로 작성되었으며 학습 코드로 스키마 코드를 그래픽으로 표시하는 유일한 목적으로 통역 기능이 매우 제한적입니다..
  • Schemers.org에는 Scheme에 대한 훌륭한 문서 및 소개 텍스트 모음이 있습니다..
계획서

수많은 계획서가 있으며, 그 중 다수는 무료이며 교육 과정에 사용됩니다. Scheme 프로그래밍 언어를 배우기 시작하면 매우 도움이 될 수 있습니다..

  • Abelson, Sussman 및 Sussman의 컴퓨터 프로그램 구조 및 해석은 MIT 입문 과정에서 사용되는 우수한 컴퓨터 과학 책입니다. 이것은 Lisp and Scheme 세계의 성경 중 하나이며 MIT Press에서 무료로 온라인으로 제공됩니다.
  • 프로그램 설계 방법 : Felleisen, Findler, Flatt 및 Krishnamurthi의 컴퓨팅 및 프로그래밍 소개는 프로그래밍 로직을 매우 훌륭하게 소개합니다. 무료이며 온라인으로 제공되며 MIT Press에서 출판.
  • R Kent Dybvig의 Scheme Programming Language, Fourth Edition은 Scheme 프로그래밍 언어에 대한 소개를 제공하지만 일반적인 프로그래밍에 대한 소개는 제공하지 않습니다. 무료이며 온라인으로 제공되며 MIT Press에서 출판합니다..
  • Friedman과 Felleisen의 Little Schemer – 4th Edition은 연산을 산술과 대수의 확장으로, 그리고 재귀 함수로 프로그램을 소개합니다. 이 책은 무료가 아닙니다.
  • Friedman과 Felleisen의 Seasoned Schemer는 독자에게 컴퓨팅의 추가 차원 (값으로서의 기능, 상태 변화 및 예외적 인 경우)에 대해 알려줍니다. 이 책은 무료가 아닙니다.
  • 구성표 사용 방법 : Felleisen, Findler, Flatt, Krishnamurthi, Steckler의 PLT Scheme을 사용한 스크립트 및 프로그램 작성 간단한 GUI 디자인 및 웹 스크립팅과 같은 고급 기능에 대한 파일 입력 및 출력과 같은 몇 가지 기본 아이디어를 소개합니다. 계획의 측면. 온라인으로 무료로 제공됩니다.

당신에게 맞는 제도인가?

Scheme은 프로그래밍 방법을 배우는 좋은 방법 일뿐만 아니라 컴퓨터 과학 공부를 시작하는 좋은 방법입니다. 이러한 이유 때문에 올바른 방향으로 나아가 야합니다.

Lisp 애플리케이션 구현

Lisp는 매우 유용하여 응용 프로그램의 스크립팅 언어로 자주 사용됩니다. 가장 큰 두 가지는 텍스트 편집기 Emacs와 CAD (Computer-Aided Design) 응용 프로그램 AutoCAD입니다. 아래에서 두 가지를 살펴 보겠습니다..

AutoLISP

AutoCAD, Bricscad 또는 IntelliCAD와 같은 CAD (Computer-Aided Design) 소프트웨어를 사용하는 경우 어느 시점에서 CAD 환경에서 추가 사용자 화 또는 자동화 기능이 필요할 수 있습니다..

여기서 AutoLISP가 시작됩니다. AutoLISP는 CAD 소프트웨어와 함께 사용하기 위해 특별히 제작 된 단순하고 가벼운 프로그래밍 언어입니다..

AutoLISP의 간략한 역사

AutoLISP는 Lisp 프로그래밍 언어의 방언으로 AutoCAD 환경에서 사용하기 위해 사용자 정의되고 간소화되었습니다..

Lisp는 1958 년으로 거슬러 올라가는 프로그래밍 언어 제품군입니다. Lisp라는 이름은 “List Processor”에서 파생되었으며 연결된 목록은 Lisp의 주요 데이터 구조 중 하나입니다..

AutoLISP는 1986 년 Autodesk의 AutoCAD 버전 2.18에서 처음 도입되었으며 Autodesk가 VBA 또는 .NET과 같은보다 현대적인 개발 환경을 위해 AutoLISP 개발을 중단 한 1995 년 릴리즈 13까지의 새로운 릴리즈에서 지속적으로 개선되었습니다..

그럼에도 불구하고 AutoLISP는 많은 AutoCAD 사용자를위한 기본 사용자 화 언어로 남아 있습니다.

1997 년 오토 데스크는 AutoCAD 14를 출시하고 AutoCAD의 상용 애드온으로 Visual Lisp를 도입했습니다. Visual Lisp에는 IDE (Integrated Development Environment), 디버거 및 컴파일러 및 ActiveX 지원이 포함됩니다..

1999 년 AutoCAD 2000이 출시되면서 Visual Lisp가 AutoLISP를 대신하여 AutoCAD에 통합되었습니다. 그 이후로 VBA, .NET 및 C에 집중하기 위해 Autodesk는 Visual Lisp의 주요 기능 향상을 중단했습니다.++.

Visual Lisp 및 AutoLISP는 현재까지 AutoCAD에서 계속 지원되는 반면 7.1 이전의 VBA 버전에 대한 지원은 2014 년 1 월 31 일자로 중단되었습니다..

다른 많은 CAD 소프트웨어 공급 업체들도 AutoLISP에서 사용할 수있는 많은 유틸리티와 응용 프로그램뿐만 아니라 사용자 규모가 커서 자체 제품에서 AutoLISP 지원을 채택했습니다..

사람들이 여전히 C 대신 AutoLISP를 사용하는 이유++?

정식 버전의 Autodesk AutoCAD를 사용하는 경우 AutoLISP 컴파일러가 이미 AutoCAD에 포함되어 있으며 바로 사용할 수 있습니다. 온보드 IDE 인 Visual Lisp도 있습니다. AutoCAD LT 버전은 AutoLISP를 기본적으로 지원하지 않습니다..

대부분의 AutoCAD 사용자 또는 유사한 CAD 솔루션 사용자는 프로그래밍 및 프로그래밍 언어에 익숙하지 않으므로 C ++을 학습하여 간단한 프로그램이나 AutoCAD의 자동화 기능을 작성하는 것은 실용적이지 않습니다..

AutoLISP는 C ++ 또는 Visual Basic보다 간단하고 능률적이며 사용 및 학습이 훨씬 쉽고 프로그래밍을 시작하는 데 필요한 모든 것이 이미 AutoCAD에 포함되어 있습니다..

AutoLISP로 작성된 프로그램 및 유틸리티는 AutoCAD에서 쉽게 액세스하고 실행할 수 있습니다. 이것이 AutoLISP를 사용자가 AutoCAD를 사용자 화하기위한 최상의 옵션으로 만드는 주된 이유입니다.

AutoLISP 기능

AutoLISP는 해석 언어이며 컴파일되지 않으므로 ASCII 텍스트 파일로 저장 한 다음로드 한 다음 AutoCAD 내에서 직접 실행할 수 있습니다..

AutoCAD에서 수동으로 수행하는 거의 모든 작업은 AutoLISP를 사용하여 자동으로 수행 할 수 있습니다.

AutoLISP에는 변수 조작, 의사 결정 제어, 루프, 산술 연산, 오류 처리 및 함수 처리를위한 일반 프로그래밍 기능과 같이 AutoCAD의 모든 활동을 수행하는 데 사용할 수있는 다양한 기능이 있습니다..

또한 지오메트리, 디스플레이 컨트롤, 쿼리 및 명령, 사용자 입력 및 객체 처리와 같은 여러 영역에서 특수 기능을 제공합니다..

AutoLISP는 또한 AutoCAD에서 자동 배치를 사용하여 모달 대화 상자를 작성하기위한 내장 GUI 미니 언어 인 대화 상자 제어 언어를 갖추고 있습니다. AutoCAD를 실행할 수있는 모든 플랫폼은 AutoLISP도 지원합니다.

AutoLISP 학습

AutoLISP를보다 쉽게 ​​배울 수있는 특정 요인이 있습니다.

숙련 된 AutoCAD 사용자라면 AutoLISP를 배우는 것이 더 쉬울 것입니다. AutoLISP는 본질적으로 AutoCAD를 제어하는 ​​방법이므로 AutoCAD를 더 잘 알수록 자동으로 제어하기 위해 수행 할 작업을 더 잘 알 수 있습니다.

AutoLISP 튜토리얼

AutoLISP는 배우기 매우 간단한 언어이며 아마도 AutoCAD에 내장 된 다른 API (Application Programming Interfaces) 중에서 가장 생산적 일 것입니다. 이 자습서를 사용하면 아마도 유용한 프로그램을 즉시 작성할 수 있습니다..

  • AfraLISP는 초보자, 중급 및 고급 사용자를위한 우수한 AutoLISP 무료 학습 튜토리얼과 리소스를 제공합니다..
  • Autodesk의 공식 AutoLISP 개발자 안내서는 AutoLISP 프로그래밍 언어를 사용하기위한 주요 주제 및 워크 플로우에 대한 단계별 개요를 제공합니다. 또한 AutoLISP에서 프로그래밍하는 동안 유용하게 사용할 수있는 공식 AutoLISP 기능 참조도 관심의 대상입니다..
  • 80 분 안에 AutoLISP 마스터 링은 Augi CAD Camp 2005의 Power Point 프레젠테이션이며 무료로 다운로드 할 수 있습니다. AutoLISP의 기본 사항을 다루며 중간 AutoCAD 사용자를 대상으로합니다..
  • CADTutor.net의 AutoLISP 빠른 시작은 AutoLISP 학습을 시작하려는 AutoCAD 사용자를 대상으로합니다..
  • 첫 AutoLISP 프로그램 : Zoom to Origin은 AutoCAD의 Visual Lisp Editor에서 짧은 AutoLISP 프로그램 작성의 기본 사항을 보여주는 간단한 튜토리얼입니다..
  • Lee Mac Programing에는 자습서 및 다운로드 및 연구 할 수있는 많은 기능적 AutoLISP 프로그램과 같은 흥미로운 AutoLISP 리소스가 있습니다..
AutoLISP 도서

AutoLISP 및 AutoCAD에서의 사용에 관한 많은 서적이 널리 이용 가능합니다. 이 안내서 중 일부는 AutoLISP에서 프로그래밍하는 방법을 배우는 데 매우 도움이 될 수 있지만 온라인 자습서를 먼저 수행하는 것이 좋습니다..

  • AutoLISP 프로그래밍 : Rawis와 Hagen의 원리와 기술은 AutoLISP 프로그래밍 언어를 마스터하는 실용적이고 따라하기 쉬운 명령을 제공합니다.
  • AutoCAD 플랫폼 사용자 화 : 사용자 인터페이스, AutoLISP, VBA 및 Beyond by Lee Ambrosius는 AutoCAD 플랫폼을 간소화하고 개인화하는 포괄적 인 안내서입니다. AutoLISP 및 VBA 프로그래밍 언어는 수많은 사용자 화 옵션을 제공하며이 책은이를 AutoCAD, Civil 3D, Plant 3D 및 Autodesk AutoCAD 플랫폼 기반의 다른 프로그램에 적용하는 방법에 대한 전문가 지침을 제공합니다..
  • Reinaldo Togores의 AutoCAD 전문가의 Visual LISP : Visual Lisp 통합 개발 환경 사용을 포함한 Lisp 프로그래밍 기술을 처음부터 설명합니다..

AutoLISP에 대한 준비가 되셨습니까??

AutoLISP는 매우 오래된 프로그래밍 언어 인 Lisp에서 파생되었지만 AutoLISP는 여전히 AutoCAD 사용자에게 매우 유용한 도구입니다..

AutoLISP는 여전히 AutoLISP를 지원하는 AutoCAD 및 기타 CAD 소프트웨어에서 사용자 화 및 자동화를 위해 선택하는 도구입니다.

이맥스 리스프

GNU Emacs 또는 다른 유사한 Emacs 텍스트 편집기를 사용한다면 아마도 Emacs Lisp에 대해 들어봤을 것입니다. Emacs Lisp는 GNU Emacs 텍스트 편집기의 편집 기능 대부분을 개발하고 코딩하는 데 사용되는 프로그래밍 언어입니다. Emacs Lisp는 Elsip이라고도합니다..

기본적으로 Emacs Lisp는 GNU Emacs 텍스트 편집기의 기능을 사용자 정의하고 확장하는 데 사용됩니다..

이맥스 리스프의 간략한 역사

Emacs Lisp는 GNU Emacs 및 XEmacs 텍스트 편집기에서 사용되는 Lisp 프로그래밍 언어의 미니언 언어입니다. Lisp는 “List Processor”의 약자이며 1958 년으로 거슬러 올라가는 프로그래밍 언어 제품군을 나타냅니다..

GNU 프로젝트의 창립자 인 Richard Stallman은 GNU Emacs 텍스트 편집기를 만들었습니다..

1985 년에 처음 릴리스 된 GNU Emacs 버전 13은 Emacs Lisp를 자체 확장 언어로 사용합니다. Emacs Lisp는 Lisp 프로그래밍 언어의 Maclisp 방언에서 크게 영감을 받았습니다..

최신 GNU Emacs 릴리스는 버전 24.5이며 2015 년 4 월에 릴리스되었습니다..

Emacs Lisp는 GNU Emacs의 필수 부분이며 GNU Emacs가 지원하는 모든 플랫폼 (GNU, GNU / Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, Microsoft Windows 및 Solaris)에서 실행됩니다..

Emacs Lisp와 GNU Emacs는 모두 오픈 소스이며 무료입니다. GNU 일반 공중 사용 허가서에 따라 공개되며 소스 코드를 자유롭게 검토, 수정 및 재배포 할 수 있습니다..

Emacs Lisp 및 GNU Emacs를 사용하는 사람?

오늘날의 최신 IDE (Integrated Development Environments)를 사용하면 GNU Emacs와 같은 특수 텍스트 편집기에서 코드를 작성하는 것이 언뜻보기에는 매우 이상해 보일 수 있습니다..

그러나 노련한 사용자를 위해 GNU Emacs에는 대부분의 최신 IDE에는없는 강력한 코드 편집 기능이 있습니다..

GNU Emacs는 확장 가능하고 사용자 정의 가능하며 자체 문서화되는 실시간 디스플레이 편집기로 설명되며 이러한 모든 기능은 통합 된 Emacs Lisp 인터프리터에서 제공됩니다..

최신 IDE는 GUI 및 시각적 요소에 중점을두고 있으며 주로 마우스로 제어됩니다. 그것들과 달리 GNU Emacs는 키보드 입력과 강력한 텍스트 편집 기능에 중점을두기 때문에 대부분의 최신 IDE보다 순수한 코드를 작성하는 프로그래머에게 더 적합합니다.

모든 인기있는 프로그래밍 언어는 GNU Emacs에서 지원됩니다. 또한 Emacs Lisp는 GNU Emacs를 확장하고 커스터마이즈하기위한 강력한 도구로 시작되었습니다..

이맥스 리스프 특징

Emacs Lisp 프로그래밍 언어는 편집기에서 사용하도록 특별히 설계되었으므로 텍스트 구문 분석 및 스캔, 서브 프로세스, 버퍼, 디스플레이, 파일 등을 처리하기위한 특수 기능을 제공합니다. 편집 명령은 Emacs Lisp 프로그램에서 호출 할 수있는 기능입니다.

Emacs Lisp 기능은 Maclisp 방언과 밀접한 관련이 있습니다. Emacs Lisp는 기본적으로 동적 범위를 사용하며 강력한 텍스트 편집기에서의 데이터 구조 및 기능 제공에 중점을 둔 명령형 및 기능적 프로그래밍 방법을 모두 지원합니다..

정적 범위는 버전 24부터 옵션으로 제공됩니다. 변수를 설정하여 활성화 할 수 있습니다. 어휘 바인딩. Emacs Lisp는 테일 콜 최적화를 지원하지 않으므로 테일 재귀로 인해 스택 오버플로 오류가 발생할 수 있습니다..

Emacs Lisp는 명령 행 또는 실행 파일에서 호출되는 GNU Emacs의 스크립트 언어로 사용될 수 있으며 프로그램에 사용 가능한 모든 편집 기능이 있습니다..

스크립팅에 사용되는 Emacs Lisp를 사용하여 배치 모드에서 실행중인 GNU Emacs 사용자 인터페이스는 표시되지 않으므로 표준 Unix 도구와 유사하게 작동합니다..

개발 환경

Emacs Lisp를 사용하려면 GNU Emacs 텍스트 편집기를 설치해야합니다. 매우 간단한 과정입니다.

Gnu.org Emacs 다운로드 페이지로 가서 시스템에 GNU Emacs를 다운로드하고 설치하는 지침을 따르십시오. GNU Emacs는 GNU, GNU / Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X, Microsoft Windows 및 Solaris 플랫폼을 지원합니다..

이맥스 학습

당연히, 이전 프로그래밍 경험, 특히 Lisp에서 파생 된 일부 기능 프로그래밍 언어에서 Emacs Lisp를 배우는 것이 더 쉬울 것입니다..

베테랑 코더는 텍스트 / 코드 편집기를 알고있는 경향이 있기 때문에 일반적인 프로그래밍 경험도 환영합니다.

Emacs Lisp 튜토리얼 및 리소스

Emacs Lisp는 최소한의 배우기 쉬운 프로그래밍 언어이지만 상대적으로 제한적인 틈새 시장의 매력으로 인해 온라인 리소스가 많지 않습니다. Emacs Lisp를 시작하는 데 유용한 몇 가지 튜토리얼과 학습 자료를 선택했습니다.

  • Gnu.org의 Emacs Lisp 프로그래밍 소개는 프로그래밍 경험이없는 신규 사용자를 대상으로합니다..
  • GNU Emacs Lisp 참조 매뉴얼은 Emacs Lisp에 대한 자세한 설명과 참조입니다. 이 매뉴얼은 편집을 위해 Emacs를 사용하는 것이 편하다고 가정합니다..
  • Elisp Cookbook에는 기본 Emacs Lisp 프로그래밍 작업을 보여주는 많은 코드 예제가 포함되어 있습니다..
  • Emacs Lisp Wiki는 Emacs Lisp 프로그래밍을 시작할 수있는 좋은 자료에 대한 링크를 제공합니다..
이맥스 리스프 북

Emacs Lisp 서적도 다수 있습니다. 그중 일부는 매우 유용 할 수 있지만 여전히 온라인 자습서 및 리소스를 무료로 사용해 보는 것이 좋습니다. 더 많은 자료가 필요하면 한두 권의 책을 구입할 수 있습니다.

  • Robert J Chassell의 Emacs Lisp 프로그래밍 소개는 프로그래머가 아닌 사람들이 Emacs Lisp 프로그래밍 언어를 사용하여 GNU Emacs를 커스터마이징하는 방법을 보여주는 기본 튜토리얼입니다..
  • Emacs Lisp — Robert J Chassell의 소개는 Emacs Lisp를 시작하고 프로그래밍의 기본 원리를 배우도록 안내합니다..
  • GNU Emacs Extensions 작성 : Bob Glickstein의 Lisp를 사용한 편집기 사용자 정의 및 작성은 간단한 사용자 정의에서 Emacs Lisp의 광범위한 모드에 이르기까지 모든 실제 사례를 보여줍니다..

이맥스를 사용한다면 이맥스 뚜껑이 필요하다

GNU Emacs는 Emacs Lisp를 사용한 사용자 정의를 지원하는 텍스트 편집기로 설계되었습니다.

그러나 GNU Emacs는 Emacs Lisp 프로그래밍 언어가 제공하는 강력한 기능과 확장 성 덕분에 거의 완전한 IDE가되었습니다..

강력하지만 전문화 된 프로그래밍 언어입니다. 일반적인 개발자가 마스터해야하는 것은 아니지만 일부 틈새 애플리케이션에서는 여전히 Emacs Lisp가 널리 사용되므로 조만간 변경되지 않을 것입니다..

결론

우리는 Lisp 세계의 표면을 간신히 긁었습니다. 그러나 보시다시피, 응용 프로그램을 작성하든 텍스트 편집을 쉽게 하려는지 알면 매우 유용한 언어입니다..

다른 흥미로운 것들

코딩 및 개발과 관련된 더 많은 가이드, 자습서 및 인포 그래픽이 있습니다.

  • F # 프로그래밍 : .NET 프레임 워크에서 함수형 프로그래밍에 대해 알아보십시오..
  • Erlang Programming Introduction and Resources : 병렬 코드 생성에 사용되는 초기 기능 언어.
  • Java : 소개, 학습 방법 및 자원 : Java 프로그래머가되기위한 자세한 안내서를 확인하십시오..
어떤 코드를 배워야합니까?

코딩해야 할 프로그래밍 언어에 대해 혼란 스러우십니까? 인포 그래픽, 어떤 코드를 배워야하는지 확인하십시오?

언어의 다양한 측면에 대해서만 논의 할뿐만 아니라“생활에 필요한 Java를 얼마만큼 돈을 벌 수 있을까요?”와 같은 중요한 질문에 답변합니다.

어떤 코드를 배워야합니까?
어떤 코드를 배워야합니까?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map