Cevap 1:

Bazı iyi cevaplar zaten. Yine de birkaç düşünce ekleyeceğim.

Doğal diller kullanım yoluyla gelişti ve eklemelerin ve değişikliklerin yanlış olduğunu ve dil yeterliliğinde bir düşüşün işareti olduğunu düşünen yaşlıların tahrişine sık sık devam ediyor. Aynı dilde yerel varyantlar bile vardır. Programlama dilleri evrimleşirken, kullanım yoluyla değil, bunu yapma hakkını talep eden komite veya başka bir grup tarafından verilen kararlarla olur. Ayrıca, programlama dillerinin a priori olduğu belirtilir, burada doğal diller kullanımlarına göre tanımlanır.

Bunun birkaç sonucu vardır: Birincisi, doğal dilde bir cümlenin anlamının evrensel olarak üzerinde anlaşmaya varmayabileceği ve hatta zaman içinde değişebileceği. Bir programlama dilindeki bir cümlenin anlamı sadece bir anlama sahiptir (dil tasarımcıları işlerini iyi yaptıysa) ve genellikle zamanla değişmez - yeni yapılar eklenebilir, ancak eski yapılar nadiren anlamı değiştirir.

Çoğu doğal dilde gördüğünüz kavramlar vardır, ancak (neredeyse) programlama dilinde yoktur: Cinsiyetli isimler, dilbilgisi gerginliği (geçmiş zaman, geçmiş mükemmel zaman, şimdiki zaman, mükemmel zaman sunar, vb.) Ve daha fazlası. Benzer şekilde, çoğu programlama dilinde, doğal dilde doğrudan eşdeğeri olmayan kavramlar vardır (bunlar burada açıklanabilmesine rağmen): Değişkenler, fonksiyonlar, vb. Programlama dilleri doğal dillerdeki kavramlardan sonra adlandırılan kavramlara sahip olsa bile, genellikle farklı bir şey ifade ederler. İyi örnekler “nesne”, “yöntem” ve “kalıtım” dır.

Programlama dilleri, doğal dillerden daha fazla noktalama işareti kullanma eğilimindedir - bu, matematiksel gösterimden ödünç aldıkları bir şeydir. Birkaç noktalama işareti kullanan programlama dilleri vardır: COBOL ve LISP akla geliyor, ancak genel eğilim alfabetik olmayan birçok sembol kullanmaktır. Birçok programlama dilinde, satır kesmeleri ve girinti önemli olabilir, ancak doğal dillerde sadece estetik önemi vardır. Bu farkın önemli bir nedeni, doğal dilin konuşulması anlamına gelir (ve yazılı dil bunun zayıf bir emülasyonudur, tonlama ve ritim için uygun araçlardan yoksundur), ancak programlama dillerinin yazılması anlamına gelir. Bir programı yüksek sesle okumaya çalışmak (birkaç istisna dışında) aptalca ses çıkarır.

Daha önceki cevaplardan biri, programlama dillerinin makineler tarafından anlaşılmak üzere tasarlandığını söyledi. Kabul etmiyorum: Programlama dilleri insanların okuması ve yazması için tasarlanmıştır ve makinelerin bunları anlayabilmesi için çevrilmesi gerekir. Bilgisayarları programlamak için doğal dili kullanmamamızın temel nedeni, insanların kendilerini doğal dillerde kesin ve kesin olarak ifade etmede kötü şöhretli olmalarıdır.


Cevap 2:

Programlama dilleri, bağlama duyarlı diller adı verilen diller kategorisine girer.

Özünde her zaman dilin dilbilgisel kurallarına uyarlar ve cümleleri / sözcükleri (bu durumda anahtar kelime / bloklar / değişkenler) ne olabileceğine dair kısıtlama (nasıl akıllıca oluşturuldukları) vardır. Ayrıştırıcı, etiket / op arg, arg gibi formları dönüştürmek için kullanılabilir (derleyiciler / tercümanlar budur)

Doğal dillerin dilbilgisi kuralları vardır, ancak çoğu zaman onları çiğnemekte ve sözcükleri ve cümleleri ne olabileceklerine dair bir kısıtlama getirmemektedir.


Cevap 3:

Programlama dilleri, matematik gösterimleri sistemidir, bunun gibi veya değil. Bunlara dil denilmesi çok talihsiz bir durum. Tek fayda sözdizimi teorisidir. Ve birçok dezavantaj var. Her seferinde çok “doğal olmayan” ya da yeterince “görsel” olmadığına karar verecek “akıllı” bir kişi olacak ve bu programlama ile ilgili temel mesele. Onlar iyi. Otomatik sembolik manipülasyonlar yapan makinelerde süreçleri tanımlamak için kullandığınız için matiği olmalılar.