Benzer konuları daha önce bolca tartıştığımızdan konuyu bana havale etmiş Skate
"Yakın Gelecekte Herkes Program Yazabilecek Mi?", elbette şu anda da isteyen herkes program yazabilir
Elbette burada kastedilenin bu olmadığının farkındayım.
Karmaşık ifadeler ve bir grup kafayı kırmış insanın anlayabildiği garip semboller olmadan program yazmakla ilgili bir kaç deneme yapıldı,
Bunlar içinde en beğendiğim 1990'da çıkan Amiga Vision görsel programlama diliydi (bildiğim kadarıyla bu derece görsel olan ilk dildi)
http://www.youtube.com/watch?v=u7KIZQzYSlsYakın zamanda benzer iddialarla çıkan başka örnekleri de var:
http://livecode.com/ (
http://runrev.com/) "Neredeyse ıngilizce" gibi bir yazım şekline sahip olmasına karşın belirli bir karmaşıklığı aşamadığını düşünüyorum.
Benim düşünceme gelince; bu işin hayalimizdeki gibi olmasının "yakın" zamanda olacağını sanmıyorum, öte yandan orta-uzun vadede bu konuda gelişmeler olacağı kesin; örneğin geçenlerde verilen metnin paragraflarının "ne hakkında olduğunu anlayabilen" bir yapayzeka uygulamasına rastladım.
Basit ifadelerle program yazmayı mümkün kılmak için en kuvvetli yolunun Domain Specific Language (DSL) olduğunu düşünüyorum (
http://en.wikipedia.org/wiki/Domain-specific_language); bu, belirli işleri yapmak için tasarlanmış mini diller (ya da bir dilin içindeki bir sub-language) olarak düşünülebilir. Örneğin aşağıdaki ifade tamamen geçerli bir program parçası:
wait until 12:00:00 then send mail
me@example.com "Yemek vakti!"
Eğer bir dil kendi DSL'inizi kolayca yapmanızı sağlıyorsa; müşterinize, kendinize ya da kardeşinize kullanması için "basit" bir dil sunabilirsiniz. Bu noktada günümüz dillerinin pek başarılı olabildikleri söylenemez. Başarılı olamamalarının en büyük nedeni context-independent olmaları, yani IF kelimesinin kullandığımız dilde (Java, C# vb.) her yerde, o bildiğimiz IF (keyword) anlamına gelmesi, farklı bağlamlarda farklı anlamlara gelemiyor olması. Yine de bu konuda umut vadeden çalışmalar var.
Son olarak, hayalimizdeki gibi "ben konuşayım bilgisayar yazsın" noktasına gelmemiz ya da "bana köşeden iki lahmacun kap gel" şeklinde bir programlama diline sahip olmamız çok olası değil, ancak bugünkü kadar karmaşık olmasının bir gereklilik olmadığını biliyorum.