سایت های آموزش برنامه نویسی به کودکان
یک تعریف جایگزین سایت های آموزش برنامه نویسی به کودکان«تایپ ضعیف» به زبانهایی مانند Perl، Ring و JavaScript اشاره دارد که تعداد زیادی از تبدیلهای نوع ضمنی را مجاز میکنند. به عنوان مثال، در جاوا اسکریپت، عبارت 2 * x به طور ضمنی x را به یک عدد تبدیل می کند، و این تبدیل حتی اگر x خالی، تعریف نشده، یک آرایه یا یک رشته حروف باشد، موفق می شود. چنین تبدیل های ضمنی اغلب مفید هستند، اما می توانند خطاهای برنامه نویسی را پنهان کنند. قوی و ایستا در حال حاضر به طور کلی مفاهیم متعامد در نظر گرفته می شوند، اما استفاده در ادبیات متفاوت است. برخی از اصطلاح قوی تایپ شده را به معنای تایپ قوی، ایستا، یا حتی گیج کننده تر، به معنای سایت های آموزش برنامه نویسی به کودکان تایپ ساده استاتیک استفاده می کنند. بنابراین C را هم با شدت تایپ و هم به صورت ضعیف، تایپ ایستا نامیده اند.[74][75][76]
ممکن است برای برخی از برنامه نویسان حرفه ای عجیب به نظر برسد که C می تواند "ضعیف و ایستا تایپ شود". با این حال، استفاده از اشارهگر عمومی، نشانگر void*، اجازه میدهد تا نشانگرها را به سایر اشارهگرها بدون نیاز به ارسال صریح ارسال کنید. این بسیار شبیه به ریختن آرایه ای از بایت ها به سایت های آموزش برنامه نویسی به کودکان هر نوع داده در C بدون استفاده از ریخته گری واضح است، مانند (int) یا (char).
کتابخانه استاندارد و سیستم زمان اجرا
مقاله اصلی: کتابخانه استاندارد
اکثر زبان های برنامه نویسی دارای یک کتابخانه هسته مرتبط هستند (که گاهی اوقات به عنوان "کتابخانه استاندارد" شناخته می شود، به خصوص اگر به عنوان بخشی از استاندارد زبان منتشر شده گنجانده شود)، که به طور معمول توسط همه پیاده سازی های زبان در دسترس است. کتابخانههای اصلی معمولاً شامل تعاریفی برای الگوریتمهای رایج، ساختارهای داده و مکانیسمهایی برای ورودی و خروجی هستند.
خط بین یک زبان و کتابخانه اصلی آن از زبانی به زبان دیگر سایت های آموزش برنامه نویسی به کودکان متفاوت است. در برخی موارد، طراحان زبان ممکن است کتابخانه را به عنوان یک موجودیت مجزا از زبان در نظر بگیرند. با این حال، کتابخانه اصلی یک زبان اغلب به عنوان بخشی از زبان توسط کاربران آن در نظر گرفته میشود، و برخی از مشخصات زبان حتی مستلزم آن است که این کتابخانه در همه پیادهسازیها در دسترس باشد. در واقع، برخی از زبانها به گونهای طراحی شدهاند که معانی برخی ساختارهای نحوی را حتی نمیتوان بدون مراجعه به کتابخانه اصلی توصیف کرد. به عنوان مثال، در جاوا، یک string literal به عنوان نمونه ای از کلاس java.lang.String تعریف می شود. به طور مشابه، در Smalltalk، یک عبارت تابع ناشناس (یک "بلوک") نمونه ای از کلاس BlockContext کتابخانه را می سازد. برعکس، Scheme شامل چندین زیرمجموعه منسجم است که برای ساخت بقیه زبان به عنوان ماکروهای کتابخانه کافی است، و بنابراین طراحان زبان حتی به خود زحمت نمیدهند بگویند کدام بخش از زبان باید به عنوان ساختار زبان پیادهسازی شود و کد سایت های آموزش برنامه نویسی به کودکان ام بخش باید به عنوان بخش پیادهسازی شود. از یک کتابخانه
همزمانی
همچنین ببینید: محاسبات همزمان
در محاسبات، چندین دستورالعمل را می توان به طور همزمان اجرا کرد. بسیاری از زبان های برنامه نویسی از همزمانی در سطح دستورالعمل و زیربرنامه پشتیبانی می کنند.[77] در قرن بیست و یکم، قدرت پردازش اضافی در رایانهها به طور فزایندهای ناشی از استفاده از پردازندههای اضافی بود، که برنامهنویسان را ملزم به طراحی نرمافزاری میکند که از چندین پردازنده به طور همزمان برای دستیابی به عملکرد بهتر استفاده میکند.[78] زبان های تفسیر سایت های آموزش برنامه نویسی به کودکان شده مانند Python و Ruby از استفاده همزمان از چندین پردازنده پشتیبانی نمی کنند.[79] سایر زبانهای برنامهنویسی از مدیریت دادههای به اشتراک گذاشته شده بین رشتههای مختلف با کنترل ترتیب اجرای دستورالعملهای کلیدی از طریق استفاده از سمافورها، کنترل دسترسی به دادههای مشترک از طریق مانیتور، یا فعال کردن ا سایت های آموزش برنامه نویسی به کودکان رسال پیام بین رشتهها پشتیبانی میکنند.[80]
رسیدگی به استثنا
مقاله اصلی: رسیدگی به استثنا
بسیاری از زبانهای برنامهنویسی شامل کنترلکنندههای استثنا هستند، بخشی از کد که توسط خطاهای زمان اجرا ایجاد میشود و میتواند به دو روش اصلی با آنها مقابله کند:[81]
خاتمه: خاموش شدن و واگذاری کنترل به سیستم عامل. این گزینه ساده ترین در نظر گرفته می شود.
Resumption: از سرگیری برنامه در نزدیکی جایی که استثنا رخ داده است. این می تواند باعث تکرار استثنا شود، مگر اینکه کنترل کننده استثنا بتواند مقادیر را برای جلوگیری از تکرار استثنا تغییر دهد.
برخی از زبان های برنامه نویسی از اختصاص یک بلوک کد برای اجرا بدون توجه به اینکه آیا قبل از رسیدن به کد استثنا رخ می دهد یا خیر، پشتیبانی می کنند. این را نهایی سایت های آموزش برنامه نویسی به کودکان کردن می نامند.[82]
بین افزایش توانایی در رسیدگی به استثناها و کاهش عملکرد، تعادلی وجود دارد.[83] برای مثال، حتی اگر خطاهای شاخص آرایه رایج هستند[84] C آنها را به دلایل عملکرد بررسی نمی کند.[83] اگرچه برنامه نویسان می توانند کد بنویسند تا استثناهای تعریف شده توسط کاربر را بگیرند، این می تواند یک برنامه را به هم ریخت. کتابخانه های استاندارد در برخی از زبان ها، مانند C، از مقادیر بازگشتی خود برای نشان دادن یک استثنا استفاده می کنند.[85] برخی از زبانها و کامپایلرهای آنها این گزینه را دارند که قابلیت رسیدگی به خطا را به طور موقت Programming teaching sites for children یا دائم خاموش و روشن کنند.[86]
برچسب: برنامه نویسی کودکان،