GN⁺ 2024-09-18 | parent | ★ favorite | on: Swift 6 출시(swift.org)
Hacker News 의견
  • Swift는 거버넌스의 내재된 갈등으로 인해 천천히 죽어가고 있음

    • Swift Working Group™ 오픈 소스 커뮤니티와 Apple 기업 간의 갈등이 존재함
    • Apple이 대부분의 급여를 지불하기 때문에 Apple이 더 큰 영향력을 가짐
    • 하드코딩된 컴파일러 예외와 같은 기술 부채가 컴파일러 코드베이스에 영구적으로 존재함
    • Apple이 SwiftUI 문법을 예쁘게 만들기 위해 반쯤 완성된 개념을 논의 없이 밀어붙임
    • 여전히 놀라운 언어지만 Apple이 놓아주지 않으면 향후 10년 동안 잘 살아남기 어려울 것 같음
  • Swift를 새로 배우고 있으며 현재까지는 괜찮다고 생각함

    • SwiftUI를 사용할 때 "컴파일 실패: 컴파일러가 이 표현식을 합리적인 시간 내에 타입 체크할 수 없음; 표현식을 개별 서브 표현식으로 나누어 보세요"라는 오류가 자주 발생함
    • 컴파일러가 도움을 요청하는 것이 충격적임
  • 안전한 동시성과 타입이 지정된 throws 덕분에 Swift가 더 친근한 Rust처럼 보이기 시작함

    • 패키지 생태계가 작기 때문에 일상적으로 사용하지는 않을 것 같음
    • 크로스 플랫폼 Foundation이 이를 개선하는 방향으로 나아가기를 희망함
  • Swift 6는 크로스 플랫폼 배터리 포함 개발에 있어 큰 도약임

    • Foundation이 많은 것을 기본적으로 제공하기 때문에 큰 장점임
    • Swift 6는 저수준 개선과 크로스 플랫폼 기능이 충분하여 C, C++, Rust, Zig 등을 장기적으로 대체하려는 시도로 보임
  • 최근 Swift와 SwiftUI를 배우기 시작했으며 언어가 복잡하다는 것에 놀람

    • 특히 반응형 인스턴스 변수와 관련하여 복잡함
    • @observableObject와 같은 개념을 이해하지 못함
    • 여러 가지 방법이 있어 결국 작동할 때까지 시도해 봄
  • Swift가 macOS에만 머물 것이라고 생각했지만 매우 흥미로움

    • Ubuntu 패키지에서 Swift 컴파일러를 Debian으로 변환할 때 문제가 있었음
    • 대부분의 기능은 작동하지만 sigterm 신호와 같은 간단한 것들은 작동하지 않음
    • Swift는 환상적인 언어이며 오늘날 가장 발전되고 스마트한 언어라고 생각함
    • SwiftUI의 구현 방식을 보면 놀라울 정도임
    • 언어는 사용하기 쉽고 개발자의 실제 사용을 고려한 고급 기능과 아이디어로 가득 차 있음
    • 그러나 컴파일러 오류 메시지와 문서는 매우 불친절함
    • 대부분의 라이브러리는 아직 Linux에서 잘 작동하지 않지만 안전성과 속도, 개발의 즐거움 사이의 균형을 맞추면 미래가 밝음
  • Swift는 무엇을 하고 싶은지 결정하고 그것을 고수해야 함

    • 너무 많은 문법 설탕과 반쯤 완성된 개념이 있음
  • SwiftGodot을 시도했으며 게임 개발에 Swift를 사용하는 것이 C#의 GC 지연보다 흥미로움

    • 아직 Windows 개발 라이브러리를 공유하는 것을 지원하지 않음
    • 컴파일 시간이 오래 걸림
    • 변경 로그에 Windows에서 멀티 스레드 Swift 패키지 관리자 개선이 언급됨
  • 점진적으로 이동할 수 있는 것이 매우 좋음

    • Swift-6 모드로 이동하는 것은 데이터 경합 안전성 검사를 포함하여 부담스러울 수 있음
    • 새로운 도구를 사용할 수 있지만 5.10 버전의 언어를 계속 사용할 수 있음
    • 동일한 패키지를 두 가지 언어 모드에서 빌드할 수 있어 라이브러리가 버전업을 하면서도 준비되지 않은 클라이언트를 지원할 수 있음
  • Swift 언어가 괴물이 되어버렸음

스위프트라는 멋진 언어를 시작하기 위해서는 다소 비싼 애플 생태계를 도입 할 수 밖에 없는게 개발자들에게 작지 않은 벽이 되는 것 같습니다.