APL

APL (bahasa Inggeris: A Programming Language) 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.
 [http://www.research.ibm.com/journal/sj/032/falkoff.pdf 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)

APL
Bahasa fungsi
APL