▲GN⁺ 2023-08-26 | parent | ★ favorite | on: Haskell을 뒤로한채 떠나기(journal.infinitenegativeutility.com)Hacker News 의견 Haskell 커뮤니티는 학습에 대한 강한 강조와 호기심 및 지식 공유의 환경을 조성하는 것으로 알려져 있다. 그러나 커뮤니티는 종종 아이디어를 테스트한 후 버리는 데 어려움을 겪어, 전문적인 Haskell 코드베이스가 혼란스럽게 된다. Haskell의 툴링은 비판받지만, 대부분의 프로그래밍 언어가 열등한 툴링을 가지고 있다고 주장하는 사람들도 있다. Haskell의 툴링은 Hoogle이라는 독특한 기능을 가지고 있으며, 이는 그 유용성 때문에 매우 인정받고 있다. Haskell과 그 유일한 합리적인 공개 구현인 GHC의 발전은 지속적인 변화와 불일치 때문에 비판받고 있다. GHC와 표준 라이브러리인 base의 특정 버전 간의 연결은 새로운 GHC 버전이 출시될 때 종속성에 변화를 강제하는 문제로 인식된다. 저자의 Haskell에 대한 관심 상실은 스타일적인 새로움, 어색한 툴링, 그리고 지속적인 변화라는 세 가지 주요 요인에 기인한다. Haskell의 문서화와 툴링은 작업하기 어려웠고, 커뮤니티의 Cabal에서 Stack으로, 그리고 다시 Cabal로의 전환은 개선의 징후로 여겨진다. 다른 프로그래밍 언어들은 함수형 프로그래밍의 요소를 통합하여 일부 개발자들에게 더 매력적으로 만들었다. 일부 개발자들은 코드 작성이 더 간단하다는 이유로 Haskell에서 F#으로 이동했다. Haskell은 배우기 어렵다고 여겨지며 그 라이브러리들은 종종 구식이거나 반쪽짜리이다. Haskell의 성능은 비판받으며, 게으른 평가는 메모리 문제와 느린 성능을 초래한다. Haskell 개발자들에게는 언어의 특수성 때문에 일자리 전망이 제한적이라고 여겨진다. Haskell에서의 디버깅은 언어의 복잡성 때문에 도전적이라고 설명된다. Scala는 Haskell에 대한 좋은 대안으로 여겨지며, 양쪽의 장점을 모두 제공한다. 일부는 일상적인 소프트웨어 엔지니어링 작업에서 고급 언어 기능의 필요성을 의문시한다. Haskell의 연구와 학문적 추구에 대한 초점은 실용적인 프로그래밍의 필요성과 충돌할 가능성이 있다고 여겨진다. 게시물은 Haskell에서 실험적인 기능과 안정적인 기능을 분리할 방법이 필요하다고 제안한다. 저자는 Haskell에서 새로운 고급 타입 기능을 사용하도록 압박받지 않으며, 복잡한 타입을 얼마나 사용할지에 대한 직관을 개발하는 것을 제안한다.
Hacker News 의견