Tampilkan postingan dengan label bahasa fungsional. Tampilkan semua postingan
Tampilkan postingan dengan label bahasa fungsional. Tampilkan semua postingan

Jumat, 25 Mei 2012

Bahasa Fungsional

Bahasa pemrograman fungsional disebut aplikatif karena fungsi yang diaplikasikan ke dalam argumentasi menjadi deklaratif dan non procedural. Bahasa pemrograman fungsional didasarkan pada konsep matematika dari sebuah fungsi. Dalam ilmu komputer, pemrograman fungsional adalah paradigma pemrograman yang memperlakukan perhitungan sebagai evaluasi fungsi-fungsi matematika dan menghindari state dan data yang dapat berubah. Ini menekankan penerapan fungsi, berbeda dengan gaya pemrograman imperatif, yang menekankan perubahan dalam state. Pemrograman fungsional mempunyai akar di kalkulus lambda, sebuah sistem formal yang dikembangkan pada tahun 1930 untuk menyelidiki fungsi definisi, fungsi aplikasi, dan rekursi. Banyak bahasa pemrograman fungsional dapat dilihat sebagai elaborasi pada kalkulus lambda.

Dalam prakteknya, perbedaan antara fungsi matematika dan pengertian tentang sebuah "fungsi" yang digunakan dalam pemrograman adalah fungsi-fungsi penting yang dapat memiliki efek samping, mengubah nilai dari state program. Karena mereka tidak memiliki transparansi referensial, yaitu ekspresi bahasa yang sama dapat menghasilkan nilai yang berbeda pada waktu yang berbeda tergantung pada keadaan program pelaksana. Sebaliknya, dalam kode fungsional, nilai output dari suatu fungsi hanya bergantung pada argumen-argumen yang dimasukkan ke fungsi, maka fungsi f memanggil dua kali dengan nilai yang sama untuk argumen x akan menghasilkan hasil yang sama f (x) kedua kali. Menghilangkan efek samping dapat membuat lebih mudah untuk memahami dan memprediksi perilaku dari suatu program, yang merupakan salah satu motivasi kunci bagi pengembangan pemrograman fungsional.
Bahasa pemrograman fungsional, terutama yang murni fungsional, sebagian besar telah ditekankan dalam dunia akademis bukan dalam pengembangan perangkat lunak komersial. Namun, bahasa pemrograman fungsional menonjol seperti Scheme, Erlang, OCaml, , dan Haskell, telah digunakan dalam industri dan aplikasi komersial oleh berbagai organisasi. Pemrograman fungsional juga mendukung dalam beberapa bahasa pemrograman dengan domain yang specifik seperti R (statistik), Mathematica (simbolik matematika), J dan K (analisis keuangan), dan XSLT (XML ). Meluasnya deklaratif domain bahasa tertentu seperti SQL dan Lex / Yacc, menggunakan beberapa unsur pemrograman fungsional, terutama dalam menghindari nilai-nilai bisa berubah. Spreadsheets juga dapat dilihat sebagai bahasa pemrograman fungsional.


Pemrograman dalam gaya fungsional juga dapat dicapai dalam bahasa yang tidak secara khusus dirancang untuk pemrograman fungsional. Sebagai contoh, bahasa pemrograman Perl imperatif telah menjadi subjek dari sebuah buku yang menjelaskan bagaimana menerapkan konsep-konsep pemrograman fungsional. Javascript, salah satu bahasa paling banyak digunakan saat ini, menggabungkan kemampuan pemrograman fungsional.