Secara historis HLL adalah sesuatu seperti C, Fortran atau Pascal dan VHLL adalah sesuatu seperti Ruby atau Python. Saya akrab dengan istilah 4GL, 5GL, DSL dan LOP, dan mereka yang tidak harus membaca Wikipedia untuk definisi. Saya mencari UHLL.
Pertanyaan saya adalah: apakah ada bahasa komputer di luar sana yang urutan besarnya lebih produktif, dan adakah yang mengerjakannya?
Lebih produktif berarti lebih sedikit kode yang dituliskan dan lebih sedikit waktu programmer untuk mencapai hasil, lebih sedikit bug dan lebih sedikit debugging, hubungan konseptual yang lebih dekat antara kode dan persyaratan, lebih sedikit upaya untuk memodifikasi dan memelihara.
Domain utama yang menarik minat saya adalah aplikasi bisnis dan konsumen untuk tujuan umum, dengan GUI atau browser, ketekunan data dan koneksi ke sistem lain seperti pencetakan dan email. Orang lain mungkin fokus di tempat lain.
Saya menyadari bahwa beberapa bahasa itu mungkin khusus untuk domain, dan mungkin lebih sedikit dari kemampuan konfigurasi aplikasi yang besar dan mampu. Lembar kerja Excel termasuk dalam kategori ini.
Saya menyadari bahwa beberapa bahasa itu mungkin tampak umum, tetapi mungkin masih sempit cakupannya dan tidak cocok untuk banyak masalah. Sebagai contoh, Matlab mungkin bukan pilihan yang baik untuk program yang terutama berhubungan dengan interaksi pengguna dan data tekstual.
Saya tahu beberapa fitur yang mungkin ada di UHLL, dengan analogi dengan VHLL. Saya berharap menemukan satu atau lebih dari yang berikut (dan jangan ragu untuk menambahkan ke daftar):
- Gambar bentuk GUI ADALAH program untuk bentuk GUI
- Tabel yang berisi baris, kolom, dan header adalah program untuk tabel dalam database
- Logika deklaratif mengatakan apa yang harus dilakukan dan kapan, tanpa pernyataan IF
- Operasi pada set data, tanpa loop UNTUK
- Eksekusi non-sekuensial misalnya didorong data, pencocokan pola, berjalan pohon
Motivasi untuk pertanyaan ini adalah bahwa saya semakin muak dengan kerja keras semata-mata menerjemahkan persyaratan bisnis yang relatif sederhana menjadi sejumlah besar kode untuk memenuhi apa yang diinginkan atau dibutuhkan komputer. Pertanyaannya adalah benar-benar tentang menemukan orang lain di luar sana yang berbagi rasa sakit saya dan sedang berupaya meningkatkan tingkat bahasa dan membuat komputer melakukan lebih banyak kerja keras. Ini adalah fokus utama di tahun 1970-an-80-an, tetapi apakah itu masih terjadi?
Ini adalah beberapa jawaban yang disarankan untuk pertanyaan saya, yang disediakan di sini untuk meringkas atau menghitung bahasa yang saya ketahui, dan yang menurut saya kurang.
Ada banyak bahasa yang HLL atau VHLL dan berisi fitur individual yang termasuk tingkat yang lebih tinggi. Saya telah menggunakan sebagian besar dari mereka (sering buruk). Mereka termasuk
- Lisp, dengan makro dan kemampuannya memodifikasi sendiri
- Haskell, dengan ketergantungan data dan pencocokan pola
- SQL, yang berhubungan dengan baris dan tabel
- Rebol, yang tampaknya pintar tapi aku tidak benar-benar mengerti
- APL (dan J), dengan array multi-dimensi dan operator ultra-kompak
- C # dengan LINQ
- AWK / Perl / Python / Ruby dengan koleksi indah dan regex bawaan
Bahasa-bahasa ini memiliki terlalu banyak fitur tingkat rendah untuk menjadi UHLL. Programmer masih harus menulis banyak konstruksi tingkat rendah untuk setiap program yang bermanfaat.
Ada paket RAD / 4GL. Saya telah menggunakan beberapa:
- dBase / Foxpro
- Dataflex / Powerflex (produk saya)
- Mengakses
- PowerBuilder
Dan masih banyak lagi yang belum saya gunakan. Sebagian besar bahasa adalah HLL paling baik tetapi paket berisi kerangka kerja dan koneksi istimewa antara bahasa dan paket sehingga aplikasi dapat dibangun dengan cepat. Saya tidak yakin mengapa pendekatan ini kehabisan tenaga, tetapi bagaimanapun UHLL ini tidak.
Ada kerangka kerja / perpustakaan mentah. Saya telah menggunakan beberapa:
- Rel
- Java awt dan swing
- .NET Windows Forms, WPF dan ASP.NET.
Ini saat ini canggih. Mereka meninggalkan programmer dengan kuat terjebak dalam lumpur bahasa implementasi, berurusan dengan kompleksitas di setiap kesempatan. Ini bukan UHLL, tetapi UHLL mungkin dibangun di atas salah satunya.
Ada alat desain, seperti toolset UML dan Rational, yang saya tidak tahu dengan baik. Sejauh yang saya lihat mereka membantu mengartikulasikan persyaratan bisnis tetapi tidak pernah bisa menggantikan langkah pemrograman. Saya tidak ingin menghilangkan programmer, hanya menyelesaikan lebih banyak per unit waktu dan usaha.
Jadi, setelah menyingkirkan semua pesaing saya dapat berpikir, saya berharap orang lain dapat memberikan kandidat yang lebih baik.
Edit Terlambat: Saya rasa saya punya jawaban: Bahasa Wolfram. http://www.wolfram.com/wolfram-language/