Berkenalan dengan Haskell

Wisnu Adi Nurcahyo 6 Januari 2017

Berkenalan dengan Haskell

Masih banyak di antara kita yang belum tahu bahasa pemrograman Haskell itu seperti apa. Bahkan, beberapa di antaranya berkata baru mendengar bahasa pemrograman yang satu ini. Padahal, Haskell termasuk bahasa pemrograman yang sudah cukup lama. Kemunculan pertamanya adalah pada tahun 1990 dengan versi awal 1.0.

Haskell menggunakan paradigma functional, modular, dan lazy/non-strict. Jangan salah, Haskell juga mendukung paradigma imperative namun dengan "perlakuan" khusus. Haskell dikembangkan bersama-sama. Tapi, tokoh yang paling terkenal adalah Simon Peyton Jones selaku lead developer dari Glasgow Haskell Compiler (GHC).

Kenapa Haskell?

1. Elegan

Indentasi sangat diperhatikan oleh compiler Haskell. Hal ini secara tidak langsung membuat sintaks Haskell elegan dan readable. Contohnya? Kita lihat nanti di bawah.

2. Lebih Sedikit Bug

Kemungkinan terjadinya bug di dalam program yang kita buat lebih sedikit. Ada beberapa alasan teknis yang kalau disebutkan satu-satu dapat membuat kita pusing.

3. Pure Functional

Tidak ada "efek samping". Maksudnya, interaksi antara program dengan dunia luar (input/output) sangat "ketat". Hal ini ini juga salah satu penyebab dari nomor dua di atas.

4. Performa Cukup Baik

Performa Haskell sebenarnya cukup baik. Tapi, itu bergantung pada algoritma yang kita gunakan. Terkadang, Haskell bisa hampir setara (atau bahkan lebih cepat) dari bahasa C. Tapi, Haskell juga bisa jauh lebih buruk dari C apabila algoritma yang kita gunakan "jelek".

Dan masih banyak lagi! Dari segi teknis banyak yang bisa diunggulkan dari Haskell. Tapi, ini perkenalan sehingga terlalu teknis sangatlah buruk.

Bisa untuk Apa?

Haskell bisa digunakan untuk pengembangan program berbasi CLi, Web Development, Game Development, dsb. Haskell biasanya digunakan untuk kepentingan Distributed System.

Contoh Kodenya?

main = putStrLn "Hello, Haskell!"

Haskell menggunakan fungsi main sebagai identifier dimulainya suatu program.

fib :: Int -> Int fib 0 = 1 fib 1 = 1 fib n = fib (n - 1) + fib (n - 2) main = print (fib 3)

Contoh program di atas adalah program untuk mencari nilai fibonacci pada posisi n. Haskell merupakan pemrograman fungsional sehingga performanya dalam fungsi rekursif sangatlah baik.

Well, hanya ini yang bisa saya tulis. Di kesempatan berikutnya saya akan coba membahas Haskell lagi. Kita akan coba belajar Haskell dari awal dengan fun way. Sekian dan terima kasih!