• Why Everyone Hates Go · npf.io 를 읽고, 주목한 점.
  • (내가 좋아하는) Paul Graham의 문장이 인용된다.
    • “people can never have a fruitful argument about something that’s part of their identity”
    • 번역하면. “사람들은 자신의 identity의 일부에 대한 논의를 fruitful 하게 할 수 없다.”
    • 즉, 자신과 가까운 주제일 수록, 그들의 반응은 논리적이기 보다 감정적이게 된다는 뜻이다.
  • Kathy Sierra의 말도 인용 된다.
    • “the hate wasn’t so much about the product/brand but that other people were falling for it.”
    • “다른 사람들이 빠져있는 제품/브랜드에 대한 증오는 커진다”
  • Koolaid-point 라는 말이 나온다.
  • Go 는 최근 40년 동안의 프로그래밍 언어에 대한 연구를 던져버린 유일한 언어.
    • Clojure, Scala, Rust 와는 다른 길.
  • Go에 없는 것:
    • There is no pattern matching
    • there’s no borrowing (보로잉이 뭐지?)
    • there’s no pure functional programming
    • there’s no immutable variables
    • there’s no option types
    • there’s no exceptions
    • there’s no classes
    • there’s no generics….
  • Go를 심하게 비판하는 사람들은 Haskell, Rust, Scala 등의 ML계열의 언어를 사용하는 사람들이다.
    • 그들은 프로그래밍 언어와, 자신의 identity를 묶어버렸다.
    • 많은 사람들이 Go언어를 사용하고, 좋아할 수록, 그만큼 자신의 언어선택이 잘못이고 결국 나 자신의 잘못으로 느끼는 것이다.
    • 이것이 Go 언어를 많은 사람들이 싫어하는 이유라는 주장이고. 이 문장으로 이 글을 한 줄 요약할 수 있다.
  • (공식적으로 얘기하지 않지만) Go언어의 철학은:
    • simplicity(단순함) 과 pragmatism(실용성)
    • 이 철학이 모든것의 상위에 있다.
    • 코드의 정확성을 높인다면, 언어의 복잡성은 올라가도 괜찮다.
    • 이러한 철학은 ML계열의 언어와 정반대의 방향.