نوعدهی قوی و ضعیف: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
بدون خلاصۀ ویرایش |
بدون خلاصۀ ویرایش |
||
خط ۳:
در [[برنامهنویسی رایانهای|برنامه نویسی رایانه ای]]، [[زبان برنامهنویسی|زبان های برنامه نویسی]] معمولا به صورت محاوره ای به دو نوع، بر اساس آنکه «سیستم نوع زبان» '''نوعدهی نیرومند''' {{به انگلیسی|strongly typed}}، یا '''نوعدهی کمزور''' {{به انگلیسی|weakly typed}} ('''نوع دهی سست''' {{به انگلیسی|loosely typed}}) باشد، طبقه بندی می شود<ref name=":0">{{Cite journal|date=2020-02-18|title=Strong and weak typing|url=https://en.wikipedia.org/w/index.php?title=Strong_and_weak_typing&oldid=941453382|journal=Wikipedia|language=en}}</ref>.
معمولا یک زبان نوعدار نیرومند، دارای قواعد نوع دهی سختگیرانه تری در [[زمان کامپایل]] می باشند که به معنی ضمنی آن است که خطاها و استثناها به احتمال بیشتر در مدت کامپایل رخ می دهند. [[زبان های نوع دهی پویا]] (که در آن بررسی نوع در [[زمان اجرا (فاز چرخه زندگی برنامه)|زمان اجرا]] رخ می دهد) نیز می توانند نوع دهی نیرومند باشند. بیشتر این قواعد روی انتساب متغیر ها تاثیر می گذارند، مقادیر و فراخوانی تابع را برمی گردانند<ref name=":0" />.
یک زبان نوع دهی کمزور قواعد نوع دهی سست تری دارد، و می تواند نتایج غیر قابل پیش بینی ایجاد کند، یا می تواند تبدیل نوع ضمنی در زمان اجرا انجام دهد.<ref>{{cite web|url=http://www.cs.cornell.edu/|title=CS1130. Transition to OO programming. – Spring 2012 --self-paced version|date=2005|publisher=Cornell University, Department of Computer Science|archiveurl=http://www.cs.cornell.edu/courses/CS1130/2012sp/1130selfpaced/module1/module1part4/strongtyping.htm|archivedate=2005|accessdate=2015-11-23}}</ref> یک مفهوم مرتبط اما متفاوت «[[نوعدهی پنهان]]» است<ref name=":0" />.
خط ۱۲:
== تعاریف «نیرومند» یا «کمزور» ==
«نوع دهی نیروند» معمولا به استفاده از «انواع» زبان های برنامه نویسی برای اخذ «نامتغیر» های کد، و اطمینان از صحت آنها، و بیرون سازی قطعی کلاس های مشخص و خطاهای برنامه نویسی ارجاع دارد. بنابراین برای دستیابی به این اهداف، نظام های «نوعدهی
== جستارهای وابسته ==
|