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 masaalah 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.