foto bareng

Selasa, 11 Oktober 2011

Pengenalan F# pada Visual Studio 2010

Mari kita mulai dengan install dulu VS 2010 Beta 2 atau VS 2010 RC. Anda dapat mendownload mulai dari page ini: http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx
Bukti kalau F# ada di Visual Studio 2010:
image 
Pertama, marilah kita berkenalan dulu dengan apa itu F#.
F# adalah suatu bahasa pemrograman di environment platform .NET yang merupakan anggota keluarga dari “functional programming”. F# dibuat oleh sekumpulan ilmuan di MS Research Cambridge, dan riset tentang F# dikepalai oleh Don Syme. Blog Don Syme dapat anda kunjungi di http://blogs.msdn.com/dsyme.
Nah, apa itu functional programming?
Secara umum, Functional Programming memiliki banyak definisi, yang masing-masing definisi memiliki perspektif berbeda, tergantung dari pengalaman si pembuat definisi.
Secara umum, berdasarkan Erik Meijer dan Brian Beckman (mereka merupakan software engineer di Microsoft), functional programming adalah “programming with mathematical functions” yang artinya anda memprogram dengan fungsi-fungsi yang merupakan fungsi matematis.
“Functions” atau fungsi-fungsi dalam hal ini adalah fungsi yang dilihat secara konsep matematis, yang tentunya syntaxnya disesuaikan dengan notasi bahasa pemrograman secara umum.
Mari kita melihat kembali pelajaran matematika, dimulai di tahapan SLTP/SMP, contoh fungsi adalah:
f(x) = x + 2
Atau dapat dikomposisikan menjadi:
g(x) = f(x) +5x
g(x) = (x + 2) + 5x
Secara intuitif dan nalar, matematikawan terbiasa melihat notasi di atas. Secara programming, notasinya menjadi:
kalau di C# dan dipaksa menjadi satu baris, menjadi:
Int32 f(Int32 x) { return x + 2; }
Kalo anda memakai F#, menjadi:
let f x = x + 2
atau:
let f(x) = x + 2
Khusus di F#, penulisan parameter dapat dituliskan dengan menggunakan spasi saja, selain dengan menambahkan kurung buka dan tutup.
Mengapa demikian? Karena sekali lagi, F# fokus pada pemrograman fungsi, walaupun anda tetap dapat memakai OOP. Dan F# adalah salah satu bahasa pemrograman yang memakai teknik variable type inference dan ini termasuk juga return value dan parameter.
Cukup nyaman, bukan? Dan secara umum sangat berbeda dengan bahasa pemrograman yang selama ini sering dipakai programmer di Indonesia.
Bahkan, Don Syme di slide presentasinya membuat perbandingan yang cukup ekstrim:
image
Menarik bukan? Anda dapat mendownload presentasi F# Don Syme di: http://blogs.msdn.com/dsyme/attachment/9905768.ashx
Nah, bagaimana jika anda ingin membuat lebih dari satu baris? Anda juga bisa, dengan menambahkan “indentasi” sebagai berikut:
image
Untuk anonymous delegate? Bisa.
let squares2 = List.map (fun x -> x*x) [1; 2; 3; 4]
Anda ingin membuat class seperti di C# dan VB? Bisa!
image
Keterangan:
  • Property dalam F# ditulis dengan syntax “member”
  • Symbol “v” di atas mewakili Vector2D.
  • Deklarasi Vector2D diatas adalah sekaligus mendeklarasikan constructor dengan parameter dx dan dy.
Bagaimana dengan interface? Bisa, seperti di bawah ini:
image

Cukup mudah, bukan?
Dan, salah satu feature yang paling membedakan F# dengan yang lain adalah: “unit of measure”!
Anda dapat membuat satuan unit pengukuran sendiri, dan satuan ini juga dapat dikombinasikan dengan perkalian seperti halnya menghitung rumusan gravitasi bumi di Fisika!
image
Penulisan gravitasi di atas dapat juga ditulis dengan cara:
let gravityOnEarth = 9.81<m/s/s>
karena:
m/s^2 = (m/s) * (1/s)
Tentunya hal ini juga akan sangat membantu di bidang lain, misalnya untuk menghitung jangka waktu pinjaman di bank, yang dapat berupa bulanan dan tahunan.
Contoh:
let bulanTahunan = 12<bln/thn>
Nah, apa yang anda tunggu lagi? Sudah ada keluarga bahasa lain di .NET yang begitu mudah dan begitu indah dipakai, apakah anda tidak tertarik untuk mempelajarinya? :)
Untuk lebih mudahnya, selain presentasi F# dari Don Syme, anda dapat juga mendownload presentasi saya tentang F# melalui attachment di blog ini.
Published Saturday, February 20, 2010 3:30 PM by Eriawan Kusumawardhono Filed under: , ,

Tidak ada komentar:

Posting Komentar