Phiên bản Zig 0.17.0 được phát triển sau 5 tháng làm việc bởi 206 đóng góp với 925 commit, tập trung vào hệ thống build được cải tiến (gồm Build Server Protocol mới), ELF linker hỗ trợ biên dịch tăng trưởng cho hầu hết dự án x86_64-linux, và nâng cấp lên LLVM 22.1.8. Bản cập nhật thay đổi đáng kể: @bitCast cho arrays/vectors thay đổi có thể làm hỏng mã mà không báo lỗi biên dịch, @cImport và errdefer captures bị loại bỏ, void{} syntax thay thế bằng @splat, nhiều std library API được đổi tên hoặc không còn dùng. Zig thêm các built-in mới như @backingInt, @fromBackingInt, @SpirvType và @divCeil, hỗ trợ thêm các target loongarch32, xtensa-linux, sparc64-linux nhưng mất hỗ trợ một số PowerPC/glibc. ZLS hiện không tương thích với 0.17.0 do tách quá trình maker/configurer, nhưng đội Zig và ZLS đang hợp tác sửa lỗi.
Why read it: Zig 0.17.0 mang đến hệ thống xây dựng hoàn toàn mới, trình liên kết ELF được cải tiến, và nhiều thay đổi API quan trọng mà lập trình viên cần nắm để cập nhật mã nguồn của mình.
Answer 3 short questions to earn reward points for this article. Only do it if you want the points.
3 questions · under a minute · optional
Source: https://ziglang.org/download/0.17.0/release-notes.html. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Đ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.
Read the news here, practice coding, follow structured courses and train for IELTS on our sibling products — all connected through one 8 Sync account.
The ecosystem home: product overviews, blog and full pricing.
ExploreLearn along a clear roadmap: videos, auto-graded quizzes, certificates and mentors who ship for a living.
View the roadmap1,000+ DSA problems in Vietnamese, auto-graded across 7 languages — many FREE, right in your browser.
Practice for freeAI grading for all four IELTS skills with detailed rubric feedback.
Try it freeA 22 MB AI IDE for Vietnamese devs.
Download freeOrganizational memory for AI agents.
ExploreAI that staffs your Fanpage and qualifies leads for you.
Try it