실제 회사에서 일한 경험이 없지만 LISP를 사용하기 어려운 이유를 알고 있습니다.
우선, 이것은 나 에게이 블로그 게시물을 상기시킵니다 : http://steve-yegge.blogspot.com/2006/04/lisp-is-not-acceptable-lisp.html
내가 Lisp에서 갖는 주요 문제는 "어떤 Lisp"질문이다. 나는 보통 리눅스에서 주 플랫폼으로 일하지만, 내가 만든 것들은 Windows와 호환되어야합니다. 즉, 사용할 기술을 평가할 때 완전히 다른 두 운영 체제에서 작업 할 때 내 삶을 편하게 만들어야합니다. 이 요구 사항이 마음에 들지 않지만 요구 사항 인 실제 프로젝트에서 사용하는 것이 좋습니다. 이제 개인 프로젝트를 위해 Windows를 잘 지원하지 않는 언어를 사용하지만 큰 소프트웨어 프로젝트를 작성할 기회가 없기 때문에 필요한 경험이 없습니다.
이제 기능 언어를 배우려고 할 때, 저는 Common Lisp를 배우고 싶었습니다. 그것은 옳은 일처럼 보였다. 실제로 내장 함수를 알지 못하고 Lisp에서 작업 할 프로젝트가 필요했기 때문에 Practical Common Lisp를 뛰어 넘기 시작했습니다. S- 표현은 아름답고 쉬웠습니다. 코드에서 무슨 일이 일어 났는지 정확히 알았 기 때문에 모든 괄호는 엄청나게 아름답습니다.
그래서 나는 책 밖에서 Lisp에 첫 번째 프로그램을 작성하려고합니다. 코드 줄을 세고 코드 줄에서 사소한 줄을 제거하는 명령 줄 도구를 원했습니다. 가장 유용한 도구는 아니지만 재미있게 할 수 있습니다. 파일 액세스, 약간의 구문 분석 및 계산이 포함됩니다. 약 일주일 전에 파이썬에서 동일한 도구를 구현했습니다.
명령 줄 인수에 액세스해야합니다. 그런 다음 명령 줄 인수를 얻는 표준 방법이 없다는 것을 배웁니다. 그것들은 모두 비표준 기능입니다. 전혀 크로스 플랫폼이 아닙니다. 언어에는 많은 라이브러리가 내장되어 있지 않기 때문에 주로 더 악화됩니다. 나는 Haskell로 전환하고 커먼 리스프에 그리 멀지 않았습니다 (따라서 불만이 유효하지 않을 수도 있습니다).
과거에는 이런 종류의 비표준적인 것이 항상 고통 스러웠습니다. C ++도 같은 문제가 있지만 Boost와 같은 라이브러리를 사용하면 이러한 약점을 해결할 수 있습니다.
또한 S- 표현 이외의 모든 것에 대한 Lisp 구문이 약간 추악하다는 것을 도움이되지 않습니다.