SORU
14 Mayıs 2010, Cuma


Neden't fonksiyonel programlama henüz ele değil mi?

Bildirimsel/işlevsel programlama (dil) hakkında bazı metinler, Haskell denedim de kendimi yazılı okudum. Gördüğüm kadarıyla fonksiyonel programlama klasik buyurgan tarzı üzerinde birçok avantajı vardır:

  • Vatansız programları; Hiçbir yan etkisi
  • Eşzamanlılık; çoklu çekirdek teknolojisi yükselmesi ile son derece güzel Oynuyor
  • Programlar genellikle daha kısa ve bazı durumlarda daha kolay okunur
  • Verimlilik artar (örnek: eğer x)

  • Zorunlu programlama çok eski bir paradigma (bildiğim kadarıyla) ve 21'inci yüzyıl için muhtemelen uygun değildir

Neden şirketler veya programlar işlevsel dilde yazılmış kullanma hala da öyle ""? nadir

Neden fonksiyonel programlama avantajları baktığımızda, hala zorunlu programlama dilleri kullanıyoruz?

Belki 1990, ama bugün için çok erken oldu?

CEVAP
14 Mayıs 2010, Cuma


Tüm bu avantajları da dezavantajları vardır çünkü.

Vatansız programları; Hiçbir yan etkisi

Gerçek dünya programları yan etkileri ve mutasyon hakkında. Kullanıcı bir düğmeye bastığında bir şey olmasını istiyorum çünkü. Onlar bir şey yazdığınızda, bu devlet eskiden ne olursa olsun değiştirmek istiyorlar. Muhasebe Jane Smith evli alır ve Jane Jones ismini değiştirdiğinde, veritabanı onun maaşının yazdıran iş süreci destek daha iyi hakkında mutasyon bu tür bir işleme vardı. Ne zaman ateş makineli tüfek de yabancı, ama önce zihinsel model olarak yapımı yeni bir yabancı ile daha az puan; model olarak bir mutasyon mevcut bir uzaylının özellikleri.

Programlama dili kavramları temelden etki modellenmiş karşı çalışmak çok zor bir dil kullanarak haklı.

Eşzamanlılık; çoklu çekirdek teknolojisi yükselmesi ile son derece güzel Oynuyor

Sorun sadece etrafında itti. Veri yapıları değişmez muhtemelen eski veri ile çalışma pahasına ucuz iş parçacığı güvenliği var. Veri yapıları değişken ile her zaman karmaşık mantığı yazmak zorunda pahasına taze verilere çalışma parası verileri tutarlı tutmak gerekir. Birisi diğerinden daha açıkçası daha iyi değil.

Programlar genellikle daha kısa ve bazı durumlarda daha kolay okunur

Okumak için daha uzun ve zor olduğu durumlar hariç. Öğrenme nasıl okumak için programlar yazılmış bir fonksiyonel tarzı zor bir beceri; insanlar galiba çok daha iyi hamile kalma programları gibi bir dizi adımları takip gibi bir reçete olarak değil, bir dizi hesaplamalar için gerçekleştirdi.

Verimlilik artar (örnek: eğer x)

Verimlilik işlevsel bir tarzda program bilen programcı tutmak için büyük harcama haklı çıkarmak için bir sürü gitmek zorunda.

Ve unutma, sen istemiyorsun atmak bir çalışma sistemi; birçok programcı olmayan bina yeni sistemler sıfırdan ziyade korumak varolan sistemleri, en çok hangi inşa edildi işlevsel olmayan bir dil. Hissedarlara bu haklı çıkarmaya çalıştığınızı düşünün. Neden milyonlarca dolar pahasına yeni bir tane oluşturmak için varolan çalışma bordro sistemi hurda mü? "Fonksiyonel programlama harika çünkü" hissedarları memnun etmek mümkün değildir.

Zorunlu programlama çok eski bir paradigma (bildiğim kadarıyla) ve 21. yüzyıl için muhtemelen uygun değildir

Fonksiyonel programlama çok çok eski. Kavramının yaş konumuzla ilgili olduğunu düşünmüyorum.

Beni yanlış anlamayın. Fonksiyonel programlama seviyorum, C fonksiyonel programlama kavramları getirmek istedim çünkü bu takıma katıldım# ve değişmez bir tarzda programlama geleceğin yolu olduğunu düşünüyorum. Ama vardırçok büyük masrafişlevsel bir tarzda programlama için sadece uzak diledi olamaz. Daha işlevsel bir tarzı doğru kayması yavaş yavaş on yıl gibi bir süre içinde gerçekleşecek. Ve şu olacak: daha işlevsel bir tarzı doğru bir kayma, Haskell saflık ve güzellik ve C terk bir toptan kucaklayarak değil .

Yaşamak için Derleyiciler yapıyorum ve kesinlikle derleyici araçları yeni nesil fonksiyonel bir stil kucaklıyoruz. O fonksiyonel programlama temelde karşılaştığımız sorunlarımızdan için iyi bir maç çünkü. Sorunlarımız hakkında -- dizeleri ve * * * * - ham bilgi almak ve farklı dizeler ve meta dönüştürülmesi. Biri IDE yazmak gibi mutasyonlar oluştuğu durumlarda, sorun alanı doğal olarak kademeli olarak değiştiren ağacın kısımları yeniden oluşturma gibi fonksiyonel teknikler kendisini ödünç.Birçok etki onlara fonksiyonel bir stil için açıkçası mükellef bu güzel özellikleri yoktur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BDGcustoms

    BDGcustoms

    24 NİSAN 2011
  • bmarian22

    bmarian22

    22 Aralık 2007
  • New Challenger - Game Reviews

    New Challeng

    20 Temmuz 2006