나는 여기에 기사를 읽고 있었다 : http://www.paulgraham.com/avg.html "blub paradox"에 관한 부분은 특히 흥미로웠다. 주로 C ++로 코딩하지만 다른 언어 (주로 Haskell)에 노출 된 사람으로서 나는이 언어에서 C ++로 복제하기 어려운 몇 가지 유용한 것을 알고 있습니다. 문제는 주로 c ++와 다른 언어에 능숙한 사람들에게 있습니다. c ++로만 작성하는 경우 개념화하거나 구현하기 어려운 언어에서 사용하는 강력한 언어 기능이나 관용구가 있습니까?
특히이 인용문은 내 관심을 끌었습니다.
귀납적으로, 다양한 언어들 사이의 모든 힘의 차이를 볼 수있는 유일한 프로그래머는 가장 강력한 언어를 이해하는 사람들입니다. (이것은 아마도 Eric Raymond가 Lisp가 당신을 더 나은 프로그래머로 만드는 것에 대한 의미 일 것입니다.) Blub 역설 때문에 다른 사람들의 의견을 믿을 수는 없습니다. Blub 역설 때문에 그들은 사용하는 언어에 만족합니다. 그들이 프로그램에 대해 생각하는 방식.
c ++를 사용하여 "Blub"프로그래머와 동등한 것으로 밝혀지면 다음과 같은 질문이 발생합니다. 다른 언어에서 경험 한 개념이나 기술이 있습니까? C ++에서 쓰거나 "생각"했습니까?
예를 들어 Prolog 및 Mercury와 같은 언어에서 볼 수있는 논리 프로그래밍 패러다임은 캐스터 라이브러리를 사용하여 c ++로 구현할 수 있지만 궁극적으로 Prolog 코드 측면에서 생각하고이를 사용할 때 C ++로 변환한다는 것을 알았습니다. 내 프로그래밍 지식을 넓히는 방법으로 c ++ 개발자로 알지 못하는 다른 언어로보다 효율적으로 표현되는 유용하고 강력한 관용구의 다른 유사한 예가 있는지 알아 내려고 노력 중입니다. 염두에 두어야 할 또 다른 예는 lisp의 매크로 시스템입니다. 프로그램 내에서 프로그램 코드를 생성하면 일부 문제에 많은 이점이있는 것 같습니다. 이것은 C ++ 내에서 구현하고 생각하기 어려운 것 같습니다.
이 질문은 "c ++ vs lisp"토론 또는 어떤 종류의 언어 전쟁 유형 토론이 아닙니다. 이와 같은 질문을하는 것은 내가 모르는 것에 대해 알 수있는 유일한 방법입니다.
there are things that other languages can do that Lisp can't
가 Turing-complete이기 때문에 그렇지 않습니다 . 아마도 당신 은 Lisp에서 수행하기에 실용적이지 않은 것들이 있다고 말하고 싶습니까? 나는 모든 프로그래밍 언어 에 대해 같은 것을 말할 수 있습니다.