Bence farkın dilin kullanım amacı ile ilgisi var.
Örneğin, Python yorumlanır ve Prolog gibi derleme ve bağlantı gerektirmez. Her ikisini de programlama dilleri olarak sınıflandırırdım.
Programlama dilleri yazılım yazmak içindir. Büyük projeleri yönetmek için tasarlanmıştır. Muhtemelen programları arayabilir, dosyaları okuyabilirler, ancak bunda bir betik dili kadar iyi olmayabilirler.
Komut dosyası dilleri büyük ölçekli yazılım geliştirme için tasarlanmamıştır. Sözdizimleri, özellikleri, kitaplıkları, vb. Küçük görevleri hızlı bir şekilde yerine getirmeye odaklanmıştır. Bu, programlama dillerinden bazen daha "hackish" oldukları ve aynı hoş özelliklerin hepsine sahip olmayabilecekleri anlamına gelir. Bir grup dosyada yineleme yapmak veya sysadmin görevleri gerçekleştirmek gibi yaygın olarak gerçekleştirilen görevleri otomatikleştirmek için tasarlanmıştır.
Örneğin, Bash güzel bir şekilde aritmetik yapmaz, bu da büyük ölçekli yazılım yazmayı kabus haline getirir.
Bir tür ölçüt olarak: Perl'de asla bir müzik çalar yazmam, muhtemelen yazabilseydim. Benzer şekilde, asla verilen bir klasördeki tüm dosyaları yeniden adlandırmak için C ++ kullanmaya çalışmazdım.
Bu çizgi bulanıklaşıyor ve bulanıklaşıyor. JavaScript, tanımı gereği bir "betik" dili, giderek daha fazla yazılım alanında olan "web uygulamaları" geliştirmek için kullanılmaktadır. Benzer şekilde, Python başlangıçta bir betik dilinin özelliklerinin çoğuna uyuyor, ancak birincil platform olarak Python kullanılarak daha fazla yazılım geliştirildiğini görüyor.