Ngôn ngữ lập trình giống tiếng Anh của JetBrains đối mặt với sự hoài nghi của các nhà phát triển về tính thực tiễn

Nhóm Cộng đồng BigGo
Ngôn ngữ lập trình giống tiếng Anh của JetBrains đối mặt với sự hoài nghi của các nhà phát triển về tính thực tiễn

JetBrains đã công bố kế hoạch cho một ngôn ngữ lập trình mới cho phép các nhà phát triển viết code bằng thứ gì đó về cơ bản giống tiếng Anh để tạo ra các ứng dụng trên nhiều nền tảng. Trong khi công ty định vị điều này như bước tiếp theo trong trừu tượng hóa lập trình, cộng đồng nhà phát triển đang đặt ra những câu hỏi nghiêm túc về việc liệu cách tiếp cận này có thực sự hiệu quả hay không.

Các nhà phát triển đặt câu hỏi về khái niệm cơ bản

Cộng đồng lập trình đang bày tỏ sự hoài nghi sâu sắc về tầm nhìn của JetBrains . Nhiều nhà phát triển chỉ ra rằng những nỗ lực tương tự đã được thực hiện nhiều lần trong suốt lịch sử máy tính, với kết quả tốt nhất cũng chỉ là trái chiều. Mối quan tâm cốt lõi tập trung vào việc liệu ngôn ngữ tự nhiên có thể cung cấp độ chính xác cần thiết cho phát triển phần mềm phức tạp hay không.

Một số thành viên cộng đồng đã so sánh với COBOL , ngôn ngữ đã cố gắng làm cho lập trình giống tiếng Anh hơn từ nhiều thập kỷ trước. Những người khác tham chiếu đến AppleScript và HyperTalk như những ví dụ về các nỗ lực lập trình ngôn ngữ tự nhiên trước đây. Chủ đề lặp lại trong những cuộc thảo luận này là mặc dù những ngôn ngữ này hoạt động cho các trường hợp sử dụng cụ thể, chúng không bao giờ đạt được sự chấp nhận rộng rãi mà JetBrains dường như đang nhắm tới.

Những Nỗ Lực Lập Trình Ngôn Ngữ Tự Nhiên Trong Lịch Sử:

  • COBOL (thập niên 1960) - Ngôn ngữ hướng kinh doanh với cú pháp giống tiếng Anh
  • AppleScript (thập niên 1990) - Ngôn ngữ kịch bản tự nhiên cho tự động hóa Mac
  • HyperTalk (thập niên 1980) - Ngôn ngữ giống tiếng Anh cho HyperCard
  • Inform 7 (thập niên 2000) - Ngôn ngữ tự nhiên cho tiểu thuyết tương tác

Thách thức kỹ thuật và mối quan tâm về tính xác định

Một điểm tranh luận chính tập trung vào việc triển khai kỹ thuật. Các nhà phát triển đang đặt câu hỏi về việc liệu việc tạo code hỗ trợ AI có mang tính xác định và có thể tái tạo hay không. Nếu hai nhà phát triển sử dụng cùng một đặc tả tiếng Anh tại những thời điểm khác nhau hoặc với các mô hình AI khác nhau, liệu họ có nhận được kết quả giống nhau không? Sự không chắc chắn này có thể tạo ra những vấn đề nghiêm trọng cho kiểm soát phiên bản, gỡ lỗi và phát triển cộng tác.

Cộng đồng cũng quan tâm về khả năng gỡ lỗi. Khi code được tạo ra từ các mô tả tiếng Anh cấp cao, việc truy vết lỗi về nguồn gốc của chúng trở nên khó khăn hơn nhiều. Lớp trừu tượng này có thể ẩn giấu những chi tiết triển khai quan trọng mà các nhà phát triển cần hiểu khi có sự cố xảy ra.

Những lo ngại của nhà phát triển về cách tiếp cận của JetBrains:

  • Tính xác định: Liệu các đặc tả tiếng Anh giống nhau có tạo ra mã code giống hệt nhau trên các mô hình AI/thời điểm khác nhau không?
  • Gỡ lỗi: Làm thế nào để truy vết các lỗi trong mã code do AI tạo ra về các đặc tả tiếng Anh?
  • Độ chính xác: Liệu ngôn ngữ tự nhiên có thể cung cấp độ chính xác cần thiết cho phần mềm phức tạp không?
  • Hiệu suất: Các IDE của JetBrains hiện tại đã gặp khó khăn với việc sử dụng tài nguyên và tính ổn định

Các vấn đề chất lượng IDE hiện tại che lấp các tính năng mới

Có lẽ lời chỉ trích sắc bén nhất đến từ những người dùng JetBrains hiện tại, những người muốn công ty tập trung vào việc khắc phục các vấn đề hiện có thay vì phát triển các tính năng thử nghiệm mới. Nhiều nhà phát triển báo cáo rằng các IDE của JetBrains đã trở nên tốn tài nguyên hơn và kém ổn định hơn trong các bản cập nhật gần đây.

Tôi rất muốn jetbrains làm việc để intellij không chiếm quá nhiều tài nguyên và trở nên không phản hồi khi làm việc trên các dự án lớn.

Người dùng đang gặp phải sự cố, vấn đề hiệu suất và lỗi ảnh hưởng đến công việc hàng ngày của họ. Một số nhà phát triển đề xuất rằng JetBrains nên ưu tiên cải thiện các sản phẩm hiện tại trước khi mở rộng sang phát triển ngôn ngữ thử nghiệm.

Các cách tiếp cận thay thế nhận được sự ủng hộ

Thay vì lập trình ngôn ngữ tự nhiên, nhiều nhà phát triển ủng hộ các cách tiếp cận có cấu trúc hơn cho phát triển hỗ trợ AI . Một số đề xuất sử dụng các ngôn ngữ có khả năng xác minh chính thức, như Lean hoặc các ngôn ngữ có hệ thống kiểu mạnh có thể phát hiện lỗi trước runtime.

Những người khác đề xuất rằng các công cụ AI nên tập trung vào việc tạo code bằng các ngôn ngữ hiện có, được hiểu rõ với các đảm bảo an toàn mạnh mẽ. Cách tiếp cận này sẽ cung cấp lợi ích của hỗ trợ AI trong khi duy trì độ chính xác và khả năng gỡ lỗi mà phát triển phần mềm chuyên nghiệp yêu cầu.

Cuộc thảo luận tiết lộ một cộng đồng coi trọng độ tin cậy và khả năng bảo trì hơn các tính năng thử nghiệm. Trong khi JetBrains tiếp tục phát triển ngôn ngữ giống tiếng Anh này, phản ứng của nhà phát triển cho thấy họ có thể đối mặt với những thách thức chấp nhận đáng kể khi cuối cùng ra mắt.

Tham khảo: JetBrains working on higher-abstraction programming language