Trong lịch sử, HLL là một cái gì đó giống như C, Fortran hoặc Pascal và VHLL là một cái gì đó giống như Ruby hoặc Python. Tôi quen thuộc với các thuật ngữ 4GL, 5GL, DSL và LOP và những người không nên đọc Wikipedia cho các định nghĩa. Tôi đang tìm kiếm UHLL.
Câu hỏi của tôi là: có bất kỳ ngôn ngữ máy tính nào ngoài kia là một thứ tự cường độ cao hơn, và có ai đang làm việc với chúng không?
Năng suất cao hơn có nghĩa là mã ít tác giả hơn và ít thời gian lập trình viên hơn để đạt được kết quả, ít lỗi hơn và ít gỡ lỗi hơn, liên kết khái niệm chặt chẽ hơn giữa mã và yêu cầu, ít nỗ lực sửa đổi và duy trì.
Tên miền chính mà tôi quan tâm là các ứng dụng dành cho doanh nghiệp và người tiêu dùng có mục đích chung, với giao diện người dùng GUI hoặc trình duyệt, tính bền vững của dữ liệu và kết nối với các hệ thống khác như in và email. Những người khác cũng có thể tập trung ở nơi khác.
Tôi nhận ra rằng một số ngôn ngữ đó có thể là miền cụ thể và chúng có thể ít hơn khả năng cấu hình của một ứng dụng lớn và có khả năng. Bảng tính Excel rơi vào danh mục này.
Tôi nhận ra rằng một số ngôn ngữ có thể xuất hiện chung, nhưng vẫn có thể bị thu hẹp về phạm vi và không phù hợp với nhiều vấn đề. Ví dụ, Matlab có thể không phải là một lựa chọn tốt cho một chương trình chủ yếu liên quan đến tương tác người dùng và dữ liệu văn bản.
Tôi biết một số tính năng có thể có trong UHLL, bằng cách tương tự với VHLL. Tôi hy vọng sẽ tìm thấy một hoặc nhiều thứ sau đây (và thoải mái thêm vào danh sách):
- Bản vẽ biểu mẫu GUI là chương trình dành cho biểu mẫu GUI
- Bảng chứa hàng, cột và tiêu đề LÀ chương trình cho bảng trong cơ sở dữ liệu
- Logic khai báo cho biết những gì nên được thực hiện và khi nào, không có câu lệnh IF
- Hoạt động trên các bộ dữ liệu, không có vòng lặp FOR
- Thực hiện không tuần tự, ví dụ như điều khiển dữ liệu, khớp mẫu, đi bộ trên cây
Động lực cho câu hỏi là tôi ngày càng chán ngấy với công việc khó khăn trong việc dịch các yêu cầu kinh doanh tương đối đơn giản thành số lượng lớn mã để phục vụ cho những gì máy tính muốn hoặc cần. Câu hỏi thực sự là tìm kiếm những người khác ngoài kia, những người chia sẻ nỗi đau của tôi và đang nỗ lực nâng cao trình độ ngôn ngữ và khiến máy tính làm được nhiều công việc khó khăn hơn. Đây là một trọng tâm trong những năm 1970-1980, nhưng nó vẫn còn xảy ra?
Đây là một số câu trả lời được đề xuất cho câu hỏi của tôi, được cung cấp ở đây để tóm tắt hoặc liệt kê các ngôn ngữ tôi biết và theo quan điểm của tôi thì thiếu.
Có nhiều ngôn ngữ là HLL hoặc VHLL và chứa các tính năng riêng thuộc về cấp độ cao hơn. Tôi đã sử dụng hầu hết trong số họ (thường rất tệ). Chúng bao gồm
- Lisp, với các macro và khả năng tự sửa đổi
- Haskell, với sự phụ thuộc dữ liệu và khớp mẫu
- SQL, giao dịch trong các hàng và bảng
- Rebol, có vẻ thông minh nhưng tôi không thực sự hiểu
- APL (và J), với các mảng đa chiều và toán tử siêu nhỏ gọn
- C # với LINQ
- AWK / Perl / Python / Ruby với các bộ sưu tập và biểu thức tuyệt vời được tích hợp sẵn
Các ngôn ngữ này có quá nhiều tính năng cấp thấp là UHLL. Lập trình viên vẫn phải viết nhiều cấu trúc cấp thấp cho bất kỳ chương trình hữu ích nào.
Có các gói RAD / 4GL. Tôi đã sử dụng một số:
- dBase / Foxpro
- Dataflex / Powerflex (sản phẩm của tôi)
- Truy cập
- Xây dựng quyền lực
Và nhiều hơn nữa tôi đã không sử dụng. Chủ yếu là ngôn ngữ là HLL tốt nhất nhưng gói chứa khung và các kết nối đặc quyền giữa ngôn ngữ và gói để các ứng dụng có thể được xây dựng nhanh. Tôi không chắc tại sao cách tiếp cận này hết hơi, nhưng trong mọi trường hợp UHLL thì không.
Có khung / thư viện thô. Tôi đã sử dụng một vài:
- Đường ray
- Java và đu
- .NET Windows Forms, WPF và ASP.NET.
Đây hiện đang là nhà nước của nghệ thuật. Họ để lập trình viên bị mắc kẹt trong vũng bùn của ngôn ngữ thực hiện, xử lý sự phức tạp ở mỗi lượt. Đây không phải là UHLL, nhưng một UHLL có thể hình dung được xây dựng trên một trong số này.
Có các công cụ thiết kế, như bộ công cụ của UML và Rational, mà tôi không biết rõ. Theo như tôi có thể thấy họ giúp đưa ra các yêu cầu kinh doanh nhưng không bao giờ có thể thay thế bước lập trình. Tôi không muốn loại bỏ các lập trình viên, chỉ cần hoàn thành nhiều hơn trên mỗi đơn vị thời gian và nỗ lực.
Vì vậy, đã loại bỏ tất cả các ứng cử viên tôi có thể nghĩ, tôi hy vọng người khác có thể cung cấp một ứng cử viên tốt hơn.
Chỉnh sửa muộn: Tôi nghĩ rằng tôi có một câu trả lời: Ngôn ngữ Wolfram. http://www.wolfram.com/wolfram-lingu/