تفاوت dynamic type با static type در زبان های برنامه نویسی
منظور از Type، نوع دادهای است که با آن سرورکار داریم . تفاوت این دو مورد بسیار ساده اما مهم هست .
Statically Typed : نوع متغیرها در زمان کامپایل شدن (Compile Time) برنامه مشخص میگردد که از آن جمله میتوان به زبانهای جاوا، اسکالا، سیشارپ، سی و سیپلاسپلاس اشاره کرد . پرفورمنس برنامه بالا میرود چراکه هر دفعه که برنامه اجرا میگردد، دیگر نیازی به چک کردن نوع متغیرها نخواهد بود. چک کردن برنامه توسط کامپایلر و در حین فرایند کامپایل شدن صورت میگیرد و بنابراین باگهای جزئی که ممکن است از دید پنهان بمانند خیلی زود یافت خواهند شد.
Dynamically Typed : نوع متغیرها در حین اجرای برنامه (Run Time) مشخص میشود و دولوپر در حین کدنویسی نیازی به مشخص کردن دیتاتایپ متغیر نخواهد داشت که از آن جمله میتوان به زبانهای پایتون، جاوااسکریپت و پیاچپی اشاره کرد.چک کردن دیتاتایپها در حین اجرا صورت میگیرد، برنامههای نوشته شده با این زبانها تاحدودی مشکل پرفورمنسی دارند چراکه هردفعه در حین اجرا، فرایند چک کردن دیتاتایپها میبایست صورت گیرد.
String str = “Hello World”;
str = 7;
کد بالا در نوع اول ارور(اکسپشن) می دهد و در نوع دوم اوکی هست.