تعاریف
ویژگیهایی که غالبا برای تشکیل یک زبان برنامه نویسی مهم شمرده میشوند:
- تابع :یک زبان برنامه نویسی، زبانی است که برای نوشتن برنامههای رایانهای به کار میرود که رایانهای را برای انجام محاسبات یا اجرای الگوریتم و یا احتمالا کنترل دستگاههای خارجی مثل چاپگر، ربات و... درگیر میکنند.
- هدف: زبانهای برنامه نویسی با زبانهای طبیعی تفاوت دارند و آن اینکه زبانهای طبیعی فقط برای فعل و انفعالات بین مردم به کار میروند، در حالیکه زبانهای برنامه نویسی همچنین به انسانها اجازه میدهد که از طریق دستورات با ماشینها ارتباط برقرار کنند. برخی زبانهای برنامه نویسی بوسیله یک دستگاه استفاده میشوند تا دستگاه دیگری را کنترل کند. برای مثال برنامههای پست اسکریپت(post script) غالبا توسط برنامه دیگری برای کنترل یک چاپگر و یا نمایشگر ایجاد میشوند.
- ساختارها: زبانهای برنامه نویسی ممکن است ساختارهایی برای تعریف و تغییر داده ساختارها یا کنترل جریان اجرا داشته باشند.
- توان بیانگر: نظریه محاسبات، زبانها را بوسیله محاسباتی که توان بیان آنها را دارند طبقه بندی میکند. تمام زبانهای "کامل تورینگ" میتوانند مجموعه یکسانی از الگوریتمها را پیاده سازی کنند.ANSI/ISO SQL و Charity مثالهایی هستند از زبانهایی که کامل تورینگ نیستند، ولی غالبا زبان برنامه نویسی نامیده میشوند.
برخی مولفین اصطلاح" زبان برنامه نویسی" را محدود به آنهایی میکنند که میتوانند تمام الگوریتمهای ممکن را پیاده سازی کنند، گاهی اوقات اصطلاح" زبان رایانه" برای زبانهای برنامه نویسی محدودتر به کار میرود. زبانهای غیر محاسباتی، مانند زبانهای مارک آپ(markup) HTML یا گرامرهای قراردادی مثل BNF، معمولاً زبان برنامه نویسی محسوب نمیشوند. یک زبان برنامه نویسی(که میتواند کامل تورینگ نباشد) ممکن است در این زبانهای غیر محاسباتی (میزبان) تعبیه شوند.