Bahasa pengaturcaraan generasi keempat

**Bahasa pengaturcaraan generasi keempat** atau **4GL** (1970-an - 1990) ialah bahasa atau sekitaran pengaturcaraan yang direka untuk tujuan yang khusus, misalnya pembangunan perisian perniagaan. Dalam revolusi perkomputeran, 4GL menyusuli 3GL dalam arah aliran menuju ke kuasa keabstrakan dan kenyataan yang lebih tinggi. Ia disusuli oleh usaha untuk menentukan dan menggunakan 5GL.

Mod bahasa sejadi berstruktur blok bagi bahasa-bahasa pengaturcaraan generasi ketiga bertujuan untuk memperbaiki proses pembangunan perisian. Bagaimanapun, kaedah pembangunan 3GL cenderung tidak cukup cepat dan mudah mengalami ralat. Jelasnya kemudian bahawa sesetengah atur cara penggunaan dapat dibangunkan dengan lebih cepat menerusi penambahan sebuah lagi bahasa pengaturcaraan dan perkaedahan yang berperingkat lagi tinggi dan yang dapat menjanakan suruhan 3GL yang amat rumit dengan tidak begitu banyak ralat. Daripada sesetengah segi, kejuruteraan perisian muncul untuk menangani pembangunan 3GL. Dengan itu, projek 4GL dan 5GL lebih menumpukan penyelesaian masalah dan kejuruteraan sistem.

Semua 4GL direka dengan tujuan untuk:
* mengurangkan usaha pengaturcaraan;
* masa yang diambil untuk membangunkan perisian; dan
* kos pembangunan perisian.
Tidak semua projek itu berjaya dalam tugas ini, dengan adanya sesetengah kod yang tidak anggun dan yang tidak dapat dikekalkan. Bagaimanapun, apabila diberikan masalah yang sesuai, penggunaan 4GL dapat mencapai kejayaan yang luar biasa, sebagaimana yang ditunjukkan oleh MARK-IV dan MAPPER (sila lihat bahagian Sejarah yang berkenaan dengan penjejakan masa nyata tentang gerabak barangan angkut Sante Fe - peningkatan daya pengeluarannnya dianggarkan sebanyak lapan kali berbanding dengan COBOL). Perbaikan kebolehgunaan yang dicapai oleh sebilangan 4GL (dan sekitarannya) membenarkan pemeriksaan teliti untuk penyelesaian heuristik yang lebih baik, berbanding dengan 3GL.

Takrif kuantitatif untuk 4G telah ditetapkan oleh Capers Jones sebagai sebahagian kerjanya yang berkenaan dengan analisis titik fungsi. Jones mentakrifkan berbagai-bagai generasi bahasa pengaturcaraan daripada segi daya pengeluaran pembangun yang diukur dalam titik fungsi per bulan-kakitangan. 4GL ditakrifkan sebagai sebuah bahasa yang mendukung 12 - 20 FP/SM, dengan itu merupakan lebih kurang 16 - 27 garis kod per titik fungsi.

Bahasa generasi keempat seringnya dibandingkan dengan bahasa pengaturcaraan khusus domain (DSL). Sesetengah penyelidik menyatakan bahawa 4GL ialah subset DSL.  Diberikan ketabahan bahasa himpunan dalam sekitaran pembangunan yang maju (MS Studio) sehingga masa ini, sesebuah sistem harus merupakan suatu campuran yang terdiri daripada kesemua generasi, dengan penggunaan bahasa generasi pertama yang amat terbatas.

## Lihat juga
* Bahasa pengaturcaraan khusus domain
* Pembangunan atur cara penggunaan pantas

## Rujukan

## Pautan luar
* FourGen CASE Tools - Rapid Application Development Environment
* Four J's Development Tools Genero, Genero Studio
* Fourth Generation Environments 
* 4GL GPL/GNU OpenSource development tools project
* Domain-Specific Languages for Software Engineering (Compares 4GLs to DSLs)
* The fourgen site.
* The Gillani fourgen site.
* Up ! 5GL to consolidate or to build component-based applications.