نوع‌دهی قوی و ضعیف: تفاوت میان نسخه‌ها

از ویکی‌پدیا، دانشنامهٔ آزاد
محتوای حذف‌شده محتوای افزوده‌شده
Msud.gh (بحث | مشارکت‌ها)
جز ←‏جایگزینی با [[وپ:اشتباه|اشتباه‌یاب]]: صدازده‌شده⟸صدا زده‌ شده
Fatemibot (بحث | مشارکت‌ها)
جز ربات ردهٔ همسنگ (۳۰) +تمیز (۱۴.۹ core): + رده:سیستم‌های انواع
خط ۲: خط ۲:


== تاریخچه ==
== تاریخچه ==
در ۱۹۷۴، لیسکو {{به انگلیسی|Liskov}} و زایلز {{به انگلیسی|Zilles}} یک زبان وابسته زیاد به نوع را تعریف کردند به این عنوان که «هر گاه یک شیء از فراخوانی یک تابع به تابع صدا زده‌ شده عبور کرد، نوعش باید سازگار با نوع تعریف‌شده در تابع صدا زده‌ شده باشد.»<ref>{{cite paper | id = {{citeseerx|10.1.1.136.3043}} | title = Programming with abstract data types | first1 = B | last1 = Liskov | first2 = S | last2 = Zilles | journal = ACM Sigplan Notices | year = 1974}}</ref>
در ۱۹۷۴، لیسکو {{به انگلیسی|Liskov}} و زایلز {{به انگلیسی|Zilles}} یک زبان وابسته زیاد به نوع را تعریف کردند به این عنوان که «هر گاه یک شیء از فراخوانی یک تابع به تابع صدا زده شده عبور کرد، نوعش باید سازگار با نوع تعریف‌شده در تابع صدا زده شده باشد.»<ref>{{cite paper | id = {{citeseerx|10.1.1.136.3043}} | title = Programming with abstract data types | first1 = B | last1 = Liskov | first2 = S | last2 = Zilles | journal = ACM Sigplan Notices | year = 1974}}</ref>
جکسون در اینباره نوشته‌است، «در یک زبان وابسته زیاد به نوع ناحیه هر داده یک نوع متفاوت دارد و هر فرایند الزامات ارتباطش را به شروط این نوع‌ها توضیح می‌دهد.»<ref>{{cite journal | title = Parallel processing and modular software construction | first1 = K. | last1 = Jackson | journal = Lecture Notes in Computer Science | year = 1977 | volume = 54 | pages = 436–443 | doi = 10.1007/BFb0021435 | url = http://www.springerlink.com/content/wq02703237400667/ | series = Lecture Notes in Computer Science | isbn = 3-540-08360-X}}</ref>
جکسون در اینباره نوشته‌است، «در یک زبان وابسته زیاد به نوع ناحیه هر داده یک نوع متفاوت دارد و هر فرایند الزامات ارتباطش را به شروط این نوع‌ها توضیح می‌دهد.»<ref>{{cite journal | title = Parallel processing and modular software construction | first1 = K. | last1 = Jackson | journal = Lecture Notes in Computer Science | year = 1977 | volume = 54 | pages = 436–443 | doi = 10.1007/BFb0021435 | url = http://www.springerlink.com/content/wq02703237400667/ | series = Lecture Notes in Computer Science | isbn = 3-540-08360-X}}</ref>


خط ۱۸: خط ۱۸:
{{برنامه‌نویسی-خرد}}
{{برنامه‌نویسی-خرد}}


[[رده:سیستم‌های انواع]]
[[رده:نظریه نوع‌ها]]
[[رده:نظریه نوع‌ها]]
[[رده:ویکی‌سازی رباتیک]]
[[رده:ویکی‌سازی رباتیک]]

نسخهٔ ‏۴ ژانویهٔ ۲۰۱۸، ساعت ۱۱:۲۲

در برنامه‌نویسی، اغلب در گفتگو به زبان‌های برنامه‌نویسی وابسته زیاد به نوع (به انگلیسی: Strongly typed) یا وابسته کم به نوع (به انگلیسی: Weakly typed) نسبت داده می‌شود. به طور کلی، این عبارت‌ها تعریف دقیقی ندارند. بلکه، بیشتر توسط طرفداران یا منتقدان یک زبان برنامه‌نویسی، به عنوان ابزاری برای شرح اینکه چرا یک زبان بهتر یا بدتر از جایگزین‌ها است استفاده می‌شود.

تاریخچه

در ۱۹۷۴، لیسکو (به انگلیسی: Liskov) و زایلز (به انگلیسی: Zilles) یک زبان وابسته زیاد به نوع را تعریف کردند به این عنوان که «هر گاه یک شیء از فراخوانی یک تابع به تابع صدا زده شده عبور کرد، نوعش باید سازگار با نوع تعریف‌شده در تابع صدا زده شده باشد.»[۱] جکسون در اینباره نوشته‌است، «در یک زبان وابسته زیاد به نوع ناحیه هر داده یک نوع متفاوت دارد و هر فرایند الزامات ارتباطش را به شروط این نوع‌ها توضیح می‌دهد.»[۲]

تعاریف «زیاد» یا «کم»

تعدادی از تصمیم‌گیری‌های مختلف طراحی زبان به عنوان نشانه‌ای از وابستگی «زیاد» یا «کم» به نوع نسبت داده شده‌است. در حقیقت، بسیاری از اینها دقیق‌تر وجود یا عدم وجود ایمنی نوع، ایمنی حافظه، بررسی ایستایی نوع، یا بررسی پویایی نوع را درک کرده‌اند.

جستارهای وابسته

پانویس

  1. Liskov, B; Zilles, S (1974). "Programming with abstract data types". ACM Sigplan Notices. CiteSeerX: 10.1.1.136.3043.
  2. Jackson, K. (1977). "Parallel processing and modular software construction". Lecture Notes in Computer Science. Lecture Notes in Computer Science. 54: 436–443. doi:10.1007/BFb0021435. ISBN 3-540-08360-X.