8 điểm bởi GN⁺ 2023-08-20 | 1 bình luận | Chia sẻ qua WhatsApp
  • Bài viết bàn về việc xây dựng trình biên dịch bằng TypeScript và nhấn mạnh tính hiệu quả đáng ngạc nhiên của nó
  • Trong lịch sử, OCaml thường được dùng cho các công việc thiên về ngôn ngữ như đặc tả chính thức hoặc ngôn ngữ làm vì sở thích, còn C++ được chọn cho các bản triển khai sẵn sàng cho môi trường production
  • Rust là một lựa chọn mới hơn, kết hợp ưu điểm của ML và C++ đồng thời bổ sung các tính năng riêng như multithreading an toàn
  • Tác giả đề xuất TypeScript như một lựa chọn thực tế cho những người làm dự án vì sở thích, do những khía cạnh bị xem là lỗi thời của OCaml
  • Bắt đầu với Deno, tác giả trình bày cách viết một trình kiểm tra kiểu nhỏ trong TypeScript; Deno mang lại trải nghiệm dùng ngay như một runtime cho TypeScript
  • Hệ thống kiểu linh hoạt nhưng gọn nhẹ của TypeScript được nhấn mạnh, và tác giả cho thấy cách định nghĩa Abstract Syntax Tree (AST) trong TypeScript
  • Tác giả trình bày cách định nghĩa biểu thức, xử lý thông tin kiểu tại runtime và trừu tượng hóa các biểu thức tương tự bằng các tính năng của TypeScript
  • Sau đó tác giả chuyển sang suy luận kiểu, trình bày cách định nghĩa kiểu, so sánh kiểu và suy luận kiểu trong TypeScript
  • Cuối bài, tác giả khen ngợi năng suất mà TypeScript mang lại nhờ quy trình phát triển hiệu quả của Deno, bộ công cụ xuất sắc của TypeScript, và sức mạnh của ngôn ngữ ở cả runtime lẫn thời gian biên dịch
  • Tác giả cho rằng trong tương lai nhiều khả năng sẽ tiếp tục dùng TypeScript như một công cụ cho các thử nghiệm ngôn ngữ quy mô nhỏ
  • Bài viết khép lại bằng việc trình bày cách biểu diễn desugaring theo cách type-safe trong TypeScript

1 bình luận

 
GN⁺ 2023-08-20
Ý kiến trên Hacker News
  • TypeScript được khen ngợi vì sự kết hợp giữa lập trình hướng đối tượng và lập trình hàm, cho phép viết mã linh hoạt mà không cần định nghĩa class.
  • Khả năng để các hàm trong ngôn ngữ có thuộc tính và phương thức được nhấn mạnh là một đặc điểm độc đáo và có giá trị.
  • TypeScript được so sánh với các ngôn ngữ khác như OCaml, C#, Swift, Dart và Kotlin, trong đó khác biệt chính được chỉ ra là TypeScript thiếu pattern matching thực thụ.
  • Một số người dùng muốn TypeScript bao gồm tính năng tagged enum tương tự Rust.
  • Có thảo luận về tốc độ của trình biên dịch TypeScript và suy đoán về cách nó sẽ hoạt động nếu được viết bằng một ngôn ngữ biên dịch.
  • Người dùng đề xuất sử dụng hàm tiện ích run để tránh visitor pattern bằng switch theo kiểu IIFE.
  • Bài viết đề cập đến việc sử dụng Ohm-js, một frontend parser generator, và mini-typescript, giúp hiểu cách TypeScript hoạt động.
  • Bất chấp phần overhead được cảm nhận của interface, vẫn có sự ngạc nhiên trước hiệu quả của TypeScript.
  • Có ý kiến chỉ ra rằng trình biên dịch TypeScript được viết bằng chính TypeScript, điều này nhấn mạnh độ tin cậy của nó và việc nó được sử dụng rất nặng trong môi trường production.
  • Một số người dùng đang chờ tính năng closed enum trong TypeScript để kiểm tra tính đầy đủ ở thời gian biên dịch.
  • Ảnh hưởng của Anders Hejlsberg, kiến trúc sư chính của TypeScript, được công nhận là một lý do cho thành công của ngôn ngữ này.