2 puan yazan GN⁺ 2025-04-04 | 1 yorum | WhatsApp'ta paylaş

Doğal dil ile programlamanın aptallığına yönelik eleştiri

  • Otomatik hesap makinelerinin ilk dönemlerinden beri, biçimsel sembol sistemleri gerektiren programlama tarzından hoşnutsuz olan insanlar vardı
  • Makine, kendisine verilen komutları aynen yerine getiren 'sadık bir köle' olarak, bariz hataları bile olduğu gibi uygular
  • Bazı insanlar makinenin hataları görmezden gelip çalıştırması yerine, daha 'akılcı' davranmasını bekledi

Yüksek seviyeli programlama dillerinin ortaya çıkışı ve gelişimi

  • Makine dili, hata tespiti ya da fazlalık neredeyse içermediği için tehlikeli bir arayüz olarak görülüyordu
  • Buna bağlı olarak yüksek seviyeli programlama dilleri ortaya çıktı ve hata mesajları sayesinde yanlış sonuçları önleyen ilerlemeler yaşandı
  • Ancak programlama hâlâ biçimsel semboller gerektiriyor ve hâlâ dikkatli bir kesinlik istiyor

Makineyi doğal dille programlama iddiası ve buna karşı çıkan görüş

  • Makineyi doğal dille kontrol etmenin kullanıcıyı rahatlatacağı iddia edildi
  • Makine daha karmaşık hâle geldikçe bunun kullanıcıya yardımcı olabileceği düşünüldü
  • Ancak arayüzdeki değişim iş bölümünü ayarlamak yerine, aksine ek işbirliği ve iletişim yükü doğurur
  • Gerçekte arayüz genişledikçe iki tarafın da iş yükü artar ve çoğu zaman sistem daha karmaşık hâle gelir

Matematik ve sembol sistemlerinin tarihsel örnekleri

  • Antik Yunan matematiği, dil ve çizim merkezli yöntemlerde kaldığı için gelişimi duraksadı
  • İslam matematiği de sembol sistemini benimseyemediği için kesintiye uğradı
  • Avrupa ise Vieta, Descartes, Leibniz ve Boole gibi isimlerin biçimsel sembol sistemlerini devreye sokmasıyla sıçramalı bir gelişim yaşadı

Biçimsel dillerin avantajları ve doğal dilin sınırları

  • Biçimsel diller, yalnızca birkaç basit kuralla çok sayıda hatayı önleyebilir
  • Biçimsel semboller, geçmişte yalnızca dahilerin yapabildiği mantıksal düşünmeyi öğrenciler için de mümkün kılar
  • Doğal dil belirsizdir ve içine anlamsız ifadeler karışması kolaydır; bu yüzden hatasız mantıksal ifade için uygun değildir

Girdi/çıktının tek yolu doğal dil olsaydı?

  • Başlangıçtan itibaren makineleri yalnızca doğal dille kontrol etseydik, sonunda yeniden biçimsel sistemlere dönmemizi gerektiren bir 'bootstrap' sürecine ihtiyaç duyacaktık
  • Bu süreç binlerce yıl sürebilirdi ve sonunda yine biçimsel dillere varırdı

Eğitsel gerileme ve 'yeni okuryazarsızlık' olgusu

  • Son birkaç on yılda zihinsel eğitimin zayıflaması nedeniyle birçok insan kendi ana dilini bile düzgün kullanamaz hâle geldi
  • Bilimsel makaleler, teknik raporlar ve devlet belgelerinde anlamsız ifadelerin taşması bunun kanıtıdır
  • Bu olgu, doğal dille programlamanın başarısız olacağını öngörmeye yol açar

Sonuç niteliğinde bir sezgi

  • Doğal dille programlanabilen makineler yapmak, onları kullanmak kadar zor olacaktır

1 yorum

 
GN⁺ 2025-04-04
Hacker News görüşü
  • İnsanların LLM'leri (büyük dil modelleri) savunmasının havalı olduğunu düşünenler var

    • Tersine, orta karmaşıklıktaki projeler koddan doğal dile çevrilirse ne olacağı merak ediliyor
    • Kaynak kodun davranışını ve gereksinimlerini yeterince açıklamanın mümkün olup olmadığı, doğal dil açıklamasının daha anlaşılır olup olmadığı sorgulanıyor
    • Karmaşıklık ve kesinliği yönetmek zor olduğu için çoğunlukla basit uygulamalar gösteriliyor
    • Hukuk dilinin sıradan İngilizce olmamasının bir nedeni var
  • Hal Abelson'ın eski bir sözü akla geliyor

    • Bilgisayar bilimi bir bilim değildir ve bilgisayarlarla da pek ilgili değildir
    • Bilgisayar devrimi, düşünme ve ifade etme biçimlerinde bir devrimdir
    • Matematik, 'ne' konusunda kesin kavramlar sunar; hesaplama ise 'nasıl' konusunda kesin kavramlar sunar
  • Doğal dilin, insanın zihinsel sınırlamalarından kaynaklanan kısıtları var

    • Bir programcı olarak, sorunlar ya da saçmalıklar ancak kod uygulandıktan sonra netleşiyor
    • Bunları doğal dilde tam olarak açıklamak daha fazla zaman alıyor
  • Makine dili gereksiz yere tehlikeli bir arayüz olarak görülüyor

    • Hataları azaltmak için yüksek seviyeli programlama dilleri geliştirildi
    • Rust, hataları açıkça işaret ederek geliştirici lehine çalışıyor
    • LLM'ler yarı zekâlı bir tahmin oyunu gibi hissettiriyor
    • Rust'ın yaklaşımı daha çok tercih ediliyor
  • Programları doğal dille üretmek yerine, doğal dil doğrudan çalıştırılmalı

    • Grafik sistemi ve tic-tac-toe programı örnekleri veriliyor
    • Dosya sistemi ve çok görevli bir işletim sistemi için de prompt gerekiyor
    • Önümüzdeki yılın nisan başında bu tür gelişmelerin beklendiği söyleniyor
  • Doğal dil, kural ve komut aktarmak için uygun değil

    • ABD'deki hukuk yorumu sorunları örnek gösteriliyor
    • Bilgisayar dillerinin açıklığı ve hesap verebilirliği bir denge sağlıyor
  • Belirli alanlara yönelik diller, doğal dilin sunamayacağı kesinlik ve açıklık sağlar

    • Tersini denemek daha fazla iş gerektirir
  • Forth, PostScript ve Assembly; kodun çalıştığı ortamla iyi eşleşen 'doğal' programlama dilleridir

    • 'Doğal'ın kime doğal olduğu soruluyor: insana mı, bilgisayara mı?
    • Yapay zeka, insan dilini bilgisayar için doğal hale getirmez
    • Yapay zeka, kendi ortamına uygun diller icat edecektir
  • Yüksek seviyeli programlama yöntemleri, doğal dilden çok programlama dillerine benzemeye başlayacaktır

    • Programlamak istemiyorsanız, programlamayı yapacak zekâyı yönlendirecek bir yönteme ihtiyacınız vardır
    • Yüksek seviyeli talimat verme yöntemi, doğal dilden çok eğitime benzeyecektir
  • Hataların hata mesajları olarak görünmesi büyük bir iyileşmedir

    • Bazıları, hata mesajlarının görmezden gelinememesini daha can sıkıcı buluyor
    • Programlama dillerinin avantajlarını değerlendirirken, 'programlamanın kolaylığını' hata yapmanın kolaylığıyla bir tutanlar da var