ced برای پشتیبانی از صفحات وب و شبکه.[49] جاوا، ب سایت های آموزش برنامه نویسی به کودکان ر اساس C++ و طراحی شده برای افزایش قابلیت حمل در سراسر سیستم ها و امنیت، از موفقیت در مقیاس بزرگ برخوردار بود زیرا این ویژگی ها برای بسیاری از برنامه های کاربردی اینترنتی ضروری هستند.[50][51] یکی دیگر از پیشرفتها، زبانهای اسکریپت نویسی با تایپ پویا - Python، JavaScript، PHP و Ruby بود که برای تولید سریع برنامههای کوچک که برنامههای موجود را هماهنگ میکنند، طراحی شدهاند. با توجه به ادغام آنها با HTML، آنها سایت های آموزش برنامه نویسی به کودکان همچنین برای ساخت صفحات وب میزبانی شده بر روی سرورها استفاده شده اند.[52][53]
دهه 2000 تا کنون
در طول دهه 2000، کاهش سرعت در توسعه زبان های سایت های آموزش برنامه نویسی به کودکان برنامه نویسی جدید وجود داشت که به محبوبیت گسترده ای دست یافت.[54] یکی از نوآوریها برنامهنویسی سرویسگرا بود که برای بهرهبرداری از سیستمهای توزیعشده که اجزای آن توسط یک شبکه به هم متصل هستند، طراحی شد. خدمات مشابه اشیاء در برنامه نویسی شی گرا هستند، اما در یک فرآیند جداگانه اجرا می شوند.[55] C# و F# ایدههایی را بین برنامهنویسی ضروری و کاربردی به هم میرسانند.[56] پس از سال 2010، چندین زبان جدید - Rust، Go، Swift، Zig و Carbon - برای نرمافزار حیاتی عملکردی که C در گذشته برای آن استفاده میشد، رقابت کردند.[57] بسیاری از زبان های برنامه نویسی جدید از تایپ ثابت استفاده می کنند در حالی که تعداد کمی از زبان های جدید از تایپ پویا مانند Ring سایت های آموزش برنامه نویسی به کودکان و Julia استفاده می کنند.[58][59]
برخی از زبان های برنامه نویسی جدید به عنوان زبان های برنامه نویسی بصری مانند Scratch، LabVIEW و PWCT طبقه بندی می شوند. همچنین، برخی از این زبانها بین استفاده از برنامهنویسی متنی و بصری مانند Ballerina ترکیب میشوند.[60][61][62][63] همچنین، این روند منجر به توسعه پروژههایی میشود که به توسعه VPLهای جدید مانند Blockly توسط Google کمک میکنند.[64] بسیاری از موتورهای سایت های آموزش برنامه نویسی به کودکان بازی مانند Unreal و Unity از برنامهنویسی بصری نیز پشتیبانی میکنند.[65][66]
عناصر
همه زبانهای برنامهنویسی دارای بلوکهای ساختمانی اولیه برای توصیف دادهها و فرآیندها یا تبدیلهای اعمال شده بر روی آنها هستند (مانند جمع دو عدد یا انتخاب یک آیتم از یک مجموعه). سایت های آموزش برنامه نویسی به کودکان این اصول اولیه با قواعد نحوی و معنایی تعریف می شوند که به ترتیب ساختار و معنای آنها را توصیف می کنند.
نحو
مقاله اصلی: نحو (زبان های برنامه نویسی)
درخت کد پایتون را با توکنیزاسیون داخلی تجزیه کنید
برجسته کردن نحو اغلب برای کمک به برنامه نویسان در تشخیص عناصر کد منبع استفاده می شود. زبان بالا پایتون است.
اتم ::= عدد | سمبل
شماره ::= [+-]؟['0'-'9']+
نماد ::= ['A'-'Z''a'-'z'].*
لیست ::= '(' عبارت* ')'
این دستور زبان موارد زیر را مشخص می کند:
یک عبارت یا یک اتم یا یک لیست است.
اتم یا عدد است یا نماد.
یک عدد دنباله ای ناگسستنی از یک یا چند رقم اعشاری است که به صورت اختیاری قبل از علامت مثبت یا منفی قرار می گیرد.
نماد حرفی است که با صفر یا بیشتر از هر کاراکتری (به استثنای فضای سفید) به دنبال آن باشد. و
یک لیست یک جفت پرانتز مطابق با عبارات صفر یا بیشتر در داخل آن است.
در زیر نمونههایی از توالیهای نشانهای به خ سایت های آموزش برنامه نویسی به کودکان وبی شکلگرفته در این دستور زبان آمده است: 12345، () و (a b c232 (1)).
همه برنامه های صحیح نحوی از نظر معنایی صحیح نیستند. با این وجود، بسیاری از برنامههای صحیح نحوی، طبق قوانین زبان، بد شکل هستند. و ممکن است (بسته به مشخصات زبان و درستی اجرا) منجر به خطا در ترجمه یا اجرا شود. در برخی موارد، چنین برنامه هایی ممکن است رفتار نامشخصی از خود نشان دهند. حتی زمانی که یک برنامه در یک زبان به خوبی تعریف شده باشد، ممکن است باز هم معنایی داشته باشد که توسط شخصی که آن را نوشته است مورد نظر نباشد.
با استفاده از زبان طبیعی به عنوان مثال، ممکن است نتوان به یک جمله از نظر دستوری درست معنی اختصاص داد یا ممکن است جمله نادرست باشد:
"ایده های سبز بی رنگ با عصبانیت می خوابند." از نظر دستور زبان به خوبی شکل گرفته است اما هیچ معنای عمومی پذیرفته شده ای ندارد.
"جان یک مجرد متاهل است." از نظر دستوری به خوبی شکل گرفته است اما معنایی را بیان می کند که نمی تواند درست باشد.
قطعه زبان C زیر از نظر نحوی صحیح است، ام Programming teaching sites for children ا عملیات هایی را انجام می دهد که از نظر معنایی تعریف نشده اند (عملیات *p >> 4 برای مقداری که نوع پیچیده ای دارد معنی ندارد و p->im تعریف نشده است، زیرا مقدار p است. نشانگر تهی):
ced برای پشتیبانی از صفحات وب و شبکه.[49] جاوا، ب سایت های آموزش برنامه نویسی به کودکان ر اساس C++ و طراحی شده برای افزایش قابلیت حمل در سراسر سیستم ها و امنیت، از موفقیت در مقیاس بزرگ برخوردار بود زیرا این ویژگی ها برای بسیاری از برنامه های کاربردی اینترنتی ضروری هستند.[50][51] یکی دیگر از پیشرفتها، زبانهای اسکریپت نویسی با تایپ پویا - Python، JavaScript، PHP و Ruby بود که برای تولید سریع برنامههای کوچک که برنامههای موجود را هماهنگ میکنند، طراحی شدهاند. با توجه به ادغام آنها با HTML، آنها سایت های آموزش برنامه نویسی به کودکان همچنین برای ساخت صفحات وب میزبانی شده بر روی سرورها استفاده شده اند.[52][53]
دهه 2000 تا کنون
در طول دهه 2000، کاهش سرعت در توسعه زبان های سایت های آموزش برنامه نویسی به کودکان برنامه نویسی جدید وجود داشت که به محبوبیت گسترده ای دست یافت.[54] یکی از نوآوریها برنامهنویسی سرویسگرا بود که برای بهرهبرداری از سیستمهای توزیعشده که اجزای آن توسط یک شبکه به هم متصل هستند، طراحی شد. خدمات مشابه اشیاء در برنامه نویسی شی گرا هستند، اما در یک فرآیند جداگانه اجرا می شوند.[55] C# و F# ایدههایی را بین برنامهنویسی ضروری و کاربردی به هم میرسانند.[56] پس از سال 2010، چندین زبان جدید - Rust، Go، Swift، Zig و Carbon - برای نرمافزار حیاتی عملکردی که C در گذشته برای آن استفاده میشد، رقابت کردند.[57] بسیاری از زبان های برنامه نویسی جدید از تایپ ثابت استفاده می کنند در حالی که تعداد کمی از زبان های جدید از تایپ پویا مانند Ring سایت های آموزش برنامه نویسی به کودکان و Julia استفاده می کنند.[58][59]
برخی از زبان های برنامه نویسی جدید به عنوان زبان های برنامه نویسی بصری مانند Scratch، LabVIEW و PWCT طبقه بندی می شوند. همچنین، برخی از این زبانها بین استفاده از برنامهنویسی متنی و بصری مانند Ballerina ترکیب میشوند.[60][61][62][63] همچنین، این روند منجر به توسعه پروژههایی میشود که به توسعه VPLهای جدید مانند Blockly توسط Google کمک میکنند.[64] بسیاری از موتورهای سایت های آموزش برنامه نویسی به کودکان بازی مانند Unreal و Unity از برنامهنویسی بصری نیز پشتیبانی میکنند.[65][66]
عناصر
همه زبانهای برنامهنویسی دارای بلوکهای ساختمانی اولیه برای توصیف دادهها و فرآیندها یا تبدیلهای اعمال شده بر روی آنها هستند (مانند جمع دو عدد یا انتخاب یک آیتم از یک مجموعه). سایت های آموزش برنامه نویسی به کودکان این اصول اولیه با قواعد نحوی و معنایی تعریف می شوند که به ترتیب ساختار و معنای آنها را توصیف می کنند.
نحو
مقاله اصلی: نحو (زبان های برنامه نویسی)
درخت کد پایتون را با توکنیزاسیون داخلی تجزیه کنید
برجسته کردن نحو اغلب برای کمک به برنامه نویسان در تشخیص عناصر کد منبع استفاده می شود. زبان بالا پایتون است.
اتم ::= عدد | سمبل
شماره ::= [+-]؟['0'-'9']+
نماد ::= ['A'-'Z''a'-'z'].*
لیست ::= '(' عبارت* ')'
این دستور زبان موارد زیر را مشخص می کند:
یک عبارت یا یک اتم یا یک لیست است.
اتم یا عدد است یا نماد.
یک عدد دنباله ای ناگسستنی از یک یا چند رقم اعشاری است که به صورت اختیاری قبل از علامت مثبت یا منفی قرار می گیرد.
نماد حرفی است که با صفر یا بیشتر از هر کاراکتری (به استثنای فضای سفید) به دنبال آن باشد. و
یک لیست یک جفت پرانتز مطابق با عبارات صفر یا بیشتر در داخل آن است.
در زیر نمونههایی از توالیهای نشانهای به خ سایت های آموزش برنامه نویسی به کودکان وبی شکلگرفته در این دستور زبان آمده است: 12345، () و (a b c232 (1)).
همه برنامه های صحیح نحوی از نظر معنایی صحیح نیستند. با این وجود، بسیاری از برنامههای صحیح نحوی، طبق قوانین زبان، بد شکل هستند. و ممکن است (بسته به مشخصات زبان و درستی اجرا) منجر به خطا در ترجمه یا اجرا شود. در برخی موارد، چنین برنامه هایی ممکن است رفتار نامشخصی از خود نشان دهند. حتی زمانی که یک برنامه در یک زبان به خوبی تعریف شده باشد، ممکن است باز هم معنایی داشته باشد که توسط شخصی که آن را نوشته است مورد نظر نباشد.
با استفاده از زبان طبیعی به عنوان مثال، ممکن است نتوان به یک جمله از نظر دستوری درست معنی اختصاص داد یا ممکن است جمله نادرست باشد:
"ایده های سبز بی رنگ با عصبانیت می خوابند." از نظر دستور زبان به خوبی شکل گرفته است اما هیچ معنای عمومی پذیرفته شده ای ندارد.
"جان یک مجرد متاهل است." از نظر دستوری به خوبی شکل گرفته است اما معنایی را بیان می کند که نمی تواند درست باشد.
قطعه زبان C زیر از نظر نحوی صحیح است، ام Programming teaching sites for children ا عملیات هایی را انجام می دهد که از نظر معنایی تعریف نشده اند (عملیات *p >> 4 برای مقداری که نوع پیچیده ای دارد معنی ندارد و p->im تعریف نشده است، زیرا مقدار p است. نشانگر تهی):

مهمترین مسابقات اسکرچ برای کودکان