SORU
15 Mart 2011, Salı


Ne "reify" ve "maddeleştirme" kapsamında (işlevsel?) yani programlama mı?

Bu dönem haskell fonksiyonel programlama bloglar hakkında çok şey okudum (özellikle sigfpe's blog) ama ne demek olduğu konusunda en ufak bir fikrim yok. Uzakta çoğu kez bilmeden, ama muhtemelen eğer bilseydim çok daha iyi metinler anlaşılır olurdu. Google bana yardımcı olmadı. Teknik şeyleri kaybediyorum.

Ayrıca dünya dışı teknik anlamı ("soyut somut dönüm") ben hemen kodu. bir şey reify için ne anlama geldiğini anlamak yardımcı olmuyor

Bilgisayar bilimleri kavramları ile biraz yavaşım, kod ile pratik örnekler güzel olurdu. :P

CEVAP
15 Mart 2011, Salı


Bunu okudum ve ne anlama geldiğini oldukça soyut bir kavram alarak ve beton. Ya da, soyut bir kavramı temsil eden bir vekil var. Lisp örneğin, yordam soyutlama ve uygulama kavramı Lambda kullandığınızda şeyleşiyor.

Kendisi tarafından maddeleştirme geniş bir kavramdır ve sadece geçerli ve fonksiyonel programlama dilleri değil.

Örneğin Java, çalışma zamanında kullanılabilir türleri vardır. Bu reifiable türleri vardır. Anlamı, çalışma sırasında bu tür soyut bir kavramı, somut bir temsili var. Buna karşılık, non-reifiable türleri vardır. Bu Java jenerik kullanımı sırasında özellikle belirgindir. Java, jenerik tip-bilgi zamanı sırasında mevcut parametreli tür sınırsız joker kullandığı sürece olmayan bu tür silme tabi, ve çok genel.

Başka bir örnek bir konsept model için çalıştığınızda. Örneğin, Group a sınıfı User bir sınıf olduğunu varsayalım. Şimdi bu ikisi arasındaki ilişkiyi tanımlayan bazı soyut kavramlar vardır. Örneğin, User bir soyut kavramı Group bir üyesi olmak. Bu ilişki somut hale getirmek için User Group bir üyesi olup olmadığını yazan bir yöntem isMemberOf adlı yazarsınız. Yani yaptığın her şey varşeyleşiyor(gerçek/yapılan, açık/somut)soyut bir kavramgrup üyeliği.

Başka bir iyi örnek, Ana-Çocuk nesneleri arasındaki ilişkiler bir veritabanıdır. Bu ilişkide tarif edebilirsinizsoyut bir kavrambir ağaç. Şimdi veritabanından bu verileri alır ve bir oluşturur fonksiyon/metod olduğunu varsayalımgerçekTree nesne. Şimdi ne yaptınşeyleşiyorebeveyn-çocuk soyut kavram-ağaç gibi bir ilişki içinegerçekTree nesne.

Fonksiyonel diller için genel geri geliyor, belki de maddeleştirme en iyi örnek Lisp programlama dilinde kendini oluşturulmasıdır. Lisp tamamen soyut ve teorik yapısı (temel bilgisayar dilleri için sadece matematiksel bir gösterim). Lisp aslında bir IBM 704 Steve Russel tarafından hayata geçirildi fonksiyonu eval kadar bu şekilde kaldı:

Hacker Ve Ressamlar Paul Graham tarafından bildirildiği ne göre, p. 185, McCarthy şunları söyledi: "Steve Russell dedi, bak, en iyisi ben bu programı eval... ve dedim ki, ho, ho, sen karmaşık bir teori ile pratik, Bu eval yöneliktir okuma değil, bilgisayar. Ama ileri gitti ve yaptım. Yani IBM 704 makine koduna tezimde eval, hata tespit araya getirmiş ve o zaman kesinlikle hangi Lisp yorumlayıcısı, bu reklamı. Bu noktada Lisp var aslında form bugün çok..."

Yani Lispşeyleşiyorgerçek bir programlama dili soyut bir kavram.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • cyriak

    cyriak

    29 Mart 2006
  • Joshua Kywn

    Joshua Kywn

    17 Mayıs 2010
  • USI Events

    USI Events

    6 AĞUSTOS 2013