APL

**APL** (bahasa Inggeris: **A P***rogramming* **L***anguage*) ialah sebuah bahasa pengaturcaraan tatasusunan berasaskan notasi yang direka oleh Kenneth E. Iverson pada tahun 1957 ketika berada di Universiti Harvard. Ia bermula sebagai suatu percubaan untuk memberikan notasi yang tekal bagi mengajar dan menganalisis topik-topik yang berkait dengan aplikasi komputer. Notasi ini kemudiannya dipergunakan untuk menghuraikan seni bina mesin Sistem/360 IBM, huraian yang jauh lebih ringkas dan tepat, berbanding dengan dokumentasi ketika itui dan mendedahkan sebilangan masalah yang tidak disedari sebelum ini. Kemudian, bebola taip Selectric direka khusus untuk menulis notasi dalam gambaran mendatar. Pada tahun 1964, sebuah subset notasi dipergunakan sebagai sebuah bahasa pengaturcaraan.

Pada tahun 1962, Iverson menerbitkan notasinya dalam sebuah buku yang berjudul *A Programming Language*, dengan APL dinamai sempena judul buku itu. Bagaimanapun sejak dari awal lagi, APL banyak berbeza daripada notasi yang dihuraikan oleh Iverson dalam bukunya. Pada tahun 1979, Iverson menerima Anugerah Turing untuk hasil kerjanya.

Sebagaimana dengan semua bahasa pengaturcaraan yang telah digunakan selama beberapa dekad, APL telah berkembang dan berubah dengan ketara. Walaupun demikian, ia umumnya mengekalkan keserasian dengan versi-versinya yang lebih awal serta juga umumnya mempunyai ciri-ciri penafsiran dan saling tindak, ciri-ciri yang dihargai oleh penggunanya. Tambahan lagi, kekurangan dukungannya pada peringkat awal terhadap pengaturcaraan berstruktur telah dibetulkan dalam kebanyakan pelaksanaan APL moden.

Salah satu aspek APL yang banyak dikritik (dan diraikan) ialah penggunaan set aksara khas yang menunjukkan operasi-operasi yang dilaksanakan secara visual. Aksara-aksara ini telah digabungkan ke dalam Unikod, dan dimasukkan melalui pemetaan papan kekunci atau Editor Kaedah Input.

Iverson kemudian mengerjakan APL semula menjadi sebuah bahasa yang dikenali sebagai J. Bahasa pengaturcaraan J bukan sahaja meningkatkan kuasa gambaran secara ketara, tetapi juga menggunakan ASCII tulen (dengan dwigraf) sebagai ganti untuk set aksara khasnya yang dikritik.

## Lihat juga
* Anugerah Iverson
* Bahasa pengaturcaraan J, pengganti APL oleh Kenneth E. Iverson dan Roger Hui
* Bahasa pengaturcaraan K, pengganti alternatif APL oleh Arthur Whitney
* IBM 1130: APL \ 1130 merupakan pelaksanaan APL (1968) yang awal untuk IBM 1130
* I. P. Sharp dan Rakan-rakan
* Nial
* Pemboleh Ubah Kongsi
* Perbadanan Pengongsian Masa Saintifik (STSC), syarikat yang ditubuhkan untuk memperdagangkan APL
* Produk Jenis-III

## Rujukan

* Iverson, Kenneth E. - A Programming Language, Wiley 1962.
* Huraian SISTEM/360'' yang formal – Jurnal Sistem-sistem IBM 3:3, New York: 1964
* Pakin, Sandra - APL\360 Reference Manual, Science Research Associates, Inc. 1968. ISBN 0-574-16135-X,
* *[[History of Programming Languages]]*, bab 14
* Gerald Jean Francis Banon - Bases da Computacao Grafica, Rio de Janeiro: Campus, 1989. 141 hlm.

## Pautan luar
**Organisasi dan Vendor:**
* Laman web IBM: IBM APL2
* Laman web ''Dyalog:'' APL
* Laman web ''APL2000''
* Laman web ''APLNext:'' APL untuk .Net 
* Laman web rasmi ''MicroAPL''
* Laman web ''SIGAPL''
* Laman web ''Vector'' – jurnal Persatuan APL British
* Laman web ''Wiki APL'' 

**Bahasa dan loghat berkait:**
* Laman web ''Jsoftware'' – J ialah bahasa tatasusunan Iverson yang lebih baru dan yang menggunakan fon ASCII yang piawai
* Laman web ''Aplusdev'' – A+ ialah sebuah pelaksanaan sumber terbuka yang mempunyai banyak ciri yang serupa dengan APL
* Laman web KX – kdb+ yang digunakan untuk pangkalan data hubungan yang berprestasi tinggi
* NumPy ialah sebuah pakej Python untuk pengaturcaraan tatasusunan dan saintifik
* Laman web ''Simmunity'' – bahasa pengaturcaraan terkompil berasaskan APL yang direka bentuk untuk aplikasi-aplikasi kerjasama internet

**Pengkompil:**
* Laman web ''APL2C:'' Pengkompil
* Laman web ''Penyelidikan Snake Island'': Kompilasi APL
* Laman web ''Causeway:'' Penterjemah APL ke C# 

**Sejarah:**
* ''Sebuah huraian formal tentang SISTEM/360'' (rencana 1964 oleh Adin D. Falkoff, Kenneth E. Iverson, dan Edward H. Sussenguth)
* ''Sebuah Mesin APL'' (tesis kedoktoran Stanford 1970 oleh Philip Abrams)
* ''Reka Bentuk APL'' (rencana 1973 oleh Adin D. Falkoff dan Kenneth E. Iverson)
* Sejarah Peribadi APL (rencana 1982 oleh Micheal S. Montalbano)
* ''Keluarga Sistem APL IBM (rencana 1991 oleh Adin D. Falkoff)
* ''Sebuah pandangan peribadi tentang APL'' (rencana 1991 oleh Kenneth E. Iverson)

**Aplikasi:**
* OOPAL: Mengintegrasikan Pengaturcaraan Tatasusunan ke dalam Pengaturcaraan Berorientasi Objek
* Pengenalan APL Berorientasi Objek
* Pembandingan model penentuan harga opsyen Black-Scholes – dalam banyak bahasa, termasuk APL
* Pembangunan sistem APL + Win

**Pandangan peribadi :**
* Oleh Brad McCormick 
* Oleh Rex Swain
* Oleh Eric Lescasse
* Laman web ''Earthlink''  – senarai Soalan Lazim serta pautan ke versi-versi pengkompil Budd (oleh Sam Sirlin)