4 puan yazan GN⁺ 2024-07-19 | 2 yorum | WhatsApp'ta paylaş
  • Bir bilgisayar bilimi öğrencisi olarak Prolog ve mantıksal programlama üzerine çalışıyorum
  • Düz Prolog'un temellerini (atomlar, predikatlar, cut, listeler vb.) öğrendim ve SICStus Prolog'da çalışan, ajanlar arası iletişim sisteminin korkunç bir implementasyonunu gördüm
  • Dilin kendisinin güçlü yanları olabileceğini düşündüğüm için daha fazlasını öğrenmek istiyorum
  • Çalıştığım alan oldukça temel bir alan olduğu için hem bu dünyaya hem de gerçekten sevdiğim diğer dünyaya (ontolojiler :D) dair bilgimi genişletmek ve uzmanlaşmak istiyorum
  • 2024'te Prolog'un nasıl bir durumda olduğunu ve insanların Prolog ile neler yaptığını merak ediyorum

2 yorum

 
cometkim 2024-07-19

Prolog’un kendisi değil ama Constraints kavramının kullanılmaya devam edeceği konusunda ben de hemfikirim.

DB gibi alanlarda da çok kullanılıyor ve en ileri programlama dilleri arasında Datalog’u birinci sınıf olarak desteklemeye yönelik girişimler de var. (örnek: https://flix.dev/)

 
GN⁺ 2024-07-19
Hacker News görüşleri
  • Prolog, 50 yıllık bir geçmişe sahip bir dil ve genel amaçlı programlamada faydadan çok engel çıkarabiliyor

    • Çok sayıda Prolog sistemi var, ancak az miktarda Prolog kodu olduğu için topluluk parçalanmış durumda
    • Prolog öğrenmek, "Bu Prolog'da nasıl yapılır?" sorusundan çok "Prolog'da tökezlemeden bunu nasıl yaparım?" sorusuna benziyor
    • Bazı adanmış kişiler ve idealistler Prolog'un potansiyelini tartışıyor
    • Prolog ilginç ve eğlenceli yönlere sahip, ama riskli de olabilir
  • Scryer Prolog, yüksek performanslı açık kaynaklı, ISO uyumlu bir Prolog olarak yeni bir dönüm noktasına ulaşıyor

  • Prolog ve Constraint programlama faydalı araçlardır

    • Prolog'un bazı sorunları var
      • Modern bir modül veya paket sistemi yok
      • Büyük kod tabanlarında mantıksal olmayan yapı kaçınılmaz hale geliyor ve kod karmaşıklaşıyor
      • Statik ve güçlü tipler olmadığı için sağlam kod yazmak zorlaşıyor
    • Prolog harika bir dil ve programlamanın geleceğinde bir yeri olabilir
  • Teorik olarak Prolog en iyi dildir

    • Mantıksal biçimsellik, hesaplama dili ve meta programlama dili olma özelliklerine sahip
    • Pratikte ise yüksek performanslı uygulamaları ve küçük bir topluluğu var
    • Prolog ile çok şey yapılabilir, ancak bunların nasıl yapılacağı çoğu zaman net değildir
  • Yeni insanların Prolog'a ilgi duyması iyi bir şey

    • Trealla Prolog'u Wasm üzerinde kolayca kullanmayı sağlayan bir kütüphane geliştiriliyor
    • Bağlantılar: TypeScript Library, Go Library
    • Scryer ve Trealla, ISO uyumluluğunu hedefliyor
  • Prolog yeni bir düşünme biçimi gerektiren bir dil

    • Bildirimsel paradigma güzel, ancak diğer dillere kıyasla büyük bir avantaj sunmuyor
    • CLPFD uygulanabilen problemlerde oldukça ifade gücü yüksek
    • LLM kullanarak Prolog olguları/veritabanı üretmek eğlenceli
  • Prolog'un "büyüsü", birleştirme ve geri izleme kavramlarına dayanır

    • Bildirimsel bir dil olarak ters problemleri basitçe ifade edebilir, ancak çözümü kendisi vermez
    • Çözüm motorları geliştikçe Prolog gibi bildirimsel kısıt programlama dillerinin kullanımı artacaktır
  • Prolog hakkında neredeyse hiçbir şey bilmiyorum, ama Datalog eğitimini beğendim

  • Mantıksal programlamadaki arama algoritmaları yavaştır

    • Prolog her şeyi yapabilir, ama her şeyi iyi yapmaz
    • Prolog, veritabanı bakımı gibi belirli işler için uygundur