neo 2달전 | parent | favorite | on: GN⁺: 왜 Haskell인가?(gtf.io)
Hacker News 의견
  • Haskell은 부분 함수 대신 전체 함수를 작성하도록 강제함

    • Haskell은 무한 재귀를 방지하지 않음
    • 종속 타입으로 이동하는 FP 생태계에서 타입 검사기가 무한히 실행되지 않도록 하는 것이 중요함
    • Haskell의 많은 임시 확장 기능들이 문제를 일으킴
    • Haskell 철학을 좋아한다면 Haskell에만 국한되지 말아야 함
    • Haskell의 표준화는 실패했음
    • GHC의 고유한 가치 제안은 GHC 런타임 시스템일 수 있음
  • Haskell을 10년 동안 사용해왔으며 도구가 크게 개선되었음

    • ghcup, cabal sandboxing, HLS가 안정적임
    • 라이브러리 생태계에서 부족한 점을 많이 발견하지 못했음
    • Haskell의 컴파일 시간이 여전히 불편함
    • 의존성 컴파일 시간이 길어짐
  • Haskell의 타입 시스템은 함수가 전체임을 증명하지 않음

    • 일반적인 프로그래밍에서는 전체성 증명이 유용하지 않음
    • 대부분의 사람들은 테스트를 통해 프로그램이 실제로 작동하는지 확인함
  • Haskell 언어는 좋지만 생태계는 아직 갈 길이 멀음

    • 컴파일러가 느림
    • 오류 보고 능력이 부족함
    • 첫 번째 오류가 나머지 컴파일을 중단시킴
    • 도구가 다른 함수형 언어에 비해 여전히 부족함
    • 라이브러리 생태계가 부족함
    • Haskell의 아이디어는 다른 많은 언어에 영향을 미쳤음
  • Haskell이나 다른 함수형 언어를 직업적으로 사용하고 싶음

    • Go와 같은 언어는 쉽게 배울 수 있었음
    • 함수형 언어에서 코드베이스를 구축하는 방법을 배우고 싶음
  • Haskell은 프로그래밍 사고방식과 코드 아키텍처에 큰 영향을 미쳤음

    • Haskell의 타입 시스템은 매우 강력하고 이해하기 쉬움
    • Haskell 코드를 미세 최적화하는 것이 재미있었음
    • 도구는 여전히 부족함
  • Haskell은 언어 수준에서 게으름을 실험함

    • 게으름은 표준 라이브러리 수준에서 얻을 수 있음
  • Haskell의 극단적인 순수성과 불변성이 문제임

    • 많은 프로그래머들이 절차적/가변 루프를 더 쉽게 표현함
    • Rust는 유능한 타입 시스템과 많은 함수형 관용구를 사용하지만, 루프와 가변성을 사용할 수 있음
  • Haskell은 비즈니스 로직 소프트웨어(BLOBS)에 매우 적합함

    • 간단한 타입과 패턴 매칭으로 대부분의 비즈니스 로직을 모델링할 수 있음
    • 간단한 부분을 유지하면 비기술적 기여자에게도 쉽게 가르칠 수 있음
    • Haskell은 재미있음