2 điểm bởi GN⁺ 2024-02-12 | 1 bình luận | Chia sẻ qua WhatsApp
  • AhoA Git được triển khai bằng AWK

    • AWK có thể làm được nhiều hơn một script một dòng đơn giản.
    • Dự án này là một dự án thử nghiệm nhằm khám phá cách Git hoạt động bên trong và các tính năng mới của GNU AWK.
    • Nó được tạo ra với chủ đích sẽ không hữu ích ngoài mục đích giải trí và giáo dục.
  • Bắt đầu

    • Cần gawk phiên bản 5.0 trở lên và dùng pigz cho nén zlib.
    • Sử dụng các chức năng còn lại do GNU coreutils cung cấp.
    • Có thể chạy trên hầu hết các hệ thống Linux, nhưng không phải trên BSD hay Mac.
    • Có cung cấp ví dụ sử dụng cho các lệnh như khởi tạo, thêm tệp và kiểm tra cấu trúc tệp.
  • Đóng góp

    • Hoan nghênh mọi đóng góp giúp nâng cao hiểu biết về AWK hoặc Git.
  • Danh sách việc cần làm

    • Dự kiến triển khai các tính năng như init, add/rm, status, commit, reset, branch, switch, config (chỉ đọc), ls-files, cat-file.
    • Không có kế hoạch bổ sung tính năng mạng, nên sẽ không có clone hay push.

Ý kiến của GN⁺

  • Dự án này mang đến cho những người tò mò về kỹ thuật một cơ hội thú vị để khám phá cách Git và AWK hoạt động.
  • Đây là một dự án thử nghiệm hấp dẫn dành cho các kỹ sư phần mềm mới vào nghề muốn khám phá những khả năng mới của ngôn ngữ lập trình.
  • Nó có thể là tài liệu giáo dục hữu ích cho những ai muốn đào sâu hiểu biết về AWK và Git.

1 bình luận

 
GN⁺ 2024-02-12
Ý kiến trên Hacker News
  • Sức hấp dẫn của Awk:

    • Awk là một ngôn ngữ lập trình mạnh mẽ thường thấy trên các hệ thống họ Unix.
    • Nó chủ yếu được dùng như các lệnh một dòng để trích xuất các mẩu văn bản từ đầu ra tiêu chuẩn (stdout) được pipe.
    • Có thể dùng Awk như một ngôn ngữ scripting thông dụng, và ở nhiều khía cạnh còn tốt hơn bash.
    • Khi Perl ra đời, nó cố gắng kết hợp các tính năng hay của shell, awk và sed, nhưng cuối cùng do cái nhìn tiêu cực về Perl mà mọi người chuyển sang các ngôn ngữ khác.
  • The AWK Programming Language, Second Edition:

    • Ấn bản thứ hai của The AWK Programming Language được phát hành vào tháng 9 năm 2023.
    • Ấn bản đầu tiên được xuất bản năm 1988 và có thể truy cập trực tuyến.
    • Có cung cấp liên kết thảo luận liên quan.
  • Đề xuất cải thiện mã Awk:

    • Đã có đề xuất một bản vá thêm câu lệnh let vào GNU Awk để phân biệt tham số của hàm và biến cục bộ, nhưng bị dự án từ chối.
    • Thay vào đó, người đề xuất được khuyên tạo một phiên bản fork đổi tên của GNU Awk.
  • Tính hữu dụng của Awk:

    • Khi ai đó cho rằng dòng lệnh Linux là môi trường phát triển tốt nhất, Awk thường được nêu là một trong những lý do.
    • Chỉ cần biết những điều cơ bản về Awk cũng có thể làm được rất nhiều việc, đến mức IDE có thể trở nên kém hiệu quả.
    • Để giúp những người muốn học Awk, đã có một bài nói chuyện tại Linux Fest Northwest và bản ghi được đăng lên YouTube.
  • Kinh nghiệm làm dự án bằng Awk:

    • Có người từng dùng Awk để tạo một wiki web trên router có bộ nhớ cực kỳ hạn chế.
    • Vì không thể phụ thuộc vào thư viện, họ tự triển khai những phần cơ bản và qua đó học được cách wiki hoạt động cũng như khả năng của Awk.
  • Khả năng mở rộng của Awk:

    • Không có kế hoạch thêm tính năng mạng vào Awk, nhưng vẫn có thể git clone hoặc push từ các kho lưu trữ ở thư mục khác.
  • Tiềm năng của các tiện ích GNU:

    • Có cảm giác rằng chỉ với các tiện ích và chương trình GNU cũng có thể tạo ra cơ sở dữ liệu và công cụ xử lý vượt qua các công cụ chuyên dụng về hiệu năng lẫn tính năng.
  • Ứng dụng của cppawk:

    • Với cppawk, có thể dùng #include, và nó mang tính tương đối theo tệp thay vì cần AWKPATH.
    • Khi áp dụng vào các dự án được phát triển từ thời chưa có cppawk, có thể "build" chương trình đã tiền xử lý thành một tệp duy nhất.
  • Các ví dụ đa dạng về việc dùng Awk:

    • Các dự án như sed-chess và awk-raycaster cho thấy Awk có thể được ứng dụng theo nhiều cách khác nhau.
  • Một sự thật thú vị liên quan đến Awk:

    • "Aho" là một từ trong tiếng Nhật có nghĩa là kẻ ngốc.