زبان برنامه‌نویسی

زبان‌های برنامه‌نویسی ساختارهای زبانی دستور مداری در رایانه‌ها هستند که به‌وسیلهٔ آن‌ها می‌توان یک الگوریتم را به‌وسیلهٔ ساختارهای دستوری متفاوت برای اجرای رایانه توصیف کرد و با این روش امکان نوشتن برنامه جهت تولید نرم‌افزارهای جدید به وجود می‌آید. معمولاً هر زبان برنامه‌نویسی دارای یک محیط نرم‌افزاری برای وارد کردن متن برنامه، اجرا، همگردانی و رفع اشکال آن هستند. یک زبان برنامه‌نویسی یک زبان مصنوعی انگلیسی است که برای بیان محاسباتی که توسط یک ماشین (مخصوصا رایانه) قابل انجام است، طراحی شده‌است. زبان‌های برنامه‌نویسی برای ایجاد برنامه‌هایی به کار می‌روند که رفتار یک ماشین را مشخص می‌کنند، الگوریتم دقیق را بیان می‌کنند، یا روشی برای تعامل انسان و رایانه هستند. بسیاری از زبان‌های برنامه‌نویسی تعدادی قالب از ویژگی‌های نوشته شده دستوری یا نحو (syntax) و معناشناسی دارند، چرا که رایانه‌ها دستورهای دقیقاً مشخص نیاز دارند. برخی توسط سند خصوصیات تعیین شده‌اند، در حالی که برخی دیگر دارای پیاده‌سازی غالبی می‌باشند. اولین زبان برنامه‌نویسی به قبل از اختراع رایانه بازمی‌گردد، و برای هدایت رفتار ماشین‌هایی مانند دستگاه‌های نساجی اتوماتیک و نوازنده‌های پیانو به کار می‌رفت. صدها زبان برنامه‌نویسی خلق شده‌ است، که بیشتر آن‌ها در زمینهٔ رایانه هستند. زمینه‌ای که هر ساله بسیاری زبان دیگر در آن ایجاد می‌شود.

تعاریف:

کاربرد: یک زبان برنامه‌نویسی، زبانی است که برای نوشتن برنامه‌های رایانه‌ای به کار می‌رود که رایانه‌ای را برای انجام محاسبات یا اجرای الگوریتم یا احتمالاً کنترل دستگاه‌های خارجی مثل چاپگر، ربات و… درگیر می‌کنند.

هدف: زبان‌های برنامه‌نویسی با زبان‌های طبیعی تفاوت دارند و آن اینکه زبان‌های طبیعی فقط برای فعل و انفعالات بین مردم به کار می‌روند، در حالیکه زبان‌های برنامه‌نویسی همچنین به انسان‌ها اجازه می‌دهد که از طریق دستورهای با ماشین‌ها ارتباط برقرار کنند. برخی زبان‌های برنامه‌نویسی به وسیله ی یک دستگاه استفاده می‌شوند تا دستگاه دیگری را کنترل کند. برای مثال برنامه‌های پست‌اسکریپت (PostScript) غالباً توسط برنامه ی دیگری برای کنترل یک چاپگر یا نمایشگر ایجاد می‌شوند.

ساختارها: زبان‌های برنامه‌نویسی ممکن است ساختارهایی برای تعریف و تغییر داده ساختارها یا کنترل جریان اجرا داشته باشند.

توان بیانگر: نظریه محاسبات، زبان‌ها را به وسیلهٔ محاسباتی که توان بیان آن‌ها را دارند طبقه‌بندی می‌کند. تمام زبان‌های «کامل تورینگ» می‌توانند مجموعه یکسانی از الگوریتم‌ها را پیاده‌سازی کنند. ANSI/ISO SQL و Charity مثال‌هایی هستند از زبان‌هایی که کامل تورینگ نیستند، ولی غالباً زبان برنامه‌نویسی نامیده می‌شوند.