Berkenalan dengan F#
F# (dibaca F Sharp) merupakan bahasa pemrograman bersifat fungsional, general-purpose(multiguna), multi-paradigma (Imperatif, Berorientasi objek dan Asinkron) dan strong type.
F# mengunakan .NET Core (Anak dari Microsoft .NET Framework yang sukses berdiri sendiri) sebagai backend (generator kode untuk menghasilkan kode mesin dari kodingan kita) kompilatornya seperti C#.
F# bisa berjalan pada sistem operasi Windows, Linux, MacOs serta ditambah kompilasi kedalam bentuk Javascript (untuk browser) dan GPU.
F# dipengaruhi oleh C#, OCaml, Python (ini dari opini penulis). Pencampuran dari Indentansi dari Python, Kosa Kata dan Idiom dari C# dan MLish dari OCaml semuanya bersatu dalam F#.
F# dikembangkan oleh Don Syme dan Tim Riset Microsoft kemudian muncul ke publik pada tahun 2005, versi terbaru dari F# yaitu 5.0.0 tercatat dari tanggal 20 November 2020. F# dikembangkan secara open source dengan kode sumber kompilator F# berlisensi MIT.
Yayasan F# didirikan pada tahun 2012 untuk mengajak pengembang mengunakan F# dan Yayasan ini terbuka untuk siapa saja yang ingin bergabung untuk bersama menyuarkan pengunaan F#, berikut pranala dibawah ini:
Kenapa kamu perlu mencoba F# ?
Ada hal menarik yang kamu bisa ketahui dengan mencoba F# selain dengan iming-iming fungsional dan juga hal yang perlu kamu pertimbangkan untuk mengunakan F# dalam produksi.
Pros
- Ringkas dalam penulisan (Readability)
- Terintegrasi dengan Ekosistem .NET (C# dan F# bisa saling komunikasi) dan Multiplatform
- Tidak ada null
- Paradigma Ganda
- Mendukung konkuren secara bawaan
Cons
- Kurva pembelajaraan terbilang menengah, karena penguasaan konsep dan fitur fungsional yang jarang ditemui seperti evaluasi malas dan semacamnya.
- Kurangnya literatur khususnya dalama Bahasa Indonesia
- Kecilnya komunitas F# di Indonesia (bila ini kurang tepat , mohon beri koreksi di kolom komentar ya)
- Identansi (Ini opini pribadi)
Terlepas pro kontra diatas, Semuanya kembali kepada kebutuhan anda apakah F# mencukupi atau tidak untuk mengadopsi F#.
Namun jangan beranjak dulu, masih banyak yang akan saya bahas lebih lanjut.
Kasus Guna
Adopsi F# banyak digunakan pada platform enterprise namun tidak menutup kemungkinan untuk mengunkan untuk bidang lain, beberapa ekosistem F# mendukung bidang
- Pengembangan Web
- Pengembangan Mobile App
- Data Sains
- Pemrograman Cloud
Serta berikut referensi untuk berkenalan lebih lanjut dengan F# :
Saya sendiri mengunakan F# dalam bidang pengembangan game mengunakan Godot Engine.
Meskipun ada berapa fungsi dari Godot yang tidak bisa diterapkan dalam F# , masih bisa diatasi dengan kemampuan inter-operasi dengan C# yang menutup kekurangan tersebut.
Tata Tulis
Setelah saya bercerita tentang kegunaan saat kita terjun melihat seperti apa kodenya.
printfn "Hello World\n"
Berikut contoh sederhana logika permainan sederhana dengan F#
Operator |> ini disebut sebagai forward pipeline operator, hasil dari ekspresi operan kiri akan menjadi parameter masukan untuk ekspresi sebelah kanan.
Kode dapat dijalan secara mengunakan kompilator daring pada pranala berikut ini : https://try.fsharp.org/
Installasi
Bagian ini saya melimpahkan seluruhnya kepada panduan yang disusun oleh pengembang yang bisa ditemukan pada pranala ini :
Mono merupakan bentuk open source Microsoft .NET, didalamnya terdapat paket F# dan C# secara bawaan.
Untuk IDE (Intergrate Development Environment) dapat mengunakan MonoDevelop untuk memudahkan pengguna selain Windows.
Penutup
F# di anggap esklusif berjalan pada lingkungan Windows, namun anggapan ini sudah tidak berlaku lagi sejak .NET mendukung kemampuan multi platform untuk berjalan diberbagai macam sistem operasi.
F# disarankan untuk anda yang ingin mengenal pemrograman fungsional secara softcore(halus perlahan), terutama bila anda berasal dari pengembang C#, Java, Python.
Bila anda suka mengunakan F#, Saya sarankan untuk mencoba OCaml yaitu predesessor dari Bahasa F#.
Sekian dari tulisan ini, semoga bermanfaat.