Statik ve Dinamik Programlama Dillerinin Farkları

Statik Programlama Dilleri
İlk olarak statik programlama dili nedir onu açıklayarak başlayalım. Statik programlama dili, her değişken tipinin önceden belirtiliyor olmasıdır. Yani string bir değer tanımlıyorken başına string, sayi tanımlıyorken int, double, float gibi tipleri yazıyoruz. Bu nedenle değişken tipleri program henüz çalışmıyorken bile bu tiplerin neler olduğunu biliyor. Bu da program henüz çalışmıyorken bile bir hata yapmışsanız sizi uyarır ve hatayı düzeltmenizi bekler.
string icerik = "Bu bir iceriktir";
int x = 10;
double weight = 86.5;
- C, C++, C#, Java, Scala, Haskel gibi diller statik programlama dilleridir.
- Statik programlama dillerinin amacı donanımı optimize etmek olduğu için bu şekilde çalışmak zorundadırlar.
Dinamik Programlama Dilleri
Dinamik programlama dilleri ise statiğin aksine değişken tiplerinin programın çalışma anında belirlendiği dillerdir. Yani ne string, ne int, ne double ne de bir array için herhangi bir değişken tipi belirtmenize gerek yoktur. Bazıları bunun geliştirme hızını artırdığını çünkü geliştiricinin hangi tiple olduğunu düşünmeden direk yazdığını savunsa da (haklılık payları yok değil) programın çalışma anına kadar herhangi bir hata var mı yok mu göremezler.
x = 10;
icerik = "Bu bir iceriktir";
weight = 86.5;
- Lisp, Perl, Ruby, Python, JavaScript gibi filler dinamik programlama dilleridir.
- Dinamik programmala dillerinin amacı geliştiricinin dili en etkili şekilde kullanabilmesi için tasarlanmışlardır, bu nedenle bu tipler çalışma anında belirlenir.