Lompat ke isi

Teori bahasa pemrograman

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Huruf Yunani kecil λ (lambda) adalah simbol tidak resmi dari bidang teori bahasa pemrograman.[butuh rujukan] Penggunaan ini berasal dari kalkulus lambda, sebuah model komputasi yang diperkenalkan oleh Alonzo Church pada tahun 1930-an dan banyak digunakan oleh peneliti bahasa pemrograman. Ini menghiasi sampul teks klasik Struktur dan Interpretasi Program Komputer,[1] dan judul yang disebut Lambda Papers dari tahun 1975 hingga 1980, yang ditulis oleh Gerald Jay Sussman dan Guy L. Steele Jr., para pengembang bahasa Scheme.

Teori bahasa pemrograman (PLT) adalah cabang ilmu komputer yang membahas desain, implementasi, analisis, karakterisasi, dan klasifikasi bahasa formal yang dikenal sebagai bahasa pemrograman. Teori bahasa pemrograman terkait erat dengan bidang lain termasuk linguistik, matematika, dan rekayasa perangkat lunak.

Dalam beberapa hal, sejarah teori bahasa pemrograman mendahului bahkan pengembangan bahasa pemrograman. Kalkulus lambda, yang dikembangkan oleh Alonzo Church dan Stephen Cole Kleene pada tahun 1930-an, dianggap oleh beberapa orang sebagai bahasa pemrograman pertama di dunia, meskipun dimaksudkan untuk memodelkan komputasi daripada menjadi sarana bagi pemrogram untuk mendeskripsikan algoritma ke sistem komputer. Banyak bahasa pemrograman fungsional modern telah dideskripsikan sebagai menyediakan "lapisan tipis" di atas kalkulus lambda,[2] dan banyak yang dideskripsikan dengan mudah dalam kaitannya dengannya.

Bahasa pemrograman pertama yang ditemukan adalah Plankalkül, yang dirancang oleh Konrad Zuse pada tahun 1940-an, tetapi tidak diketahui publik hingga tahun 1972, dan tidak diimplementasikan hingga tahun 1998. Bahasa pemrograman tingkat tinggi pertama yang dikenal luas dan berhasil adalah FORTRAN (untuk Formula Translation), yang dikembangkan dari tahun 1954 hingga 1957 oleh tim peneliti IBM yang dipimpin oleh John Backus. Keberhasilan FORTRAN menyebabkan pembentukan komite ilmuwan untuk mengembangkan bahasa komputer "universal"; hasil dari upaya mereka adalah ALGOL 58. Secara terpisah, John McCarthy dari Massachusetts Institute of Technology (MIT) mengembangkan Lisp, bahasa pertama dengan asal-usul di akademisi yang berhasil. Dengan keberhasilan upaya awal ini, bahasa pemrograman menjadi topik penelitian yang aktif pada tahun 1960-an dan seterusnya.

Garis Waktu

[sunting | sunting sumber]

Beberapa peristiwa kunci lain dalam sejarah teori bahasa pemrograman sejak saat itu:

1950-an
  • Noam Chomsky mengembangkan hierarki Chomsky di bidang linguistik, sebuah penemuan yang secara langsung berdampak pada teori bahasa pemrograman dan cabang ilmu komputer lainnya.
1960-an
1970-an
1980-an
1990-an

Sub-disiplin dan bidang terkait

[sunting | sunting sumber]

Ada beberapa bidang studi yang berada di dalam teori bahasa pemrograman, atau yang memiliki pengaruh mendalam padanya; banyak di antaranya memiliki tumpang tindih yang cukup besar. Selain itu, PLT memanfaatkan banyak cabang matematika lainnya, termasuk teori komputabilitas, teori kategori, dan teori himpunan.

Semantik formal

[sunting | sunting sumber]

Semantik formal adalah spesifikasi formal dari perilaku program komputer dan bahasa pemrograman. Tiga pendekatan umum untuk mendeskripsikan semantik atau "makna" dari program komputer adalah semantik denotasional, semantik operasional, dan semantik aksiomatik.

Teori tipe

[sunting | sunting sumber]

