برنامه (رایانه)
برنامه (رایانه)
برنامه (رایانه): برنامهٔ رایانهای مجموعهای از دستورالعملها است که رایانه برای انجام یک کار مشخّص آن را اجرا میکند. رایانهٔ برای انجام کارهایش به برنامهها نیاز دارد و معمولاً دستورالعملهای هر برنامه را در یک واحد پردازش مرکزی اجرا میکند. معمولاً برنامههای رایانهای توسّط یک برنامهنویس و تحت یک زبان برنامهنویسی نوشته میشوند. به مجموعهای از برنامهها، کتابخانهها و دادههای مرتبط با آنها نرمافزار میگویند. مجموعهٔ کارهایی که برنامه انجام میدهد، الگوریتم نامیده میشود.
تولید برنامه
به فرایند نوشتن و ویرایش کد منبع، برنامهنویسی گفته میشود. گاهی به فرایند طولانی مدّت برنامهنویسی، توسعه نرمافزار گفته میشود. انجام این کار در چارچوب اصول مهندسی، مهندسی نرمافزار نامیده شده است. میتوان برنامهها را با توجّه به نوع زبان برنامهنویسی دستهبندی کرد. این دستهبندی میتواند بر اساس ویژگیهای زبان یا نحوهٔ اجرا باشد
دستهبندی زبانهای برنامهنویسی
کلّیترین دستهبندی زبانهای برنامهنویسی، آنها را به دو دستهٔ سطح بالا و سطح پایین تقسیم میکند. زبانهای سطح بالا مستقل از پلتفرم هستند و در آنها میتوان از کلیدواژههای انگلیسی برای نوشتن برنامه استفاده کرد. به عبارت دیگر این زبانها به توصیف مسائل به زبان انسان متمرکز هستند. در نقطهٔ مقابل زبانهای سطح پایین مستقیماً به دستورهای پردازنده دسترسی دارند.
زبانهای سطح بالا به دو دستهٔ دستوری و اعلانی تقسیم میشوند.
در زبانهای دستوری، برای اجرای یک الگوریتم از تعریفها، عبارتها و جملهها استفاده میشود.
- یک تعریف، نوع دادهٔ یک متغیّر را مشخّص میکند. مثلاً ;int x
- یک عبارت یک مقدار را مشخّص میکند. مثلاً y + 2
- یک جمله مقدار یک عبارت را به یک متغیّر نسبت میدهد یا از یک متغیّر برای تغییر جریان کنترل برنامه استفاده میکند. مثلاً ;z = pow(2,5)
زبانهای اعلانی، بیشتر از نحوهٔ انجام کار، بر کاری که باید انجام شود تمرکز دارند. این رویکرد باعث میشود امکان تغییر دادن نواحی بیرونی به یک تابع یا عبارت داده نشود و در نتیجه از بروز اثرات جانبی جلوگیری شود. این زبانها به سه دستهٔ اصلی تابعی، منطقی و پرسمانی تقسیم میشوند.
نحوهٔ اجرای برنامه
قسمتی از برنامه که برای انسان قابل درک است کد منبع و قسمتی که برای رایانه مستقیماً قابل اجرا است کد ماشین نامیده میشود. وظیفهٔ تبدیل کد منبع به کد ماشین به عهدهٔ کامپایلر، مفسّر یا اسمبلر است. میتوان برنامهها را با توجّه به عملکرد به دو دستهٔ اصلی تقسیم کرد:
- نرمافزارهای کاربردی که برای انجام یک کار مشخّص برای کاربر طرّاحی میشوند. این برنامهها به طور مستقیم با کاربر سر و کار دارند و دارای رابط کاربری هستند. مانندنرمافزارهای واژهپرداز، صفحهگستردهها، نرمافزارهای ارتباطی، بازیهای ویدیویی و …
- نرمافزارهای سیستمی که برای سرویس دادن به سایر نرمافزارها طرّاحی میشوند. این برنامهها عمدتاً با سختافزار در تعامل هستند و با کاربر به طور مستقیم ارتباطی ندارند. مانند سیستم عامل، درایور، نرمافزارهای جاسازی شده، موتورهای گرافیکی و … بخشهایی از سیستم عامل که دارای رابط کاربری هستند، به عنوان نرمافزار کاربردی در نظر گرفته میشوند.