- Zig 프로젝트에서 LLVM, Clang 및 LLD 라이브러리 제거를 제안합니다.
- Zig는 자체 최적화 패스를 갖추고 칩 제조업체로부터 연구 프로젝트 및 기여를 유치할 계획입니다.
- Zig에서 C++, Objective-C 및 Objective-C++ 컴파일 기능 제거
- Zig에서 생성된 기계 코드는 가까운 미래에는 경쟁력이 약해질 수 있지만 장기적으로는 LLVM 및 GCC를 따라잡거나 뛰어넘을 수 있습니다.
- LLVM 제거의 이점은 버그 소유권, 더 쉬운 빌드 및 부트스트래핑, 더 빠른 컴파일 속도 및 사용자 정의 최적화 패스 구현 능력을 포함합니다.
- C++ 컴파일에 의존하는 프로젝트에 대한 영향과 Zig의 채택률 감소에 대한 우려가 제기되었습니다.
- DirectXShaderCompiler 및 Apple의 Metal 셰이더 컴파일러에 대한 종속성 제거가 어려울 수 있습니다.
- 장기적으로는 순수 Zig 솔루션으로의 전환을 추진합니다.
- 일부 사용자는 게임 개발 경험 및 기존 C++ 라이브러리 및 도구 사용에 대한 영향에 대해 우려하고 있습니다.
- Zig의 단순함과 크로스 플랫폼 기능이 칭찬받고 있습니다.
- LLVM 백엔드를 기본 설정으로 유지하거나 LLVM IR 하향 변환을 제거하면서 C 패밀리 지원을 유지하는 제안이 제시되었습니다.
- 사용자들은 Zig의 C/C++ 코드를 원활하게 컴파일하고 성능이 우수한 이진 파일을 생성하는 능력의 중요성을 강조합니다.
- 기존 라이브러리의 잠재적인 손실과 JIT 컴파일에 대한 대체 필요성에 대해 논의되었습니다.
- 제안은 사용자에게는 순수한 부정적인 영향과 잠재적인 미끼로 인식됩니다.
- 크로스 컴파일 및 기존 라이브러리 통합을 위한 Zig의 기능 유지의 중요성이 강조됩니다.
- LLVM 및 LLD에 대한 종속성을 제거하면서 clang을 선택적 종속성으로 유지하는 제안이 제시되었습니다.
- 성능에 대한 영향과 LLVM 대체의 실현 가능성에 대한 우려가 제기되었습니다.
- 게임 개발 및 기타 프로젝트에 대한 C++ 컴파일 지원의 중요성이 강조됩니다.
- Zig가 시간이 지남에 따라 LLVM의 기능을 대체할 수 있는 가능성이 언급되었습니다.
- 합리적인 성능 보장의 필요성과 최적화 가능성의 잠재적인 손실에 대해 논의되었습니다.
- ImGui 및 Tracy와 같은 특정 라이브러리 및 도구에 대한 영향이 언급되었습니다.
- Zig의 도구 체인에서 LLVM 제거 제안은 Zig 커뮤니티의 분열을 초래할 수 있습니다.
- 일부 사용자는 이주를 피하기 위해 이전 버전의 Zig를 사용할 수 있습니다.
- LLVM 유지에는 도전과 제한이 있습니다.
- Zig 컴파일러를 위한 플러그인 시스템은 장기적인 해결책이 될 수 있습니다.
- 다른 플랫폼 및 언어로 Zig 프로그램을 컴파일하는 것은 여전히 지원될 수 있습니다.
- Zig cc, Zig의 독특한 기능,는 자체 프로젝트로 계속 발전할 수 있습니다.
- 아직 제안에 대한 최종 결정은 내려지지 않았습니다.
- LLVM 제거에 대한 토론이 소셜 미디어에서 확산되고 있습니다.
- Zig cc는 커뮤니티에서 높이 평가되며 다른 도구 체인에 비해 장점을 제공합니다.
- Clang 없이 Zig cc를 유지하는 것이 가능합니다.
- Clang을 번들링하는 별도의 프로젝트는 Zig를 사용하여 C++ 코드를 빌드하는 기존 사용 사례를 지원할 수 있습니다.
- 별도의 도구 분리 또는 Zig cc 유지를 위한 유지관리자 고용이 잠재적인 해결책입니다.
- 제거되는 기능에 의존하는 코드베이스를 위한 이주 도구를 개발할 수 있습니다.
- 최근 소프트웨어 엔지니어는 네이티브 코드 생성기를 사용하여 더 빠른 컴파일 속도를 제공하는 최신 GHC 버전으로 프로젝트를 이전했습니다.
- Silk.NET 프로젝트는 zig cc와 zig c++을 사용하여 네이티브 라이브러리에 대한 재현 가능한 빌드 환경을 제공하여 쉬운 크로스 컴파일과 로컬 설정을 가능하게 합니다.
- 소프트웨어 엔지니어는 개인 프로젝트에서 zig cc와 zig c++을 사용하여 라이브러리의 쉬운 크로스 컴파일과 단일 build.zig 설정을 가능하게 합니다.
- Intel C/C++ 컴파일러는 LLVM의 도입을 완료하여 더 빠른 컴파일 시간, 더 나은 최적화 및 GPU 및 FPGA 오프로딩 지원을 제공합니다.
- Zig의 llvm 부분을 별도의 커뮤니티 유지 프로젝트로 이동하는 제안은 혼합된 반응을 받았습니다.
- 일부 사용자는 Zig에서 C++ 지원 제거에 대한 우려를 표명하며, 다른 사람들은 지원 비용이 많이 들고 예산에 포함되지 않는다고 주장합니다.
- Zig 팀은 C++ 지원을 중요하게 생각하는 사람들이 기능을 지원하기 위해 재정적 또는 시간적으로 기여할 것을 고려해야 한다고 제안합니다.
- 일부 사용자는 LLVM 제거가 장기적인 이점을 가져올 수 있지만 C++ 및 Obj-C(++) 지원을 완전히 제거하는 것에 대해 우려를 표명합니다.
- Zig 컴파일러를 더 작고 가벼운 이진 파일로 축소하고 LLVM 기능을 확장으로 추가하는 제안이 있습니다.