타입스크립트 개발자가 최근 Go 언어로 전환한 경험을 공유함. 처음에는 Go의 배열 함수 부족과 유연하지 않은 타입 시스템에 대해 우려를 표함. 하지만 Go를 사용하면서 표준 라이브러리의 우수성, 타입 안전성, 내장된 코딩 표준의 장점을 느낌. 라우팅이 표준 라이브러리로 통합된 것도 긍정적으로 평가함.
Go 1.22 버전에 대한 인터랙티브 릴리스 노트를 제공하는 링크를 공유함.
9년 이상 Go를 사용한 개발자가 Dart(Flutter 개발을 위해)와 Go를 비교함. Dart는 가능한 모든 기능을 추가하려 하지만 Go는 반대로 단순함을 추구함. Dart에서는 클래스 초기화 방법이 다양해져 혼란스럽고, Go의 단순함이 그리워짐. Dart의 맵/스트림 등을 사용한 복잡한 단일 표현식은 디버깅 시 또는 초보 개발자에게 혼란을 줄 수 있음.
io.Copy가 TCPConn에서 UnixConn으로 복사할 때 Linux의 splice(2) 시스템 호출을 사용할 수 있게 되었음. io 패키지에서 이러한 패턴을 통해 얻을 수 있는 이점을 높이 평가함.
Go 1.22 버전에서 라우팅 패턴이 개선되었으나, 이로 인해 소소한 호환성 문제가 발생할 수 있음. 이는 httpmuxgo121 필드를 통해 제어할 수 있음.
어떤 개발자는 Go 언어에 추가된 '함수 범위' 기능을 좋아하지 않음. 이 기능이 언어에 추가된 복잡성에 비해 충분한 편의성을 제공하지 않으며, Go의 명시적이고 단순한 스타일과 어울리지 않는다고 생각함.
Go 1.22 버전에서 반복문의 각 반복이 새로운 변수를 생성하는 것에 대한 논의 링크를 공유함.
sql.Null[T]의 추가를 환영함. 기존에는 sqlboiler의 null을 사용했지만, sql.Null과 유사한 API를 가지고 있으며, 값이 명시적으로 설정되었는지 여부를 알려주는 IsSet() bool 메서드가 추가적으로 있음.
표준 라이브러리에 라우팅이 추가된 것을 환영하며, chi 라이브러리를 제거할 수 있을지 고려 중임.
Go를 프로덕션에 사용하는 개발자들 사이에서는 새로운 버전으로 빠르게 전환하는지, 아니면 오래된 릴리스에 머무르는지에 대한 질문이 있음. any 키워드 사용에 대한 의견도 나눔.
Hacker News 의견
io.Copy가 TCPConn에서 UnixConn으로 복사할 때 Linux의splice(2)시스템 호출을 사용할 수 있게 되었음.io패키지에서 이러한 패턴을 통해 얻을 수 있는 이점을 높이 평가함.httpmuxgo121필드를 통해 제어할 수 있음.sql.Null[T]의 추가를 환영함. 기존에는sqlboiler의null을 사용했지만,sql.Null과 유사한 API를 가지고 있으며, 값이 명시적으로 설정되었는지 여부를 알려주는IsSet() bool메서드가 추가적으로 있음.chi라이브러리를 제거할 수 있을지 고려 중임.any키워드 사용에 대한 의견도 나눔.