Nedir (fonksiyonel) reaktif programlama? | Netgez.com
SORU
22 HAZÄ°RAN 2009, PAZARTESÄ°


Nedir (fonksiyonel) reaktif programlama?

reactive programming Wikipedia makale okudum. Ayrıca functional reactive programming küçük yazı okudum. Açıklamaları oldukça soyut.

Fonksiyonel reaktif programlama (CTP) pratikte ne anlama geliyor? Reaktif programlama (non-reaktif programlama karşıt?) oluşur? Geçmişimi zorunlu/OO dillerde, bu paradigma ile ilgili bir açıklama duyacağız.

CEVAP
23 HAZİRAN 2009, Salı


Eğer FRP için bir fikir almak isterseniz, eski resimler hareketli olan 1998, Fran tutorial başlayabilirsin. Kağıtları için Functional Reactive Animation ile başlar ve benim ana sayfasında yayınlar ve Bağlantı Haskell wiki FRP link bağlantıları takip edin.

Şahsen, CTP ne hakkında düşünmek istiyorumdemektireklenmemiş olabilir nasıl hitap önce. (A girmeden kod sorusuz bir cevaptır.) Thomas K başka bir cevap (grafikler, düğümler, kenarlar, ateş, infaz, vb) gibi temsil/uygulama açısından FRP açıklamak istemiyorum. Birçok olası uygulama yöntemi var, ama uygulaması yok ne FRP diyor.

FRP hakkında Laurence G basit açıklama ile rezonansa ediyorum "değeri temsil eden veri 'zaman içinde".' Geleneksel zorunlu programlama sadece dolaylı olarak bu dinamik değerleri, devlet ve mutasyonlarla yakalar. Tam tarihini (geçmiş, şimdiki zaman ve gelecek zaman yok birinci sınıf temsil etti. Ayrıca, sadecefarklı bir şekilde gelişiyordeğerleri zorunlu paradigma geçici olduğu (dolaylı olarak) yakalanan, ayrık olabilir. Buna karşılık, CTP bu değişen değerleri yakalardoğrudanve hiçbir zorluk vardırsürekligelişen değerler.

FRP teorik ve pragmatik fareler' zorunlu eşzamanlılık veba yuvası.bir şeye takılmış çalışan olmadan eş zamanlı demek oluyor ki sıradışı Anlamsal, CTP bu eşzamanlılıkiyi ayarlanmış,belirlivesürekli. (Anlamı, uygulama değil, senden bahsediyorum. Bir uygulama veya eşzamanlılık ya da paralellik içerebilir.) Semantik kararlılıkla muhakeme için çok önemli, hem de titiz ve gayri resmi. Eşzamanlılık zorunlu programlama (belirleyici olmayan serpiştirmeye nedeniyle) çok büyük bir karmaşıklık ekler ise, CTP içinde zahmetsiz.

CTP nedir? Kendin icat olabilir. Bu fikir ile baÅŸlar:

  • Dinamik/geliÅŸen deÄŸerler (yani, deÄŸerler "zamanla") birinci sınıf deÄŸerleri kendilerini. Onları tanımlamak ve onları birleÅŸtirmek dışarı fonksiyonları içine ve onlara iletebilirsiniz. Ben bunları diye. davranışlar

  • Davranışları sıralı ve paralel kombinasyonu ile bir kaç temel öğeler, (statik) davranışları ve Saat (bir saat gibi) sabit, ve sonra inÅŸa edilir.ndavranışları uygulayarak bir n-li fonksiyonu (statik deÄŸerler), "nokta-bilge", yani, zaman içinde sürekli. tarafından birleÅŸtirilir

  • Ayrık olaylar için hesap için, baÅŸka bir türü (Aile) "olaylar", her hangi bir akış (sonlu ya da sonsuz) olaylar vardır. var Her olay bir zaman ve deÄŸer iliÅŸkili vardır.

  • Olan bütün davranışları ve olayları inÅŸa edilebilir kompozisyon kelime ile gelip, bazı örnekler ile oynamak. Daha genel/basit parçalara sıyrılmaya tutun.

  • Çok biliyorsun sen de saÄŸlam bir zemin, bütün model bir kompozisyon Vakfı, kullanma tekniÄŸi denotational anlambilim, sadece anlamına gelir (a) her tür bir karşılık basit ve kesin bir matematiksel tür "anlam", ve (b) her ilkel ve operatör basit ve kesin bir anlamı, bir iÅŸlevi anlamları getirilmiÅŸtir. Asla ve aslakeÅŸif süreci içine karışımı uygulama konuları. EÄŸer bu açıklama size manasız geliyor, bakınDenotational design with type class morphisms(b)Push-pull functional reactive programming(uygulama bit) göz ardı, ve (c) 8**. Denotational semantiÄŸi iki parça, iki kurucuları Christopher Strachey ve Dana Scott onun vermesi gereken dikkat: daha kolay & daha faydalı Strachey ve daha sert ve daha az yararlı (yazılım tasarımı) Scott parçası.

Eğer bu prensiplere sadık kalacaksan, FRP ruhu içinde bir şey daha fazla veya daha az alırsın.

Nerede bu ilkeler aldım mı? Yazılım tasarımı dalında, hep aynı soruyu soruyor: "bu ne anlama geliyor?". Denotational semantik beni bu soru için kesin bir çerçeve, ve benim estetik (beni tatmin etmek gerek hem operasyonel veya aksiyomatik semantik aksine) uygun olanı verdi. Kendi kendime sordum davranış nedir? Ben yakında zorunlu hesaplama geçici ayrık doğası belirli bir tarzı, bir eksiklik olduğunu fark ettimmakinedavranış doğal bir açıklama yerine. Aklıma davranış, en basit kesin açıklama sadece (sürekli) zaman", benim model." anlamına geliyor Nefis, bu model kolay ve zarafet ile sürekli, deterministik eşzamanlılık işler.

Oldukça zor bu model doğru ve verimli bir şekilde uygulamak oldu, ama bu başka bir hikaye.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • mist64

    mist64

    30 Mayıs 2006
  • SellerDp

    SellerDp

    27 EKÄ°M 2009