Zig 0.17.0 ships after five months of work from 206 contributors across 925 commits, headlined by a reworked Build System (including a new Build Server Protocol), an enhanced ELF linker that now supports incremental compilation for most x86_64-linux projects, and an upgrade to LLVM 22.1.8. The release introduces numerous breaking changes: @bitCast semantics for arrays/vectors changed in a way that can silently break code without a compile error, @cImport is removed, errdefer captures are removed, void{} syntax is removed, array multiplication syntax is replaced by @splat, and many std library APIs were renamed or deprecated (std.builtin to std.lang, DebugAllocator replaced, bit_set types renamed, Uri/HostName split). New builtins include @backingInt, @fromBackingInt, @SpirvType, and @divCeil. Target support was expanded (loongarch32, xtensa-linux, sparc64-linux via new linker) while some PowerPC/glibc combinations lost support due to long-double format formalization. ZLS currently cannot work with 0.17.0 due to the maker/configurer process split, though the Zig and ZLS teams are collaborating on fixes.
Nguồn: https://ziglang.org/download/0.17.0/release-notes.html. 8 Sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.
Đang tải bình luận…
Toss, ứng dụng tài chính hàng đầu Hàn Quốc, được chia thành gần 1,000 module. Sử dụng binary cache của Tuist, đội ngũ đã tăng tỷ lệ build local hoàn thành trong dưới 1 phút hơn ba lần. Cụ thể, trước đây chỉ 15% build local đạt dưới 1 phút, nay đã lên tới 50%. Giải pháp này giúp giảm thời gian build từ vài chục phút xuống còn khoảng 1 phút, đáng để học hỏi từ cách họ tối ưu hóa hệ thống module lớn.
Bài viết này giúp lập trình viên hiểu cách tối ưu hóa build time với Tuist's binary cache cho dự án module hóa lớn.
LLM đang thay đổi cách lập trình viên chọn ngôn ngữ khi viết code, vì chúng tạo ra đoạn mã nhanh hơn trong các ngôn ngữ bậc cao như Python và JavaScript. Nguyên nhân kỹ thuật là các mô hình đã được huấn luyện chủ yếu trên kho mã nguồn mở dominer bởi những ngôn ngữ này, khiến chúng hiểu và sinh ra cú pháp chính xác hơn so với C++ hoặc Rust. Khi dựa vào LLM, nhóm phát triển có xu hướng ưu tiên các ngôn ngữ mà mô hình hỗ trợ tốt, dù chúng có thể không tối ưu về thời gian thực hiện hoặc mức tiêu thụ bộ nhớ. Hệ quả là các dự án cần hiệu suất cao có thể bị lãng phí thời gian do việc dịch sang ngôn ngữ thấp hơn trở nên khó khăn và tốn lực. Bài học là trước khi quyết định ngôn ngữ, cần cân bằng giữa mức độ hỗ trợ của LLM và yêu cầu về hiệu suất thực tế của sản phẩm.
Bài viết này giúp lập trình viên hiểu cách lựa chọn ngôn ngữ lập hiệu quả khi làm việc với các mô hình ngôn ngữ lớn (LLM).
TypeScript 7.0 ra mắt phiên bản biên dịch gốc bằng Go, cải thiện tốc độ build lên 8–12 lần và giảm đáng kể bộ nhớ sử dụng. Tính năng mới bao gồm kiểm tra kiểu song song, chế độ --watch được tái thiết kế, và hỗ trợ đầy đủ LSP cho trình soạn thảo. Phiên bản này loại bỏ các tùy chọn lỗi thời như es5, baseUrl, AMD/UMD, nhưng chưa tương thích với các framework nhúng do thiếu API lập trình.
Nếu bạn đang phát triển với TypeScript và muốn tối ưu hóa hiệu suất cho dự án, từ bỏ các tính năng cũ và nâng cấp công cụ tích hợp với IDE, hãy đọc để cập nhật những thay đổi quan trọng trong phiên bản mới nhất.
Anders Hejlsberg, cha đẻ của TypeScript và C#, chia sẻ về quá trình viết lại trình biên dịch TypeScript bằng Go cùng những chi tiết kỹ thuật đằng sau nó.
Lập trình viên nên đọc bài này để hiểu cách cải tiến hiệu năng compiler TypeScript bằng Go, giúp hiểu sâu hơn về kiến trúc hệ thống và cách tối ưu hóa công cụ phát triển trong thực tế.
TypeScript 7.0 RC đã được phát hành với trình biên dịch (compiler) được viết lại bằng Go, giúp tăng tốc độ build lên gấp 10 lần so với phiên bản 6.0 nhờ sử dụng đa luồng (parallelism) và mã gốc (native code). Phiên bản mới cũng thay đổi mặc định (strict: true, module: esnext), loại bỏ các flags lỗi thời, đồng thời hỗ trợ cài đặt song song với phiên bản 6.0 qua package @typescript/typescript6.
Lập trình viên nên đọc để khám phá cách TypeScript 7.0 cải thiện hiệu suất gỡ lỗi và xây dựng dự án với tốc độ gấp 10 lần nhờ chuyển sang biên dịch viên Go, đồng thời nâng cấp tính năng mới như chế độ strict mặc định và cải tiến trong VS Code.
Bun đã được tái viết hoàn toàn từ ngôn ngữ Zig sang Rust sau 4 tháng, xử lý 535,000 dòng code. Việc chuyển đổi này nhằm loại bỏ các memory leak thường gặp trong phiên bản Zig trước đó. Creator Jarred Sumner cho biết bản Rust mới cải thiện đáng kể hiệu năng và độ ổn định của runtime Bun. Điều đáng học hỏi từ dự án này là cách tiếp cận rewrite toàn bộ codebase lớn sang Rust mà vẫn duy trì tốc độ phát triển nhanh chóng.
Lập trình viên cần đọc để hiểu cách Bun chuyển từ ngôn ngữ Zig sang Rust như thế nào giúp cải thiện hiệu suất, bảo mật và quản lý bộ nhớ—đặc biệt khi phải xử lý hàng triệu dòng mã như trong trường hợp này, để học cách tối ưu hóa dự án lớn bằng ngôn ngữ hiện đại.
Jared Sumner, tác giả của Bun, đã dùng khoảng 50 agent Claude Code song song để chuyển đổi toàn bộ ~500.000 dòng code Zig sang Rust chỉ trong 11 ngày, tiêu tốn ~165.000 USD, và kết quả vượt qua toàn bộ bộ test hơn 1 triệu assertions của Bun. Andrew Kelley, tác giả ngôn ngữ Zig, chỉ trích quyết liệt, gọi đây là "slop không được review", đồng thời khẳng định lỗi của Bun không phải do hạn chế của Zig mà từ thực hành lập trình kém, trong khi chính sách dự án Zig từ chối đóng góp từ AI vì lo ngại chất lượng.
Những lập trình viên quan tâm đến hiệu quả công nghệ và quản lý dự án sẽ tìm hiểu để đánh giá cách sử dụng AI trong việc tái cấu trúc mã nguồn, từ đó học cách cân bằng tốc độ phát triển với chất lượng kiểm soát trong các dự án quy mô lớn.
Zig giới thiệu cách tiếp cận mới cho I/O bất đồng bộ nhằm tránh vấn đề "function coloring", sử dụng interface generic Io (tương tự Allocator) với hai triển khai sẵn: Io.Threaded (dùng syscall đồng bộ) và Io.Evented (dựa trên io_uring/kqueue). Tính bất đồng bộ trở thành tối ưu hóa hiệu năng trong suốt, không ảnh hưởng cấu trúc mã. Zig bổ sung async() và concurrent() để quản lý song song, tránh thêm từ khóa mới. Io.Evented vẫn thử nghiệm, phiên bản tương thích WebAssembly đang được lên kế hoạch.
Là người phát triển cần tối ưu I/O và quản lý đồng bộ trong ứng dụng asynchrone, Zig’s giải pháp Io giúp bạn viết mã đơn giản, không phụ thuộc vào backend cụ thể mà vẫn đảm bảo hiệu suất và tính chính xác, đặc biệt khi chuyển đổi từ đồng bộ sang asynchrone.
Đọc tin ở đây, luyện code, học theo lộ trình và luyện IELTS trên các sản phẩm anh em — tất cả kết nối với nhau trong hệ sinh thái 8 Sync.
Cổng chính của hệ sinh thái: giới thiệu sản phẩm, blog và bảng giá trọn bộ.
Khám pháHọc theo lộ trình rõ từng chặng: video, quiz chấm tự động, certificate và mentor đang làm nghề.
Xem lộ trình1.000+ bài DSA, đề tiếng Việt, chấm tự động 7 ngôn ngữ — nhiều bài FREE, chạy ngay trên trình duyệt.
Luyện miễn phíChấm bốn kỹ năng IELTS bằng AI, phản hồi chi tiết theo rubric.
Dùng thử miễn phíAI IDE 22 MB cho dev Việt.
Tải miễn phíBộ nhớ tổ chức cho AI agent.
Khám pháAI trực Fanpage, tự sàng lọc lead.
Dùng thử