Ngôn ngữ lập trình W++ bị gỡ khỏi VSCode Marketplace sau 33.000 lượt tải, gây tranh cãi trong cộng đồng

BigGo Editorial Team
Ngôn ngữ lập trình W++ bị gỡ khỏi VSCode Marketplace sau 33.000 lượt tải, gây tranh cãi trong cộng đồng

Một ngôn ngữ lập trình thử nghiệm mới có tên W++ đã thu hút sự chú ý của cộng đồng lập trình viên sau khi bị gỡ bỏ một cách bí ẩn khỏi VSCode Marketplace mặc dù đã đạt hơn 33.000 lượt tải xuống. Ngôn ngữ này, được tạo ra bởi Ofek Bickel như một dự án giáo dục, nhằm mục đích kết hợp sự đơn giản giống Python với tích hợp .NET nhưng đã gây ra những cuộc thảo luận sôi nổi về các lựa chọn thiết kế và cách tiếp cận marketing của nó.

Việc gỡ bỏ bí ẩn khỏi Marketplace đặt ra nhiều câu hỏi

Extension W++ VSCode đã bị gắn cờ và gỡ bỏ bởi Microsoft sau khi tích lũy được 33.000 lượt tải xuống chỉ trong vòng chưa đầy hai giờ. Theo người tạo ra, Microsoft đã dán nhãn nó là phần mềm độc hại mà không cung cấp chi tiết cụ thể hoặc phản hồi các yêu cầu hỗ trợ. Số lượng tải xuống nhanh chóng và việc gỡ bỏ đột ngột đã khiến cộng đồng bối rối, với một số người đặt câu hỏi liệu số lượng tải xuống cao hay chính việc gỡ bỏ có hợp pháp hay không.

Người tạo ra đã công khai toàn bộ mã nguồn trên GitHub , bao gồm cả extension VSCode , cho phép các lập trình viên kiểm tra mã và sử dụng tự do. Động thái minh bạch này dường như là một nỗ lực để giải quyết bất kỳ mối lo ngại về bảo mật nào có thể đã dẫn đến việc gỡ bỏ.

Dòng thời gian các sự kiện:

  • Extension W++ VSCode được tải lên marketplace
  • Đạt hơn 33,000 lượt tải xuống trong vòng chưa đầy 2 giờ
  • Extension bị gắn cờ và gỡ bỏ bởi Microsoft với cáo buộc "phần mềm độc hại"
  • Không nhận được phản hồi từ bộ phận hỗ trợ của Microsoft
  • Toàn bộ mã nguồn được công khai trên GitHub
  • Cộng đồng bắt đầu thảo luận về các lựa chọn thiết kế và chiến lược marketing

Cộng đồng chỉ trích việc so sánh với Python

Một trong những khía cạnh gây tranh cãi nhất của W++ là việc marketing nó giống Python mặc dù có những khác biệt cú pháp đáng kể. Các thành viên cộng đồng đã chỉ ra rằng ngôn ngữ này bao gồm dấu chấm phẩy, sử dụng let cho khai báo biến, và có cú pháp lambda hoàn toàn khác - tất cả đều rõ ràng không giống Python .

Tôi hơi bối rối; nó 'trông giống Python ' nhưng về cơ bản mọi đoạn mã đều có các yếu tố không giống Python .

Những chỉ trích này đã dẫn đến các cuộc thảo luận về việc liệu ngôn ngữ này có nên bỏ hoàn toàn các so sánh với Python và tập trung vào những ưu điểm riêng của nó như một ngôn ngữ scripting .NET . Một số lập trình viên cho rằng ngôn ngữ này có vẻ giống JavaScript hơn là Python , đặt câu hỏi về tính chính xác của thông điệp marketing.

Các lựa chọn thiết kế kỹ thuật chia rẽ ý kiến

Các quyết định kỹ thuật của ngôn ngữ đã tạo ra những phản ứng trái chiều từ cộng đồng lập trình viên. W++ sử dụng khoảng trắng có ý nghĩa như Python nhưng vẫn giữ lại dấu chấm phẩy và dấu ngoặc nhọn, tạo ra thứ mà một người bình luận mô tả là trạng thái trung gian có thể không hấp dẫn hoàn toàn đối với các lập trình viên Python hoặc C# .

Các mối lo ngại về quản lý bộ nhớ cũng đã được đặt ra, đặc biệt bởi các lập trình viên có kinh nghiệm trong các tình huống ngôn ngữ hosted tương tự. Những người đã làm việc với IronPython trên các framework .NET cũ cảnh báo về khả năng rò rỉ bộ nhớ và các biến chứng về vòng đời đối tượng khi xây dựng ngôn ngữ trên các runtime hiện có.

Các tính năng chính của W++:

  • Tokenizer, parser và interpreter hoàn chỉnh được viết bằng C
  • Hỗ trợ async/await với các biểu thức lambda
  • Luồng điều khiển: câu lệnh if, else, while, for, switch
  • Cơ chế try/catch + throw và return
  • Tùy chỉnh syntax highlighting và snippets cho VSCode
  • Tích hợp gói NuGet (không phải pip)
  • Biên dịch thành IL và tích hợp với hệ sinh thái .NET

Thách thức về hiệu suất và áp dụng

Hiệu suất khởi động đã nổi lên như một mối lo ngại khác, với các thành viên cộng đồng lưu ý rằng độ trễ biên dịch JIT khi thực thi lần đầu có thể cản trở việc áp dụng cho các tác vụ scripting nhanh. Vấn đề này đặc biệt liên quan vì W++ định vị mình như một ngôn ngữ scripting, nơi thời gian khởi động nhanh là rất quan trọng cho trải nghiệm người dùng.

Việc định vị ngôn ngữ giữa Python và C# cũng đã đặt ra câu hỏi về đối tượng mục tiêu của nó. Một số lập trình viên cho rằng các phương pháp DSL nội bộ sử dụng giao diện fluent của C# có thể thực tế hơn cho các lập trình viên .NET so với việc học một cú pháp ngôn ngữ hoàn toàn mới.

Triển vọng tương lai và sự quan tâm của cộng đồng

Mặc dù có những chỉ trích, W++ đã tạo ra sự quan tâm thực sự từ một số thành viên cộng đồng, những người đánh giá cao giá trị giáo dục và tính chất thử nghiệm của dự án. Một số lập trình viên đã bày tỏ sự quan tâm đến việc đóng góp cho dự án, đặc biệt trong các lĩnh vực như phân tích luồng dữ liệu và công cụ ngôn ngữ.

Dự án phục vụ như một nghiên cứu tình huống thú vị về thiết kế ngôn ngữ và sự tiếp nhận của cộng đồng. Mặc dù góc độ marketing Python đã gây tranh cãi, mục tiêu cơ bản của việc tạo ra một lớp scripting nhẹ cho .NET đã gây được tiếng vang với một số lập trình viên muốn có thứ gì đó dễ tiếp cận hơn C# đầy đủ cho các tác vụ tự động hóa đơn giản.

Câu chuyện W++ làm nổi bật những thách thức mà các ngôn ngữ lập trình mới phải đối mặt trong việc tìm kiếm vị trí thích hợp và truyền đạt đề xuất giá trị của chúng một cách hiệu quả. Liệu ngôn ngữ này có thể vượt qua những tranh cãi ban đầu và xây dựng một cộng đồng bền vững vẫn còn phải xem.

Tham khảo: W++