برنامهنویسی؛ هنر نوشتن دستور برای رایانه
برنامهنویسی یعنی نوشتن یک سری دستور گامبهگام به زبانی که رایانه بفهمد. این دستورها مانند دستور پخت غذا یا راهنمای بازی هستند. در این مقاله با مفاهیم پایهٔ برنامهنویسی، کاربردهای روزمرهٔ آن و پاسخ به چند پرسش چالشی آشنا میشوید. کلیدواژههای مهم: دستورالعملالگوریتمزبان برنامهنویسیاشکالزدایی
دستورالعمل چیست و چگونه به رایانه میگوییم چه کند؟
رایانهها مانند یک ماشین حساب بسیار قدرتمند هستند، اما خودشان چیزی نمیدانند. برای اینکه یک کار مشخص انجام دهند، باید دقیقاً به آنها بگوییم چه کاری، به چه ترتیبی و با چه دادهای انجام دهند. به این مجموعهٔ منظم از دستورها، «برنامه» میگوییم. برنامهنویس کسی است که این دستورها را با یک زبان برنامهنویسی مینویسد. زبان برنامهنویسی مانند یک واسطه است که دستورهای ما را به زبان صفر و یک (زبانی که رایانه میفهمد) ترجمه میکند.
برای روشنتر شدن موضوع، به یک مثال روزمره توجه کنید: وقتی صبح برای مدرسه آماده میشوید، یک دستورالعمل ذهنی دارید. مثلاً: از خواب بیدار شومسواک بزنصبحانه بخورکیف را برداراز خانه بیرون بزن. اگر ترتیب این کارها را عوض کنید، مثلاً اول بیرون بزنید و بعد مسواک بزنید، نتیجهٔ خوبی نمیگیرید! برنامهنویسی هم دقیقاً به همین ترتیب عمل میکند؛ یعنی ترتیب انجام کارها در برنامه بسیار مهم است.
کاربردهای برنامهنویسی در زندگی روزمره
شاید فکر کنید برنامهنویسی فقط کار متخصصان کامپیوتر است، اما در حقیقت هر جا که یک کار تکراری یا محاسباتی وجود دارد، برنامهنویسی پشت صحنه است. مثلاً وقتی با گوشی همراه خود یک عکس میگیرید و فیلتر روی آن میاندازید، یک برنامهنویسی انجام شده است که رنگها را تغییر دهد. یا وقتی در یک اپلیکیشن پیامرسان، پیامی را برای دوستتان میفرستید، برنامهای دستور میدهد که پیام شما را به صورت امن به گوشی دوستتان برساند. حتی بازیهای رایانهای که خیلی از شما عاشق آنها هستید، مجموعهای از دستورهای برنامهنویسی هستند که حرکت شخصیتها، برخورد توپ با دیوار و امتیاز گرفتن را کنترل میکنند.
بیایید یک مثال خیلی ساده از زندگی خودتان را بررسی کنیم: فرض کنید میخواهید به دوستتان پیام بدهید که «امروز زنگ تفریح کجا باشیم؟». پیامرسان موبایل شما این کار را به چه شکل انجام میدهد؟ ابتدا برنامه دستور میدهد که صفحهٔ کیبورد باز شود، بعد هر حرفی که میزنید را به شکل کدهای دیجیتال ذخیره کند، سپس وقتی دکمهٔ ارسال را میزنید، یک دستور دیگر کدها را به فرستندهٔ اینترنت میدهد تا به گوشی دوست شما برسد. همهٔ این مرحلهها با دستورهای برنامهنویسی نوشته شدهاند.
| دستورالعمل انسانی | برنامهنویسی رایانه |
|---|---|
| به زبان طبیعی (فارسی) گفته میشود. | با زبان ویژهٔ برنامهنویسی نوشته میشود. |
| ممکن است مبهم یا غیردقیق باشد. | باید دقیق، بیابهام و گامبهگام باشد. |
| انسان میتواند اشتباه را حدس بزند و اصلاح کند. | رایانه دقیقاً همان دستور را اجرا میکند، حتی اگر اشتباه باشد. |
چالشهای مفهومی در برنامهنویسی
پرسش ۱: آیا رایانه میتواند خودش تصمیم بگیرد؟
خیر، رایانه خودش هیچ تصمیمی نمیگیرد. برنامهنویس در برنامه شرط میگذارد که مثلاً «اگر نمرهٔ آزمون از ۱۲ بیشتر بود، عبارت «قبول» را نشان بده، در غیر این صورت «رد» را نشان بده». بنابراین تصمیمگیری در واقع توسط برنامهنویس طراحی شده است و رایانه فقط بر اساس آن شرط، یک گزینه را انتخاب میکند.
پرسش ۲: چرا برنامهنویسها اشتباه میکنند و برنامه خراب میشود؟
به این اشتباهات «باگ» میگویند. ممکن است برنامهنویس یک دستور را اشتباه بنویسد، یا ترتیب دستورها را رعایت نکند، یا فراموش کند یک حالت خاص را در نظر بگیرد. وقتی برنامه با خطا مواجه میشود، برنامهنویس باید آن را پیدا کرده و اصلاح کند. به این کار «اشکالزدایی» میگویند. این دقیقاً مثل این است که در یک دستور آشپزی، فراموش کنید نمک بزنید؛ بعد که غذا بینمک شد، باید نمک را اضافه کنید.
پرسش ۳: آیا یادگیری برنامهنویسی به ریاضیات خیلی قوی نیاز دارد؟
نه لزوماً. برای شروع برنامهنویسی، منطق و ترتیبدهی مهمتر از ریاضیات پیشرفته است. شما باید بتوانید یک مسئله را به بخشهای کوچکتر تقسیم کنید و برای هر بخش یک راهحل بنویسید. این مهارت «تفکر الگوریتمی» نام دارد و با تمرین قابل تقویت است. ریاضیات بیشتر برای برنامهنویسی پیشرفته (مثل هوش مصنوعی یا بازیسازی سهبعدی) نیاز میشود.
آنچه باید به خاطر داشته باشید
برنامهنویسی یعنی نوشتن دستورهای گامبهگام و دقیق برای رایانه تا کاری را انجام دهد. این دستورها باید به زبانی نوشته شوند که رایانه متوجه شود و ترتیب آنها بسیار مهم است. برنامهنویسی در بازیها، پیامرسانها، ماشینحسابها و حتی وسایل هوشمند خانه کاربرد دارد. مهمتر از همه، برنامهنویس باید بتواند مسئله را به بخشهای کوچک تقسیم کند و برای هر بخش یک الگوریتم مناسب بنویسد. با تمرین و حل مسئله، میتوانید این مهارت را مانند یک بازی فکری جذاب یاد بگیرید و از آن لذت ببرید.