مفهوم برنامهنویسی
در دورهی آموزش زبان C به بررسی دستورات عمومی برنامهنویسی و سینتکس زبان سی پرداختیم اما مطلب بسیار مهم دیگری که باید دربارهی آن فکر و صحبت کنیم، مفهوم برنامهنویسیست. با ما همراه باشید.
برای شروع بحث، مثالی از دنیای واقعی میزنیم. فرض کنید به کشوری در آفریقای شمالی سفر کردهاید! در حال بازدید از یک اثر باستانی هستید و درمورد این اثر سوالی برایتان پیش میآید. از قضا یک شهروند آفریقایی نیز در کنار شما ایستاده است. مشتاق میشوید از او بپرسید که سازندهی این اثر کیست! اما متاسفانه چون زبان صحبت کردن با او را بلد نیستید نمیتوانید مسئلهتان را حل کنید.
ممکن است با خواندن پاراگراف بالا از خود بپرسید که این داستان چه ربطی به برنامهنویسی دارد! اما اگر یکم تامل کنید میتوانید ارتباط میان این دو را پیدا کنید.
در فرآیند برنامهنویسی ما باید مسئلهای که در ذهنمان است را به یک زبان دیگر ترجمه و به کامپیوتر بدهیم. اگر بتوانیم این کار را به درستی انجام دهیم، مسئلهی خود را حل کردهایم. درست مانند زمانی که توانستهایم از فرد آفریقایی سوالمان را بپرسیم و به جواب برسیم.
زبانهای برنامهنویسی همان ابزارهای ما برای رسیدن به جواب هستند. اما باید بدانیم که در نهایت همهی آنها به ۰ و ۱ تبدیل میشوند. در مورد زبان انسانها هم همین موضوع صادق است. زبانهای مختلفی در نقاط مختلف جهان وجود دارند اما همگی در مغر انسانها به یک مفهوم میرسند.
ما در دنیا با مسائل مختلفی روبهرو هستیم و حل این مسائل با دستگاهی به نام کامپیوتر، وظیفهی برنامهنویسهاست. این موضوع را میتوان از ۲ جنبه بررسی کرد.
- اولین جنبه، رسیدن به جواب است که مهمترین چیزی ست که برای همهی انسانها اولویت دارد.
- و دومین مورد، نحوهی رسیدن به این جواب.
به طور کلی ما دوست داریم به روشی بهینه به جواب برسیم. اما اینکه چطور مسائل را به روشی بهینه حل کنیم شاید به سالها تجربه نیاز داشته باشد. باید با ساختماندادهها، پایگاهداده، الگوهای طراحی و ... آشنا باشیم.
برای جمعبندی، مفهوم برنامهنویسی، کاربردی نگاه کردن به آن است. اگر به عناصر سازندهی آن مثل عملگرها، عملوندها، دستورات شرطی، توابع، اشیا و ... به طور مجزا نگاه کنیم، میبینیم که به تنهایی نمیتوانند برای ما کاری بکنند. چیزی که آنها را قدرتمند میکند، قرار گرفتن در کنار هم است و خروجی چینش آنها کنار یکدیگر همان کاربردیست که برای ما به ارمغان میآورند.