برنامه (رایانه)

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
یک برنامه‌ی رایانه‌ای به زبان پایتون که عبارت Salam! 7 را چاپ می‌کند.

برنامه‌ی رایانه‌ای مجموعه‌ای از دستورالعمل‌ها است که رایانه برای انجام یک کار مشخّص آن را اجرا می‌کند. رایانه‌ی برای انجام کارهایش به برنامه‌ها نیاز دارد و معمولاً دستورالعمل‌های هر برنامه را در یک واحد پردازش مرکزی اجرا می‌کند.

معمولاً برنامه‌های رایانه‌ای توسّط یک برنامه‌نویس و تحت یک زبان برنامه‌نویسی نوشته می‌شوند. به مجموعه‌ای از برنامه‌ها، کتاب‌خانه‌ها و داده‌های مرتبط با آن‌ها نرم‌افزار می‌گویند. [۱] مجموعه‌ی کارهایی که برنامه انجام می‌دهد، الگوریتم نامیده می‌شود.

تولید برنامه[ویرایش]

به فرایند نوشتن و ویرایش کد منبع، برنامه‌نویسی گفته می‌شود. گاهی به فرایند طولانی مدّت برنامه‌نویسی، توسعه نرم‌افزار گفته می‌شود. انجام این کار در چارچوب اصول مهندسی، مهندسی نرم‌افزار نامیده شده است.

می‌توان برنامه‌ها را با توجّه به نوع زبان برنامه‌نویسی دسته‌بندی کرد. این دسته‌بندی می‌تواند بر اساس ویژگی‌های زبان یا نحوه‌ی اجرا باشد

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

ویژگی‌های زبان[ویرایش]

کلّی‌ترین دسته‌بندی زبان‌های برنامه‌نویسی، آن‌ها را به دو دسته‌ی سطح بالا و سطح پایین تقسیم می‌کند. زبان‌های سطح بالا مستقل از پلتفرم هستند و در آن‌ها می‌توان از کلیدواژه‌های انگلیسی برای نوشتن برنامه استفاده کرد. به عبارت دیگر این زبان‌ها به توصیف مسائل به زبان انسان متمرکز هستند. در نقطه‌ی مقابل زبان‌های سطح پایین مستقیماً به دستورهای پردازنده دسترسی دارند.

زبان‌های سطح بالا به دو دسته‌ی دستوری و اعلانی تقسیم می‌شوند.[۲]

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

  • یک تعریف، نوع داده‌ی یک متغیّر را مشخّص می‌کند. مثلاً  ;int x
  • یک عبارت یک مقدار را مشخّص می‌کند. مثلاً y + 2
  • یک جمله مقدار یک عبارت را به یک متغیّر نسبت می‌دهد یا از یک متغیّر برای تغییر جریان کنترل برنامه استفاده می‌کند. مثلاً  ;z = pow(2,5)

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

نحوه‌ی اجرای برنامه[ویرایش]

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

تقسیم‌بندی عملکردی[ویرایش]

Starry Night، یک نرم‌افزار کاربردی

می‌توان برنامه‌ها را با توجّه به عملکرد به دو دسته‌ی اصلی تقسیم کرد:

نرم‌افزارهای کاربردی که برای انجام یک کار مشخّص برای کاربر طرّاحی می‌شوند. این برنامه‌ها به طور مستقیم با کاربر سر و کار دارند و دارای رابط کاربری هستند. مانندنرم‌افزارهای واژه‌پرداز، صفحه‌گسترده‌ها، نرم‌افزارهای ارتباطی، بازی‌های ویدیویی و ...

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

منابع[ویرایش]

ویکی‌پدیای انگلیسی

  1. Paul Deitel, Harvey Deitel (2017). C++ How to Program (10 ed.). Pearson. ISBN 9780134448237. 
  2. https://www.slideshare.net/ProjectStudent/classification-of-programming-languages