استاتیک تایپ و داینامیک تایپ

تو این مقاله کوتاه و مختصر قصد دارم در مورد تایپ (نوع) یک متغیر صحبت کنم و با عبارت های استاتیک تایپ و داینامیک تایپ آشناتون کنم و تفاوت هاشون رو بگم. پس تا آخر این مقاله با من همراه باشید.


استاتیک تایپ و داینامیک تایپ
استاتیک تایپ و داینامیک تایپ


اصلا چک کردن تایپ چی هست ؟‌

چک کردن تایپ یعنی مطمئن شدن از اینکه مقدار یک مشخصه مثل متغیر ، آبجکت ، تابع ، رشته و ... همون طور که توقع میره توی برنامه استفاده بشه . این روند چک کردن تایپ ها میتونه توی زمان اجرای برنامه (‌چه زمان اجرا و چه زمان کامپایل) اتفاق بیوفته. چک کردن تایپ میتونه باعث کاهش خطاها بشه و اونهارو قبل از وقوع اعلام کنه!

دو مدل چک کردن تایپ داریم:
۱- استاتیک تایپ چک
۲- داینامیک تایپ چک

استایتک تایپ

چک کردن تایپ ها به صورت استاتیکی توی زبان های برنامه نویسی استاتیک اتفاق میوفته. این زبان ها موقع تعریف یک متغیر باید از نوع اون با خبر باشند. یعنی شما به راحتی نمیتونید بگید مقدار متغیر a برابر با hello هست و باید براش تعریف کنید که a از نوع string هست و مقدارش برابر با hello.

از مزایای زبان های استاتیک تایپ برطرف شدن خیلی از خطاها در چرخه توسعه (Development) است.
مزیت دیگه این نوع زبان ها سرعت اجرای بالاتر در زمان کامپایل است چون کامپایلر از نوع دقیق متغیر خبر داره.

از معروف ترین زبان های برنامه نویسی که استاتیک تایپ هستند میشه به جاوا ، سی ، سی شارپ و سی پلاس پلاس اشاره کرد.


داینامیک تایپ

زبان های داینامیک تایپ در مقابل زبان های استاتیک هستند. متغیرهای داینامیک در زمان اجرا مشخص می شوند پس در زمان تعریف متغیر نیازی به تعریف نوع متغیر نداریم.

تو زبان های داینامیک تایپ اگه خطای تایپ به وجود بیاد به احتمال خیلی زیاد برنامه در زمان اجرا به خطای اجرا میرسه و متوقف میشه.

از مزایای زبان های داینامیک تایپ این که میشه به سرعت اونهارو توسعه داد و نگرانی بابت متغیرها و نوعشون نداریم .

از معروف ترین زبان های برنامه نویسی که داینامیک تایپ هستند میشه به جاواسکریپت ، پایتون ، پی اچ پی ، آبجکتیو سی اشاره کرد.



با نظراتتون به بهتر شدن کیفیت مقاله کمک کنید.


سایر مقاله های من در ویرگول:

https://virgool.io/programmers-revolution/بهترین-تمرین-های-گیت-wgjeggzbq1gj
https://virgool.io/@novonimo/نظرسنجی-stackoverflow-2019-قسمت-۳-oz9vld8zxc7m
https://virgool.io/iran-react-community/ریداکس-به-زبان-ساده-emxqh7w4gnpk
https://virgool.io/iran-react-community/پیش-نیازهای-آموزش-ری-اکت-yxmprt2im5ek
https://virgool.io/iran-react-community/آموزش-react-native-همراه-با-مثال-از-صفر-تا-صد-۳-iowlincv4yls
https://virgool.io/@novonimo/آموزش-مقدماتی-دارت-dart-قسمت-۱۲-wmhneggye6ro
https://virgool.io/iran-react-community/ری-اکت-رو-قورت-بده-۵-k0jy1ecxq5yx

Contact With me:
https://t.me/nimamohamadian
https://www.facebook.com/nimamohamadian89
https://twitter.com/Nima_Mohamadian
https://www.linkedin.com/in/nima-mohamadian-57ba63123