Teori tipe adalah studi tentang sistem tipe; yang merupakan "metode sintaksis yang dapat diatasi untuk membuktikan tidak adanya perilaku program tertentu dengan mengklasifikasikan frasa sesuai dengan jenis nilai yang dihitungnya".[4] Banyak bahasa pemrograman dibedakan oleh karakteristik sistem tipe mereka.

Analisis dan transformasi program

[sunting | sunting sumber]

Analisis program adalah masalah umum untuk memeriksa program dan menentukan karakteristik kunci (seperti tidak adanya kelas kesalahan program). Transformasi program adalah proses mengubah program dalam satu bentuk (bahasa) ke bentuk lain.

Analisis bahasa pemrograman komparatif

[sunting | sunting sumber]

Analisis bahasa pemrograman komparatif berusaha mengklasifikasikan bahasa ke dalam berbagai jenis berdasarkan karakteristiknya; kategori luas bahasa sering dikenal sebagai paradigma pemrograman.

Generik dan metaprogramming

[sunting | sunting sumber]

Metaprogramming adalah pembuatan program tingkat yang lebih tinggi yang, ketika dieksekusi, menghasilkan program (mungkin dalam bahasa yang berbeda, atau dalam subset dari bahasa asli) sebagai hasilnya.

Bahasa khusus domain

[sunting | sunting sumber]

Bahasa khusus domain adalah bahasa yang dibangun untuk secara efisien memecahkan masalah dalam domain tertentu, atau bagian darinya.

Konstruksi kompiler

[sunting | sunting sumber]

Teori kompiler adalah teori penulisan kompiler (atau lebih umum, penerjemah); program yang menerjemahkan program yang ditulis dalam satu bahasa ke bentuk lain. Tindakan kompiler secara tradisional dipecah menjadi analisis sintaks (memindai dan mengurai), analisis semantik (menentukan apa yang harus dilakukan program), optimasi (meningkatkan kinerja program seperti yang ditunjukkan oleh beberapa metrik; biasanya kecepatan eksekusi) dan pembuatan kode (pembuatan dan keluaran program yang setara dalam beberapa bahasa target; seringkali arsitektur set instruksi dari central processing unit (CPU)).

Sistem waktu-proses

[sunting | sunting sumber]

Sistem waktu-proses mengacu pada pengembangan lingkungan waktu proses bahasa pemrograman dan komponennya, termasuk mesin virtual, pengumpulan sampah, dan antarmuka fungsi asing.

Jurnal, publikasi, dan konferensi

[sunting | sunting sumber]

Konferensi adalah tempat utama untuk menyajikan penelitian dalam bahasa pemrograman. Konferensi yang paling terkenal meliputi Symposium on Principles of Programming Languages (POPL), Programming Language Design and Implementation (PLDI), International Conference on Functional Programming (ICFP), konferensi internasional tentang Object-Oriented Programming, Systems, Languages & Applications (OOPSLA) dan International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).

Jurnal-jurnal terkemuka yang menerbitkan penelitian PLT meliputi ACM Transactions on Programming Languages and Systems (TOPLAS), Journal of Functional Programming (JFP), Journal of Functional and Logic Programming, dan Higher-Order and Symbolic Computation.

Lihat juga

[sunting | sunting sumber]

Referensi

[sunting | sunting sumber]
  1. Abelson, Harold; Sussman, Gerald Jay; Sussman, Julie (1996). Structure and Interpretation of Computer Programs (Edisi 2nd). Cambridge, Massachusetts: MIT Press. ISBN 0-262-01153-0. OCLC 34576857.
  2. "Models Of Computation". wiki.c2.com. December 3, 2014. Diarsipkan dari versi aslinya tanggal November 30, 2020.
  3. C. Böhm and W. Gross (1996). Introduction to the CUCH. In E. R. Caianiello (ed.), Automata Theory, p. 35–64.
  4. Benjamin C. Pierce. 2002. Types and Programming Languages. MIT Press, Cambridge, Massachusetts, USA.

Bacaan lebih lanjut

[sunting | sunting sumber]

Pranala luar

[sunting | sunting sumber]