Haskell - Ikhtisar
Haskell adalah Bahasa Pemrograman Fungsional yang telah dirancang khusus untuk menangani aplikasi komputasi simbolik dan pemrosesan daftar. Pemrograman fungsional didasarkan pada fungsi matematika. Selain Haskell, beberapa bahasa populer lainnya yang mengikuti paradigma Pemrograman Fungsional meliputi: Lisp, Python, Erlang, Racket, F #, Clojure, dll.
Di conventional programing, instruksi diambil sebagai sekumpulan deklarasi dalam sintaks atau format tertentu, tetapi dalam kasus functional programing, semua penghitungan dianggap sebagai kombinasi dari fungsi matematika yang terpisah.
Menjadi Fungsional dengan Haskell
Haskell adalah bahasa fungsional murni yang banyak digunakan. Di sini, kami telah membuat daftar beberapa poin yang membuat bahasa ini begitu istimewa dibandingkan bahasa pemrograman konvensional lainnya seperti Java, C, C ++, PHP, dll.
Functional Language- Dalam bahasa pemrograman konvensional, kami menginstruksikan compiler serangkaian tugas yang tidak lain adalah memberi tahu komputer Anda "apa yang harus dilakukan" dan "bagaimana melakukannya?" Tapi di Haskell kita akan memberitahu komputer kita "apa itu?"
Laziness- Haskell adalah bahasa malas. Olehlazy, maksud kami, Haskell tidak akan mengevaluasi ekspresi apa pun tanpa alasan apa pun. Ketika mesin evaluasi menemukan bahwa ekspresi perlu dievaluasi, maka itu membuatthunk data structure untuk mengumpulkan semua informasi yang diperlukan untuk evaluasi khusus tersebut dan petunjuk untuk itu thunk data structure. Mesin evaluasi akan mulai bekerja hanya jika diperlukan untuk mengevaluasi ekspresi spesifik tersebut.
Modularity- Aplikasi Haskell tidak lain adalah serangkaian fungsi. Kita dapat mengatakan bahwa aplikasi Haskell adalah kumpulan dari banyak aplikasi Haskell kecil.
Statically Typed- Dalam bahasa pemrograman konvensional, kita perlu mendefinisikan serangkaian variabel beserta tipenya. Sebaliknya, Haskell adalah bahasa yang diketik dengan ketat. Yang kami maksud dengan istilah, Strictly Typed language, yang kami maksud adalah compiler Haskell cukup cerdas untuk mengetahui jenis variabel yang dideklarasikan, oleh karena itu kami tidak perlu secara eksplisit menyebutkan jenis variabel yang digunakan.
Maintainability - Aplikasi Haskell bersifat modular dan karenanya, sangat mudah dan hemat biaya untuk memeliharanya.
Program fungsional lebih serentak dan mengikuti paralelisme dalam eksekusi untuk memberikan kinerja yang lebih akurat dan lebih baik. Haskell tidak terkecuali; itu telah dikembangkan dengan cara menanganimultithreading efektif.
Halo Dunia
Ini adalah contoh sederhana untuk mendemonstrasikan dinamisme Haskell. Perhatikan kode berikut. Yang kita butuhkan hanyalah satu baris untuk mencetak "Hello Word" di konsol.
main = putStrLn "Hello World"
Setelah kompilator Haskell menemukan potongan kode di atas, ia segera menghasilkan keluaran berikut -
Hello World
Kami akan memberikan banyak contoh di sepanjang tutorial ini untuk menunjukkan kekuatan dan kesederhanaan Haskell.