Ada banyak hype di sekitar Haskell, namun, sulit untuk mendapatkan informasi tentang bagaimana itu digunakan dalam aplikasi dunia nyata. Apa proyek / penggunaan paling populer dari Haskell dan mengapa ia unggul dalam memecahkan masalah ini?
haskell
functional-programming
programming-languages
Sergio Tapia
sumber
sumber
Jawaban:
Pengembangan aplikasi yang cepat.
Jika Anda ingin tahu "mengapa Haskell?", Maka Anda perlu mempertimbangkan keuntungan dari bahasa pemrograman fungsional (diambil dari https://c2.com/cgi/wiki?AdvantagesOfFunctionalProgramming ):
Terlepas dari Haskell ini memiliki kelebihan sendiri seperti:
1 / 0
sebagai item pertama dari daftar dan itu akan tetap berfungsi jika Anda hanya menggunakan item kedua.Anda dapat memeriksa tautan berikut:
sumber
x = 5;
menjamin bahwa setelah dijalankan,x
berisi nilai5
.operator =
dipanggil. Dan itu menjamin apa yang terjadi jika Anda tidak mendefinisikanoperator =
Saya pikir orang-orang di posting ini kehilangan poin paling penting bagi siapa saja yang tidak pernah menggunakan bahasa pemrograman fungsional: memperluas pikiran Anda. Jika Anda baru mengenal pemrograman fungsional, Haskell akan membuat Anda berpikir dengan cara yang belum pernah Anda pikirkan sebelumnya. Akibatnya pemrograman Anda di area lain dan bahasa lain akan meningkat. Berapa banyak? Sulit untuk diukur.
sumber
Ada satu jawaban yang bagus untuk apa bahasa tujuan umum seperti Haskell baik untuk: menulis program secara umum.
Untuk apa digunakan dalam praktiknya, saya punya tiga pendekatan untuk menetapkan bahwa:
Menunjukkan bahwa itu baik untuk grafik, jaringan, pemrograman sistem, struktur data, database, pengembangan, pemrosesan teks ...
Dan akhirnya, pendapat saya tentang apa yang benar-benar kuat di:
Saya harap itu memberi Anda pengertian tentang seberapa luas pertanyaan Anda, jika ingin dijawab dengan spesifik.
sumber
Salah satu contoh Haskell dalam aksi adalah xmonad , "manajer jendela penuh fitur dalam kurang dari 1.200 baris kode".
sumber
Dari Haskell Wiki :
Menurut Wikipedia, bahasa Haskell dibuat dari kebutuhan untuk mengkonsolidasikan bahasa fungsional yang ada menjadi bahasa umum yang dapat digunakan untuk penelitian masa depan dalam desain bahasa fungsional.
Hal ini jelas berdasarkan pada informasi yang tersedia yang telah melampaui tujuan aslinya dan digunakan untuk lebih dari sekedar penelitian. Sekarang dianggap sebagai bahasa pemrograman fungsional tujuan umum.
Jika Anda masih bertanya pada diri sendiri, "Mengapa saya harus menggunakannya?", Lalu baca Mengapa menggunakannya? bagian dari Pendahuluan Haskell Wiki.
sumber
Haskell adalah bahasa pemrograman tujuan umum. Ini dapat digunakan untuk apa pun yang Anda gunakan untuk bahasa lain. Anda tidak dibatasi oleh apa pun kecuali imajinasi Anda sendiri. Untuk apa itu cocok? Yah, hampir semuanya. Ada beberapa tugas di mana bahasa fungsional tidak unggul.
Dan ya, saya Rayne dari Dreamincode. :)
Saya juga ingin menyebutkan bahwa, jika Anda belum membaca halaman Wikipedia, pemrograman fungsional adalah sebuah paradigma seperti pemrograman Berorientasi Objek adalah sebuah paradigma. Kalau-kalau Anda tidak tahu. Haskell juga fungsional dalam arti berfungsi; itu bekerja dengan sangat baik pada saat itu.
Hanya karena suatu bahasa bukan bahasa Berorientasi Objek tidak berarti bahasanya dibatasi oleh apa pun. Haskell adalah bahasa pemrograman untuk tujuan umum, dan hanya untuk tujuan umum seperti Java.
sumber
Saya punya yang keren, facebook membuat alat otomatis untuk menulis ulang kode PHP. Mereka mengurai sumber menjadi pohon sintaksis abstrak, melakukan beberapa transformasi:
Saya tidak tahu mengapa, tapi itu sepertinya gaya mereka dan kemudian mereka mencetaknya.
https://github.com/facebook/lex-pass
Kami menggunakan haskell untuk membuat bahasa spesifik domain kecil. Pemrosesan data dalam jumlah besar. Pengembangan web. Laba-laba web. Aplikasi pengujian. Menulis skrip administrasi sistem. Skrip backend, yang berkomunikasi dengan pihak lain. Skrip pemantauan (kami memiliki DSL yang berfungsi dengan baik bersama dengan munin, membuatnya lebih mudah untuk menulis kode monitor yang benar untuk aplikasi Anda.)
Semua jenis barang sebenarnya. Ini hanya bahasa tujuan umum sehari-hari dengan beberapa fitur yang sangat kuat dan berguna, jika Anda cenderung secara matematis.
sumber
false
di sebelah kiri, saya tidak melihat gunanya menggunakan alat untuk melakukannya secara otomatis: jika Anda sudah memiliki==
operator maka Anda sudah tahu Anda tidak memiliki bug yang merupakan bagian dari lex-pass dimaksudkan untuk menangkap, dan jika Anda mendapatkan=
sebaliknya, tidak ada cara pasti untuk mengatakan apakah itu sengaja atau tidak.Dari Haskell :
Pada dasarnya Haskell dapat digunakan untuk membuat apa saja yang biasanya Anda buat menggunakan bahasa tujuan umum lainnya (misalnya C #, Java, C, C ++, dll.).
sumber
Misalnya, untuk mengembangkan aplikasi web HTML5 yang interaktif dan realtime. Lihat Elm , kompiler yang diimplementasikan dalam Haskell dan sintaksinya banyak meminjam dari Haskell's.
sumber
Ini adalah sumber yang bagus untuk info tentang Haskell dan penggunaannya:
Rilis dan Pertumbuhan Haskell Open Source
sumber