- 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계열의 언어와 정반대의 방향.