Thông báo về trình soạn thảo đầu cuối giống VIM có tên Lilly, hiện đang ở giai đoạn pre-alpha, đã khơi lại những cuộc thảo luận về hệ sinh thái ngôn ngữ lập trình V. Trong khi bản thân trình soạn thảo này nhằm cung cấp một giải pháp thay thế đơn giản hóa cho Vim và Neovim mà không phụ thuộc vào việc quản lý plugin phức tạp, phần lớn cuộc thảo luận của cộng đồng tập trung vào ngôn ngữ V được sử dụng để xây dựng dự án.
Ngôn ngữ V: Từ quá khứ gây tranh cãi đến sự phát triển hiện tại
Ngôn ngữ lập trình V đã trải qua một hành trình phức tạp trong cộng đồng lập trình viên. Những lời hứa ban đầu và tuyên bố đầy tham vọng dẫn đến sự hoài nghi, với nhiều lập trình viên gán nhãn vaporware cho nó do khoảng cách được nhận thấy giữa những gì được hứa hẹn và những gì được cung cấp. Người tạo ra ngôn ngữ này ban đầu dự kiến phát hành V 1.0 vào năm 2020, một mốc thời gian đã trôi qua. Tuy nhiên, sự phát triển hiện tại cho thấy tiến độ tích cực với các commit thường xuyên và sự tham gia ngày càng tăng của cộng đồng đóng góp.
Tôi thấy nó hoàn toàn phù hợp cho dự án này và các dự án khác. Bạn đã cập nhật quan điểm của mình sau khi gần đây thử viết và phân tích hiệu suất một chương trình không tầm thường?
Người duy trì dự án Lilly bảo vệ khả năng hiện tại của V, lưu ý rằng họ thấy nó hoàn toàn phù hợp để phát triển trình soạn thảo. Họ mô tả đội ngũ ngôn ngữ V là đội ngũ ngôn ngữ chuyên nghiệp nhất mà tôi từng tương tác, nhấn mạnh việc sửa lỗi và hỗ trợ nhanh chóng. Điều này thể hiện sự tương phản với một số nhận thức lịch sử về ngôn ngữ và cách tiếp cận phát triển của nó.
Ưu điểm kỹ thuật và nhận thức của cộng đồng
Bình luận của cộng đồng cho thấy sự phân chia trong nhận thức. Một số người dùng đánh giá cao mục tiêu thiết kế của V, với một người bình luận mô tả nó là ngôn ngữ mà tôi ước Go đã là như vậy. Những người khác vẫn hoài nghi dựa trên kinh nghiệm trong quá khứ, trích dẫn các vấn đề về tài liệu và thách thức triển khai. Cuộc thảo luận chứng minh rằng việc áp dụng ngôn ngữ lập trình không chỉ phụ thuộc vào khả năng kỹ thuật mà còn phụ thuộc vào sự tin tưởng của cộng đồng và quản lý dự án.
Bản thân Lilly dường như đang tiến triển đều đặn như một trình soạn thảo giống VIM. Người tạo ra nó định vị nó như một giải pháp thay thế cung cấp các tính năng thiết yếu mà không yêu cầu người dùng phải điều hướng qua hệ sinh thái plugin phức tạp. Trình soạn thảo này tự hào có zero memory leaks theo kết quả kiểm tra và bao gồm các tính năng như triển khai gap buffer, cuộn ngang, chia màn hình và khả năng tìm kiếm trên toàn bộ không gian làm việc.
Tính năng của Lilly Editor (Tiền Alpha)
- Lưu trữ văn bản bằng bộ đệm khoảng trống
- Chế độ trực quan (hạn chế)
- Cuộn ngang
- Chia màn hình (ngang + dọc)
- Chức năng đi đến định nghĩa
- Quản lý bộ đệm
- Khả năng tìm kiếm/tìm tệp
- Tìm kiếm trong toàn bộ không gian làm việc (sử dụng ripgrep)
- Không có rò rỉ bộ nhớ được báo cáo trong quá trình kiểm thử
Điểm thảo luận về ngôn ngữ V
- Ban đầu hứa hẹn phát hành V 1.0 vào năm 2020
- Phát triển tích cực với các commit thường xuyên
- Bị chỉ trích trong quá khứ vì hứa hẹn quá nhiều tính năng
- Được một số nhà phát triển bảo vệ vì tính thực dụng
- Được so sánh với các lựa chọn thay thế như Go, Zig, Odin và Nim
Bối cảnh các trình soạn thảo thay thế
Cuộc thảo luận xung quanh Lilly cũng làm nổi bật bối cảnh rộng lớn hơn của các trình soạn thảo văn bản dựa trên terminal. Các tham chiếu đến các dự án khác như Micro, Flow Control và sự thống trị liên tục của Neovim chứng minh hệ sinh thái sôi động của các công cụ soạn thảo văn bản. Mỗi công cụ cung cấp các cách tiếp cận khác nhau cho các vấn đề tương tự, với các mức độ phức tạp và đường cong học tập khác nhau.
Đối với các nhà phát triển quan tâm đến việc soạn thảo dựa trên terminal, cuộc trò chuyện xung quanh Lilly cung cấp một cửa sổ vào cả trạng thái hiện tại của sự phát triển ngôn ngữ V và sự tiến hóa liên tục của các công cụ phát triển. Liệu Lilly có đạt được sự áp dụng đáng kể hay không vẫn còn phải chờ xem, nhưng sự phát triển của nó đại diện cho một trường hợp nghiên cứu thú vị cả về lựa chọn ngôn ngữ cho các dự án và sự tinh chỉnh liên tục của các công cụ dành cho nhà phát triển.
Tham khảo: lilly