زبان برنامه نویسی نمادی برای نوشتن برنامه ها است که مشخصات یک محاسبات یا الگوریتم هستند. برخی از نویسندگان اصطلاح "زبان برنامه نویسی" را به زبان هایی محدود می کنند که می توانند همه الگوریتم های ممکن را بیان کنند. ویژگی هایی که اغلب برای آنچه که یک زبان برنامه نویسی را تشکیل می دهد مهم تلقی می شوند عبارتند از:

 

عملکرد و هدف

زبان برنامه نویسی کامپیوتری زبانی است که برای نوشتن برنامه های کامپیوتری استفاده می شود که شامل کامپیوتری است که نوعی محاسباتیا الگوریتم را انجام می دهد و احتمالاً دستگاه های خارجی مانند چاپگرها، درایوهای دیسک، روبات ها، و غیره را کنترل می کند. به عنوان مثال، برنامه های PostScript اغلب توسط برنامه دیگری برای کنترل چاپگر یا نمایشگر رایانه ایجاد می شوند. به طور کلی تر، یک زبان برنامه نویسی ممکن است محاسبات را در برخی ماشین ها، احتمالاً انتزاعی، توصیف کند. به طور کلی پذیرفته شده است که یک مشخصات کامل برای یک زبان برنامه نویسی شامل توضیحات، احتمالا ایده آل، یک ماشین یا پردازنده برای آن زبان است.

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

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

انتزاعات

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

گاهی اوقات این اصل به عنوان توصیه ای به برنامه نویس برای استفاده مناسب از چنین انتزاعی هایی فرموله می شود.

قدرت بیان

تئوری محاسبات زبانها را بر اساس محاسباتی که قادر به بیان آنها هستند طبقه بندی می کند. همه زبان های تورینگ کامل می توانند مجموعه ای از الگوریتم ها را پیاده سازی کنند. ANSI/ISO SQL-92 و Charity نمونه‌هایی از زبان‌هایی هستند که تورینگ کامل نیستند، اما اغلب زبان‌های برنامه‌نویسی نامیده می‌شوند.

 

زبان‌های نشانه‌گذاری مانند XML، HTML یا troff که داده‌های ساخت‌یافته را تعریف می‌کنند، معمولاً زبان برنامه‌نویسی محسوب نمی‌شوند.

با این حال، اگر یک معناشناسی محاسباتی تعریف شده باشد، زبان های برنامه نویسی ممکن است نحو را با زبان های نشانه گذاری به اشتراک بگذارند. برای مثال، XSLT یک زبان کامل تورینگ است که به طور کامل از نحو XML استفاده می کند. علاوه بر این، LaTeX، که بیشتر برای ساختار اسناد استفاده می شود، همچنین شامل یک زیر مجموعه کامل تورینگ است.

 

همچنین بخوانید: آموزش برنامه نویسی asp.net core

 

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

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

 به طور مشابه، زبان‌هایی که در محاسبات استفاده می‌شوند و هدفی متفاوت از بیان برنامه‌های کامپیوتری دارند، به طور کلی زبان‌های کامپیوتری هستند. به عنوان مثال، گاهی اوقات به زبان‌های نشانه‌گذاری به عنوان زبان‌های کامپیوتری اشاره می‌شود تا تاکید شود که آنها برای برنامه‌نویسی استفاده نمی‌شوند.

 

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

 جان سی. رینولدز تاکید می کند که زبان های مشخصات رسمی به همان اندازه زبان های برنامه نویسی هستند که برای اجرا در نظر گرفته شده اند. او همچنین استدلال می‌کند که فرمت‌های ورودی متنی و حتی گرافیکی که بر رفتار کامپیوتر تأثیر می‌گذارند، زبان‌های برنامه‌نویسی هستند، علی‌رغم این واقعیت که معمولاً تورینگ کامل نیستند، و اظهار می‌کند که نادیده گرفتن مفاهیم زبان برنامه‌نویسی دلیل بسیاری از نقص‌ها در قالب‌های ورودی است. 

 

منبع : 

شهر سخت افزار