Tidak Banyak Yang Tahu Ternyata Ini Keunggulan Bahasa Pemrograman F#

0
24
Bahasa Pemrograman F#
Functional Programming F#

Microsoft Research mengembangkan salah satu bahasa functional programming yang bernama F#. Bahasa pemrograman F# berjalan di .NET (dan Mono) dengan memakai multi paradigma, yaitu functional programming dan imperative programming. Contoh paling mudah imperative programming adalah C# dan VB.

F# banyak diremehkan oleh beberapa orang yakni karena apa yang dilakukan F# bisa dilakukan C#. Berikut ini beberapa keunggulan F# yang harus kalian ketahui:

  • Functional programming memudahkan kita untuk melakukan komposisi fungsi dalam program karena fungsi (method kalo di C# dan VB) dapat dipastikan sebagai pure function tanpa side effect. Hal ini juga sangat memudahkan untuk memprogram secara paralel, karena di functional programming tidak mempermasalahkan urutan eksekusi fungsi yang kita buat.
  • Variable yang dipakai di F# adalah immutable. Artinya tidak bisa diubah lagi setelah diisi nilai apapun. Dan ini tentunya jika dipakai di dalam fungsi, sangat aman dari side effect pula.
  • F# menyediakan fasilitas asynchronous programming secara default di dalam bahasanya.
  • F# menyediakan pattern matching untuk berbagai tipe variable
  • Function di F# adalah data juga, dan penulisannya sangat singkat.
  • Karena parameter di F# dapat berupa function pula dan function dianggap sebagai data, maka F# dapat secara ekspresif menyediakan currying parameter.
  • Tipe di F# secara default adalah type inference. Type inference ini sudah ada di F# di awal, bandingkan di C# yang baru ada di C# 3.0 dan di VB mulai VB 9.0 (C# 3.0 dan VB 9.0 adalah bagian dari VS 2008).
  • Recursive di F# sangat cepat dan telah diptimasi secara khusus, bahkan dapat melakukan recursive lebih banyak daripada di C# dan VB tanpa mengalami “stack overflow”.
  • Dan F# tetap mendukung OOP di .NET dan mendukung juga imperative programming. Variable dapat dibuat mutable dengan tambahan keyword mutable.
  • Dengan demikian F# bisa disejajarkan dengan Haskell yang merupakan salah satu bahasa pemrograman yang sangat functional, walaupun belum semua feature Haskell ada di F#
  • Selain itu, di F# versi 1.9 keatas ada fasilitas yang namanya “unit of measure”, kita dapat memberikan satuan pengukuran seperti meter, kilogram, dan sebagainya.

Apa yang ingin diperlihatkan di F# oleh Microsoft?
Salah satunya adalah menjawab tantangan bahwa .NET sekarang memiliki anggota keluarga bahasa yang berparadigma functional programming by default. Bukankah C# dan VB sekarang sudah mulai mendukung functional programming dengan adanya “lambda expression”? F# sudah sejak di versi awal memiliki lambda expression ini.

Bahkan konsep generic type di C# dan VB adalah gagasan awal dari Don Syme. Don Syme dikenal sebagai bapak F#.

LEAVE A REPLY

Please enter your comment!
Please enter your name here