description |
---|
Scripting diller hakkında aldığım notlar |
Terim | Açıklama |
---|---|
Executable | Daha önceden oluşturulmuş ve işletim sistemin direkt olarak çalıştırabilir uygulamalar |
Byte Code | Daha sonradan yorumlanmak için hazırlanmış kodlardır, direkt olarak işletim sistemi çalıştıramaz |
Compiler | Derleyici. Kodlardan executable veya byte code oluşturur |
Interpreter | Yorumlayıcı. Kodları direkt olarak çalıştırır . Her seferinden yorumlanması gerekir |
- Java, Python gibi diller byte code yapısını kullanır
- C, C# gibi diller executable (
.exe
) yapısını kullanır
Terim | Açıklama |
---|---|
Extending | Diğer programların kütüphanelerini de kullanma ve çalıştırma (?) |
Dynamic Typing | Değişken tiplerini belirtmeye gerek yoktur. (int, str vs gibi) |
Data Structures | Kendilerine özgü veri yapıları vardır (örn dictionary , hash tables , list |
- Değişken tiplerine otomatik karar verilir
- İsteğe bağlı tiplerin belirtilmesini de kabul eder
- Scripting işlemlerinde sorun oluşturmasa da programlama dilleirnde sorunlara sebeb olduğundan tercih edilmez
- Değişkenlerin önceden tanımlanması gerekmediğinden yazım hataları durumunda program yanlış çalışır ama hata vermez
- Bazı scripting dillerinde tüm verileri
string
olarak tutulur, kullandıkları zaman uygun tiplere çevrilerek kullanırlır. Bu işlem verilerin optimize tutulmasını sağlar
- Değişkenlerin kontrolü scripting dillerinde zordur
- Belli bir süre sonrasında kullanılmayan veriler hafızada şişkinliğe sebep olur
- Garbage Collector gibi kullanılmayacak değişkenleri temizleyen yapılara ihtiyaç duyulur
- Kod içerisinde kod oluşturulup derlenebilmesini mümkün kılar
- Bazı programlama dillerinde bu mümkün değil veya zordur (örn C)
a = 10
x = "print a"
exec(x)