Evet! Evet! Evet! Bunu yapmak çok mantıklı. Ve bunu yıllardır yapıyorum.
Açıklama 1: İngilizce benim ana dilim değil.
Açıklama 2: İngilizce dilbilgisi konusundaki bilgim, anadili İngilizce olanlardan oldukça iyidir.
Açıklama 3: İnsanlarla iletişim söz konusu olduğunda, ben Nazik bir dilbilgisi diliyim.
Ve şimdi bu açıklamalar yoldan çıktığı için, İngilizce dilbilgisinin kodda yeri olmadığını söyleyeyim. Görüyorsunuz, bu yüzden nesir değil kod denir . Okunabilirlik amacıyla insanlar tarafından anlaşılan bir dile benzemesi gerekiyor, ancak bunun dışında koddan en çok ihtiyacımız olan şey nesir nitelikleri değil; hassasiyet , belirsizlik ve terslik gibi daha teknik niteliklerdir . Bu yüzden C sözdizimi Cobol sözdizimine göre daha çok tercih edilir . Doğal dili anlayan derleyicilerin cazip olduğu iddia edilen bir yanlışlıktır ve bunun için sözümü almayın, ol'Edsger'in bu konuda ne söylediğine bakın:if( x != y ) y++;
IF X IS NOT EQUAL TO Y THEN ADD 1 TO Y END-IF.
Edsger W. Dijkstra, "Doğal dil programlama" nın aptallığı hakkında .
Önemli olan bir diğer kalite de tanımlayıcıların hesaplanabilirliğidir . Çağrılan bir özelliğin Color
her zaman çağrılan getColor()
ve çağrılan bir yöntemle yazılabilen bir yöntemle okunabilmesi setColor()
büyük önem taşımaktadır. Bu tanımlayıcılar mülk adından hesaplanabilir, bu yüzden onları ezbere bilmek zorunda değilsiniz. Bir programcı getColor()
bir yandan bir çift yöntem seçecekse colorize()
, diğer yandan meslektaşları haklı olarak bu sabotajı düşüneceklerdi. Tanımlayıcı hesaplanabilirliği bu kadar önemlidir.
Ayrıca, bu adları hesaplayabilen programlama araçları da yazılabilir (ve bunların çoğu, örneğin Hazırda Beklet ). Tanımlayıcı adı hesaplanabilirliği olmadan, her bir araca her bir tanımlayıcı adının nasıl tam olarak nasıl oluşturulacağını veya her bir varlığa tam olarak hangi ad hoc adını verdiğinizi belirtmek için ek sözdizimi (örn. Hazırda Beklet, ek açıklamalarda) kullanmanız gerekir.
Bu nedenle, tanımlayıcı hesaplanabilirliği önemlidir, ancak aynı zamanda İngilizce dilbilgisi önemsizdir (doğal dil programlaması yapmadığımız için), böylece bir varlık koleksiyonunun adını her zaman ada "s" ekleyerek hesaplayabilmek için tek bir örnek mükemmel mantıklıdır, çoğu insanın (benimki dahil) İngilizce dil hassasiyetlerini ihlal ettiği gerçeğini boş verin.
İster beğenip beğenmeyelim, bu geleceğin trendi. Gezegendeki programcıların çoğunun ana dili artık İngilizce değil ve eğilim bu yönde çok güçlü olmaya devam ediyor . (Ayrıca, şu anda ABD'de çalışan programcıların çoğunun ana dili olan İngilizce'nin önerisi üzerine para bahse girmeye bile istekli olmazdım.) Bunlar, büyük ölçüde, adı hesaplamaya çalışırken insanlar tek bir "şirket" örneğinin adından bir koleksiyon, sadece bir "s" ekleyecek ve "şirketler" formu bile aklını bile geçmeyecek. Dünyadaki programcıların büyük ve giderek artan bir yüzdesine göre, İngilizce dilinin özelliklerinin bilinmesi, çalışmalarına herhangi bir değer katmaz, sadece biraz daha zorlaştırır.