OCaml의 문제점은 "즉시 사용하기에는"너무 유용하지 않다는 것입니다. 사람들이 언어를 사용하는 최종 이유는 필요한 라이브러리가 있기 때문입니다. 그러나 "즉시 사용 가능한 것"이 없으면 아무도 라이브러리를 작성해야한다는 것을 깨닫기 위해 프로젝트에 충분히 들어 가지 않습니다. 결과적으로 라이브러리가없는 언어가되어 "실제 앱"을 작성하기가 어렵습니다.
나는 이것이 OCaml이 겪는 문제라고 생각합니다. 프로그래밍 언어가 있기 때문에 아무도 "실제 프로젝트"를 시작하지 않아도됩니다. 예, 2와 2를 더하고 결과를 인쇄 할 수 있습니다. 그 결과 대부분 학계 이탈자 (저자가 박사 학위를 받았고 이동) 인 라이브러리의 모음으로 프로그래머를 연습하는 데 너무 도움이되지 않습니다.
( "배터리 포함"과 같은 프로젝트를 통해이를 변경하는 작업이 진행되고 있음을 알고 있습니다. 5 년 후에 다시 오면 OCaml이 더 인기가있을 것입니다.)
이 규칙에는 몇 가지 예외가 있습니다. 자바는 도서관없이 시작했지만 썬은 사람들에게 모두 집안으로 쓰라고 돈을 지불 한 다음 그 책을 내놓았다. Java 인증, Java 전용 하드웨어, Java 서적, Java 클래스 등. 심지어 프로그래밍 학습에 사용하기에 매우 좋은 언어는 아니지만 대부분의 대학에서 독점적으로 가르치도록 설득했습니다.
결과는 인기였습니다. 돈은 많은 문제를 해결할 수 있습니다.
기능적 언어 영역에서 Haskell이 인기를 얻고 있음을 알 수 있습니다. 나는 대부분의 인기는 유용한 도서관을 쓰는 돈과 같은 사람들에 의한 것이라고 생각하며, 언어를 마케팅하는 것을 멈추지 않습니다. 매일 Reddit 프로그래밍에 관한 Haskell 기사가 몇 개 있습니다. 이것은 사람들이 "하스켈을 시도 할 것"이라고 최종적으로 결정할 때까지 사람들의 마음에 붙어 있습니다. 그렇게하면 웹 프레임 워크, 객체 데이터베이스, OpenGL 라이브러리 및 XML 처리 라이브러리와 같은 유용한 것들을 보게됩니다. 이것은 그들이 실제로 "지금 바로"유용한 것을 할 수 있다는 것을 의미합니다. 따라서 생산성과 생산성에 대한 가능성 사이에서 Haskell은 많은 인기를 얻었습니다.
CL은 Haskell과 동일한 라이브러리를 많이 가지고 있으며 거의 빠르지 만 아무도 그것에 대해 이야기하지 않으므로 "죽은 느낌"입니다. 실제로 #lisp는 #haskell보다 훨씬 조용하지만 Lisp는 여전히 많은 라이브러리가있는 매우 생산적인 언어입니다. 다른 언어에는 SLIME이 없습니다. 그러나 마케팅은 매우 중요하며 Haskell은 Lisp 또는 OCaml보다 더 잘 수행하며 동일한 사용자 기반을두고 경쟁합니다.
마지막으로, 어떤 사람들은 프로그래밍을 "받지"않을 것이므로 그들의 정신 모델을 깨는 것 (변수는 값을 가진 상자, 코드는 위에서 아래로 실행)은 언어를 사용하지 않도록합니다. 이 유형의 프로그래머는 프로그래밍 인구의 비율이 높기 때문에 Lisp, Haskell 및 OCaml과 같은 추상 언어의 사용자 기반을 더욱 제한합니다.