- Notation (Gösterim), düşünmeye yardımcı olan önemli bir araçtır ve hem matematikte hem de programlama dillerinde merkezi bir rol oynar
- APL dili, matematiksel gösterimin avantajlarını programlama dilinin çalıştırılabilirliği ve evrenselliğiyle birleştirme girişimi olarak geliştirildi
- İyi bir gösterimin özellikleri arasında yalınlık, açıklık, çağrışımsallık, ayrıntıların alt düzeye indirgenmesi ve biçimsel olarak ispatlanabilirlik yer alır
- Çeşitli matematiksel yapılar (polinomlar, dönüşümler, grafikler vb.) APL ile verimli biçimde ifade edilip dönüştürülebilir
- Gösterimin tanıtılması ve öğrenilmesi, bağlam içinde doğal biçimde gerçekleşmelidir; gösterimin yapısallığı ve genelliği de önemlidir
Düşünme Aracı Olarak Gösterim
- Kimya, botanik gibi bilim alanlarında da sistematik adlandırma, disiplinlerin gelişimini hızlandırır
- George Boole, dilin kendisinin bir düşünme aracı olduğunu vurgulamıştır
- Matematiksel gösterim, düşünmeyi destekleyen dilin temsilî örneklerinden biridir; düşünme yükünü azaltır ve düşünme gücünü artırır
- A.N. Whitehead ve Charles Babbage, matematiksel gösterimin önemini vurgulamıştır
Programlama Dillerinin Düşünme Aracı Olarak Potansiyeli
- Programlama dilleri, genellik ve açıklık gibi güçlü yönlere sahiptir
- Bilgisayar aracılığıyla fikirleri denemek ve açık düşünce deneyleri yapmak mümkündür
- Ancak çoğu programlama dili, matematiksel gösterime kıyasla düşünme aracı olarak daha zayıf kalır
- APL, açıklık ve kesinliği hedefleyerek düşünmeyi destekleyen bir gösterim olarak tasarlanmıştır
İyi Bir Gösterimin Başlıca Özellikleri
- Problemi ifade etme kolaylığı: Problemin doğrudan türettiği yapılar kolayca ifade edilebilmelidir
- Çağrışımsallık: İfade edilen biçim, benzer ya da genişletilmiş problemleri ima edebilmelidir
- Ayrıntıların alt düzeye indirgenmesi: Karmaşık ayrıntıları sadeleştirerek düşünmeyi destekleyen bir yapı sağlamalıdır
- Yalınlık: En az sayıda sembol ve kuralla geniş bir ifade alanı sunabilmelidir
- Biçimsel olarak ispatlanabilirlik: Gösterim, biçimsel ispat ve tümdengelimli akıl yürütmeye elverişli olmalıdır
APL'nin Temel Gösterim Tekniklerine Giriş
- Vektör, matris gibi dizi tabanlı yapıları doğal biçimde kullanır
- Fonksiyonlar ve işleçler, vektör/matrislere öğe bazında otomatik uygulanır
- Redüksiyon(
/), scan(\) ve iç çarpım(.) gibi işleçlerle fonksiyon bileşimleri ifade edilir
⍳, ⌽, ⍴, +, ×, * gibi temel sembollerle zengin ifadeler kurulabilir
- Tüm fonksiyonlar sağ öncelik kuralını izler; böylece parantezsiz doğal ifadeler yazılabilir
Problem Çözme ve Düşünmeyi Teşvik Eden Örnekler
- Üçgensel sayılar, faktöriyel gibi matematiksel diziler basit formüllerle ifade edilebilir
- Polinomların gösterimi ile çarpma, türev alma gibi işlemler tutarlı kurallarla özlü biçimde ele alınabilir
- Grafik kuramı (ağaçlar, geçiş kapanışı, kapsayan ağaç) da dizi işlemleriyle açık biçimde ifade edilebilir
- Permütasyonlar, Boole cebiri, sayı sistemleri dönüşümü (asal çarpanlara ayırma) gibi çeşitli alanlara genişletilebilir
Biçimsel İspat ve Yapılandırılmış Düşünce
- Tüm işlemler ve ifadeler açıkça çalıştırılabilir biçimde yazıldığından bilgisayar aracılığıyla otomatik doğrulama mümkündür
- Matematiksel tümevarım, tam arama ve özdeşliklerin listelenmesi yoluyla çeşitli biçimsel ispat örnekleri sunulur
- Redüksiyon ve scan'in bölünme özelliği (identity) ile iç çarpım işleminin birleşme ve dağılma özellikleri biçimsel olarak ispatlanır
- Newton simetrik fonksiyonları ile polinom çarpımı ve türev formülleri doğrudan ispatlanır
APL ile Geleneksel Matematiksel Gösterimin Karşılaştırılması
- APL, fonksiyonların açık tanımını, tutarlı dizi işlemlerini ve zengin bir sembol sistemini sunar
- Tüm işlemlerde öncelik kuralları yerine sağdan sola yürütme kuralı uygulanır
- Matematiksel sembol kullanımındaki karmaşıklığı azaltır ve biçimsel işleme (
formal manipulation) destek sağlar
- Sözdizimi yalındır, kurallar tutarlıdır; bu da hem yeni başlayanlar hem de uzmanlar için avantaj sağlar
Gösterimin Tanıtılması ve Öğrenilme Yöntemi
- Ayrı bir "dil dersi" olmadan, bağlam içinde gerekli gösterimlerin doğal biçimde tanıtılması yaklaşımı vurgulanır
- Yeni semboller somut problem bağlamlarında sezgisel olarak öğrenilir
- Önemli olan, gösterimin zorluğundan çok onun ima ettiği farklı olanakları ve genişletilebilirliğini fark etmektir
APL'nin Genişletilebilirliği ve Öneriler
- Karmaşık sayı işlemlerini kapsayacak fonksiyon genişletmeleri önerilir
- Unique elements ve summary fonksiyonlarının standartlaştırılmasına ihtiyaç vardır
- Daha genelleştirilmiş işleçlerin eklenmesiyle vektör hesabı gibi ek konular da desteklenebilir
- Hedef, dil tasarımında açıklığı ve akıl yürütme kapasitesini artırmaktır
Verimlilik ve Açıklık Arasında Denge
- Önce açık ve analiz edilebilir bir gösterim tanımlanıp ardından optimizasyonla verimliliğin artırılması önerilir
- Algoritmanın berraklaştırılması, daha sonraki optimizasyon ve derleyici iyileştirmelerine de yardımcı olur
- APL ile yazılan temel ifadeler, hem akademik araştırmaya hem de endüstriyel uygulamalara katkı sağlayabilir
1 yorum
Hacker News görüşü
Notasyon, yalnızca bir ifadeyi başka bir ifadeyle değiştirmekten ibaret değil; daha derin bir anlam taşıyor
APL'nin gerilemesinin nedeni Lotus 123 ve MS Excel'in ortaya çıkmasıydı
Sapir-Whorf hipotezi, dilin düşünceyi sınırlayabileceğini ima eder
APL kullanan bir proje geliştiriliyor
Freeform not uygulamasını tamamlayamamış olmak üzücü
"Düşüncenin aracı" ifadesinin ilk kez kullanıldığı ders bu
İlgili kaynak olarak Iverson'ın "Notation as a Tool of Thought" metnine değiniliyor