Çoğunlukla bu bir tesadüf.
Programlama dilleri zamanla gelişti ve derleyici ve tercüman teknolojisi gelişti. Temel işlemenin verimliliği (yani derleme süresi, yorumlama yükü, yürütme süresi vb.) Ana akım bilgi işlem platformlarının gücü arttıkça daha az önemlidir.
Dil sözdizimi yapar örneğin, Pascal çok dikkatli tek geçişli derleyici kullanmak böylece tasarlanmıştır - - kaynağının üzerinde yani bir geçiş ve excutable makine koduna sahip bir etkisi var. Diğer yandan Ada buna dikkat etmedi ve Ada derleyicilerinin yazması çok zor - çoğu birden fazla geçiş gerektiriyor. (Yıllar önce kullandığım çok iyi bir Ada derleyicisi 8 geçişli bir derleyiciydi. Tahmin edebileceğiniz gibi çok yavaştı.)
Fortran (derlenmiş) ve BASIC (yorumlanmış veya derlenmiş) gibi eski dillere bakarsanız, çok sıkı sözdizimi ve semantik kuralları vardır / vardı. [BASIC durumunda, bu eski BILL TEMEL değil, bundan önce orijinaline geri dönmeniz gerekir.]
Öte yandan, APL (bir sürü eğlence) gibi diğer eski şeylere bakmak, bunun dinamik bir yazımı vardı. Aynı zamanda genel olarak yorumlanmıştır, ancak derlenebilir.
Yumuşak sözdizimi zor bir sorundur - bu, isteğe bağlı veya çıkartılabilecek şeylere sahip olduğunuz anlamına gelirse, dilin alınabileceği kadar zenginliğe sahip olduğu anlamına gelir. Daha sonra BASIC, yıllar önce "LET" ifadesinin isteğe bağlı hale geldiği zaman oldu!
Şu anda gördüğünüz fikirlerin çoğu (örneğin, daktilo veya dinamik yazım) aslında çok eskidir - ilk olarak 1970'lerde veya 1980'lerin başında ortaya çıkıyor. Kullanım şekilleri ve bu fikirlerin kullanıldığı diller değişti ve büyüdü. Ama temelde, yeni olanların çoğu aslında yeni kıyafetler giymiş eski şeyler.
İşte başımın üstünden bazı örnekler:
- APL: dinamik yazma. Genel olarak yorumlanır. 1960'lardan / 1970'lerden geldi.
- TEMEL: güçlü veya dinamik yazma. Yorumlanmış veya derlenmiş. 1970'ler ve daha fazlası.
- Fortran: güçlü yazma. Derleyen. 1960'lar veya öncesi.
- Algol68: güçlü yazma. Derleyen. 1960'lar.
- PL / 1: güçlü yazma. Derleyen. 1960'lar.
- Pascal: Güçlü yazma. Derleyen. 1970'li. (Ama 1980'lerde JIT derleyicilerine çok benzeyen P-Sistem derleyicileri vardı!)
- Fortran ve diğerlerinin DEC tarafından ilk günlerdeki uygulamaları kısmen derlenmiş ve kısmen yorumlanmıştır.
- Smalltalk: dinamik yazma. Yorumlanan bayt koduna derlenir. 1980.
- Prolog: daha tuhaflık. Fonksiyonel. Derlendi (Turbo Prolog, kimse var mı?). 1980.
- C: güçlü (ha ha) yazarak. Derleyen. 1960's..today.
- Ada: uber-güçlü yazma. Derleyen. 1980.
- Perl: dinamik yazma. (Güçlü sözdizimi). Yorumlanır. 1990'lar (?).
Devam edebilirdim.
- Nitpickers köşesi: Yorumlanan birçok dil, kaynak yüklendiğinde / okunduğunda tokenleştirilir veya "bayt derlenir". Bu, yorumlayıcının sonraki çalışmasını çok daha basit hale getirir. Bazen kodun bayt-derlenmiş sürümünü kaydedebilirsiniz. Bazen yapamazsın. Hala yorumlu.
Güncelleme: Çünkü yeterince açık değildim.
Yazma çok değişebilir.
Derleme zamanı sabit statik yazma yaygındır (örneğin, C, Ada, C ++, Fortan vb.). Burası bir TÜR ŞEYİ ilan ettiğiniz yerdir ve sonsuza dek bu şekilde olur.
Ayrıca, nesnenin kendisine atanan türü seçtiği dinamik yazmaya sahip olmak da mümkündür. Örneğin, bir değişkene bir tamsayı atayacağınız PHP ve bazı erken BASIC ve APL, oradan da bir tamsayı türüdür. Daha sonra dizeye bir dize atadıysanız, dize türüydü. Ve bunun gibi.
Ve sonra gevşek yazım var, örneğin bir değişkene sayısal bir tamsayı atamak (alıntı, bu yüzden bir dize) gibi gerçekten tuhaf şeyler yapabilir ve daha sonra ona bir sayı ekleyebilirsiniz. (örneğin '5' + 5 10 ile sonuçlanır). Bu tuhafın ülkesi, ama aynı zamanda çok yararlı.
ANCAK bunlar bir dile dönüştürülmüş özelliklerdir. Uygulama sadece bunu gerçekleştirir.