/Haskell VE LISP ve Haskell OR Lisp
Haskell VE LISP ve Haskell OR Lisp
Şu anda C, C++ ve Python ile kod yazıyorum. İşlevsel bir programlama dili seçmek istiyorum ve şu anda Haskell'e doğru eğildim. Burada bir "Haskell vs LISP" savaşı başlatmak istemiyorum; bilmek istediğim şudur: Haskell'i öncelikle fonksiyonel programlamaya maruz kalmayı öğrenirsem, eğer daha sonra Lisp öğrenmekten ne gibi yararlar elde edeceğim?
13 Kas 2010 Zeke
Önce Haskell, sonra Common LISP'yi öğrenmenizi öneririm. Haskell ile yaşadığım deneyim, statik yazımın ilk başta kısıtlayıcı bir sıkıntı gibi göründüğüydü, ancak bir kez alıştım, tip hataların çoğunun arkasında saklanan mantık hataları olduğunu fark ettim. Bu noktaya geldiğinizde ve türlerde düşünmeyi ve kendi türlerinizi çözümünüzü ifade etmenin bir yolu olarak tanımlamayı öğrenen bir sonraki dönüm noktası, Ortak LISP için hazır olacaksınız.
Common LISP ile, Monad'ları, köriyi ve Haskell'den beğendiğiniz her şeyi ekleyebilirsiniz, ancak Frank Shearar'ın bahsettiği gibi çoklu kalıtım ve çoklu sevkıyatlı genel fonksiyonlar ve gelişmiş bir istisna işleme sistemi elde edersiniz.
Öyleyse neden sadece önce Ortak LISP'yi öğrenmek değil? Yordamsal ve OOP arka planından geldiğimde, benim deneyimim, yalnızca tamamen kullanmam gerekene kadar fonksiyonel programlamayı gerçekten anlamadım. İşlevsel programlama rahat olduktan sonra, Common LISP'nin sunduğu araçlar ve eldeki görevde en iyi olan aracı kullanın.
13 Kas 2010 Larry Coleman
Haskell size en azından bildiğim kadarıyla FP'nin en safını öğretiyor, tıpkı Smalltalk'ın OO'nun en safını öğrettiği gibi. (Bunu OO ve FP evlenemediğini, ancak her iki dilin de “mücevher” dilleri olduğu için önermiyorum.) Aşırı.)
LISP gerçekten bir dil ailesidir, bu yüzden Common LISP hakkında konuşacağım çünkü bu benim kullandığım ailenin belirli bir üyesi.
LISP'nin size öğretecek çok şeyi olacak:
Bu multaradigm, dsimcha dikkat çekiyor size FP diğer paradigmalarla nasıl entegre edeceğinizi gösterecektir.
LISP size, örneğin makroları aracılığıyla "kod-veri, veri-kod" olduğunu öğretecektir.
CLOS, işe yarayan çoklu kalıtım ve genel işlevlere sahip çok ilginç bir OO markasıdır.
13 Kas 2010 Frank Shearar
Haskell ve LISP birbirinden tamamen farklı iki canavardır.
Haskell "fildişi bir kulede saf fonksiyonel programlama" türünde
LISP, "code-is-data/data-is-code/kendi dil yapılarınızı oluşturur" türündedir. Kodunuzu hayal edebileceğiniz herhangi bir şekilde değiştirebilirsiniz.
Onlar çok farklı. Her ikisi de "işlevsel programlama" yönünü paylaşıyor, ancak bu farklılıklarına kıyasla gerçekten küçük bir ortak nokta. Sadece deneyin ve ne kadar farklı olduklarını göreceksiniz!
10 Eyl 2011 dagnelies
LISP'yi daha sonra öğrenmek, mevcut en gelişmiş metin editörü olan Emacs'ı özelleştirmenize izin verecektir. Haskell'de bunu yapamazsın.
13 Kas 2010 user1249
LISP öğrenmekten gördüğüm temel fayda, yalnızca saflığı vurgulayan bir akademik dil bağlamında öğrenmektense, FP) gerçek dünyaya yönelik çokdilli bir dile nasıl entegre edileceğini öğrenmektir.
13 Kas 2010 dsimcha
Ayrıca bir C/C++/Python geçmişinden geldim ve FP son birkaç yılda birkaç kez denedim. Başlangıçta Haskell'e baktım ve başını veya kuyruğunu yapamadım. , sonra Ocaml denedim ama daha fazla alamadım.Sonunda Scala hakkında iyi şeyler duymaya başladım, denedim ve bana çok uygun buldum (ayrıca Java) = geçmişte), Scala (ve onunla 161 Project Euler problemlerini göndererek) içinde bir yıl geçtikten sonra, Haskell çok daha mantıklı görünüyor. Haskell hakkında birkaç kitap sipariş ettim ve başka bir şans vermek istiyorum, ancak bu Scalaz'ın varlığı tarafından büyük ölçüde motive ediliyor.
Bu yüzden çok paradigma dili (Scala, ancak LISP muhtemelen tasarıyı da sığdıracak) kullanarak FP'ye iyi bir yol buldum. Ama eğer Haskell'e dalmaktan mutluysan (ben değildim), git.
14 Kas 2010 timday
Başlangıçta bir C/C++/Ruby arka planından geldim ve yapabildiğim her zaman FP içinde Ruby kavramlarını kullandım. Devlet biraz beynime zarar verdi. Arkadaşlarımdan biri beni bir gün çağırdı ve Haskell'de bir şeyler yazmamı istedi (ilk - ve umarım son değil - Haskell işi!). Dili çabucak öğrendim ve işe yarayan bir şey attım. Güzel ya da hiçbir şey değildi, ama işe yaradı.
Haskell'den bir ay ara verdim çünkü kullanacak hiçbir şeyim yoktu. Ama kendi blog yazılımımı yazmam gerektiğine karar verdiğimde Haskell ( https://symer.io ) kullandım. Haskell gerçekten harika çünkü parçaları parçalara ayırabilir ve bu parçaları girdiye göre farklı şekilde uygulayabilirsiniz. Haskell ayrıca değerlerin akıllı boksu yoluyla başarısızlığı son derece iyi idare eder. Bu kutularla çalışmak için o kadar çok araç var ki, sadece var olduklarını unutuyorsunuz.
C++, bellek yönetimi dışında Haskell'e mum tutamaz. Haskell, daha hızlı (daha hızlı değilse), önemli ölçüde daha kısa ve çok daha güvenlidir. Ancak Haskell'in güvenliği asla engel olmaz.
TL; TR Haskell temiz bir nefes ve LISP biraz daha işlevsel bir Ruby.
21 Nis 2015 Nate Symer
LISP ve Haskell kullanmanın avantajları nelerdir? Beni daha iyi bir programcı yapacaklar mı?
Fonksiyonel Programlamaya Giriş için Şema mı Haskell mi?
Babam programlamayı öğrenme hızımla sabırsız. Ben ne yaparım?