برنامه نویسی کامپیوتر چیست؟
برنامه نویسی کامپیوتر چیست؟
در این مقاله میخواهیم یکی از شاخص ترین حرفهها و دانشی که این روزها زیاد در مورد آن ها میشنویم یعنی برنامه نویسی کامپیوتر را معرفی کنیم و بگیم که :
- برنامه نویسی کامپیوتر چیست؟
- چه کسی برنامه نویسی کامپیوتر بلد است ؟
- فواید برنامه نویسی کامپیوتر
- نکات ساده ولی کاربردی از یادگیری برنامه نویسی در ارتباطات غیر کامپیوتر
- یک تمرین عملی برای مبتدیانی که مشتاقند به دنیای برنامه نویس ها وارد شوند
حدس میزنم تا حالا حتما این جمله را با خودتان گفتید و یا از کسی شنیدید که وقتی میگویند:
شخصی برنامه نویسی کامپیوتر خونده و یا بلده، در جواب میگیم جداً ؟!
خوش به حالش…واای چه خفن…!
خب پس اول بیایید آشنا شویم که برنامه نویسی کامپیوتر و یا زبان برنامه نویسی یعنی چی؟
وقتی میخواهیم با هر کسی یا چیزی ارتباط برقرار کنیم، مهمترین نکته این است که با زبان خودش با او صحبت کنیم.
مثلا فرض کنید شما بخواهید به یک فردی که فقط زبان چینی بلدست و هیچ تمایلی هم به یادگیری زبان دیگری ندارد و اصلا تا حالا در عمرش زبان عربی نشنیده و نمیدونه معادل عربی خوراکی یا وسیله بازی چیست بیایم بهترین پیشنهاد کاری دنیا را با زبان عربی به او بگوییم.
قطعا مغز چنین فردی ارور میدهد و شما را دیوانه خطاب میکند. چرا؟ واضح است، چون او متوجه درخواست ویژه شما نشده و نتوانسته با شما ارتباط برقرار کند.
کامپیوتر هم به عنوان مخاطب نسبتاً محترمی که در مقابل ما قرار دارد تا با آن حرف بزنیم (که عملا ما آنقدر قدرت داریم که فقط دستور میدهیم و معمولاً این حرف زدن یک طرفه است!)
کامپیوتر، یک زبان مخصوص به خودش را داره و هیچ چیز دیگهای رو متوجه نمیشه! پس وقتی میخواهیم دستوری به کامپیوتر بدهیم تا اجرا کند مهمترین نکته این است که با زبان خودش با آن صحبت کنیم.
تمام داستان همین بود و ما به این حرف زدن با کامپیوتر “برنامه نویسی کامپیوتر” میگوییم.
در واقع کل چیزی که باید در مورد برنامه نویسی دانست این است که، کاری که میخواهیم کامپیوتر انجام دهد را ریز به ریز و مرحله به مرحله باید برای این کامپیوتر کم فهم، مو شکافی کرد.
مثال ساده ای از برنامه نویسی کامپیوتر
فرض کنید بخواهید به یک دختر بچه ۶ ساله آموزش پختن خورشت فسنجون بدهید!!
قطعا گفتن جمله: “دخترم برو فسنجون خوشمزه درست کن” به هیچ عنوان مؤثر نخواهد بود. بلکه باید گام به گام و مرحله به مرحله برای او شفاف سازی کنید
مثلا: به آشپزخانه برو.
در فریزر را باز کن.
۲ بسته مرغ را از کشوی اول انتخاب کن.
بسته ها را بیرون بیاور.
درب فریزر را ببند.
و …
از آنجایی که اینجا کلاس آشپزی نیست تا همین مرحله اکتفا میکنیم. قطعا برای چنین کاری حدود ۱۰۰ مورد را باید نوشت.بنابراین میبینید که وقتی با این دقت به یک موضوع و کار نگاه میکنید، حتی کارهای ریز و ساده ای که برای ما بدیهی است را باید نام برد.
به نوشتن چنین مراحل انجام کار “الگوریتم برنامه” میگویند.
در الگوریتم نویسی، ترتیب مراحل اهمیت زیادی دارد. مثلا ما نمیتونیم بگیم مرغ ها را بشور و در مرحله بعد بگوییم خب حالا مرغ ها را از فریزر بیرون بیاور.
(گفتن این جمله همانقدر برای یک آشپز خنده دارست که دیدن کدهای برخی از ما برای کامپیوتر !!!!!)
چه کسی برنامه نویسی کامپیوتر را بلد است؟
تا اینجا با مفهوم برنامه و برنامه نویسی آشنا شدیم و فهمیدیم که حتما باید شخصی در این سمت کامپیوترها باشد تا به کامپیوترها بکن نکن کند.
ما این شخص را “برنامه نویس” صدا میکنیم.
برنامه نویس باید با تمام فنون و قوانین دنیای صحبت با کامپیوتر آشنا باشد و بتواند مفهوم و کاری که در نظر خودش هست را با سادهترین روش ممکن به کامپیوتر بفهماند.
قطعا هرچه الگوریتم و برنامهای که مینویسد در زمان کمتر و با مصرف منابع کمتر باشد، هم برنامه نویس و هم کامپیوتر هر دو خوشحال ترند.
هر چه میزان این بهینگی بیشتر باشد ما میگوییم برنامه نویس حرفهای ترست و در شغلش نسبت به سایرین موفقتر خواهد بود.
در واقع در این مرحله است که میگوییم: “کم گوی و گزیده گوی چون دُر”.
یکی از بارزترین قانون های موجود در زبان کامپیوترها جمله زیر است:
“بودن یا نبودن مسئله این است”
برای برقراری ارتباط با کامپیوترها، برنامه نویس باید جمله بالا را ملکه ذهن خودش کند.
و طوری برنامه مورد نظرش را بنویسد که به کامپیوتر به طور واضح سخن بگوید که باش یا نباش.
البته با گذر زمان و پیدا شدن زبانهای سطح بالای برنامه نویسی کمکم شعور کامپیوترها بالاتر رفته و یک مترجم تمام وقت را استخدام کرده اند تا واسطهگری کنه و کد ها و دستوراتی که توسط انسان نوشته می شود را برای کامپیوتر قابل فهم کنه.
در واقع به همون زبان بودن یا نبودن کامپیوتر ها (صفر و یکی) تبدیل کنه.
فواید برنامه نویسی کامپیوتر
در بخشهای قبلی این مقاله در مورد تعریف و فواید برنامه نویسی صحبت کردیم، اما آیا دانستن چنین دانشی (برنامه نویسی کامپیوتر) برای جنبه های دیگر زندگی انسان ها هم مزیتی دارد یا نه؟ آیا میشه از دانستن چنین تکنیکی سوء استفاده کرد یا بهتر بگم فرا استفاده کرد؟
خوشبختانه پاسخ ما مثبت است. همه ما چه برنامه نویس باشیم و چه قصد داشته باشیم برنامه نویس بشویم و حتی اگر در هیچ دستهی گفته شده هم نباشیم،
قطعا بعد از خواندن این مقاله، با رعایت چند نکته ساده و مهم میتوانیم ارتباطات بهتری را در زندگی خود تجربه کنیم.
نکات ساده ولی کاربردی از یادگیری برنامه نویسی در ارتباطات غیر کامپیوتری:
۱- قبل از هر گونه درخواستی از کسی، ابتدا یک بار برای درخواست خود الگوریتمی بنویسید و آن را در ذهن خود مرور کنید، اگر ترتیب این مراحل باید عوض شود آن را قبل از بیان تغیر دهید و سپس به مخاطب خود اعلام کنید.
۲- حتما قبل از زدن دکمه اوکی برای ارسال درخواست خود، یک بار خروجی مورد انتظار خودتون رو مرور کنید و ببینید با این روندی که مد نظرتان است چنین خروجی رو دریافت میکنید یا نه؟
۳- مطمئن شوید که در میان خطوط الگوریتمی که ساخته اید قطعه کدهای مخربی وجود نداشته باشد تا مانع آن شود که برنامه شما در میان راه متوقف شود و ادامه مراحل تأثیری در نتیجه نهایی نداشته باشند.
اولین مورد به زبان کامپیوتریها یعنی رسم کردن فلوچارت و الگوریتم برنامه و به دومین مورد در دنیای ما کامپیوتری ها؛ ارزیابی، تست (test) و تِریس (trace) گفته می شود و به خطوط خراب کننده در سومین نکته برِیک پوینت (break point) میگوییم.
تمرین عملی برای مبتدیانی که مشتاقند به دنیای برنامه نویس ها وارد شوند:
یکی از کارها و یا درخواست های روزانه خودتان را طبق مراحل الگوریتم نویسی که در بالا مطرح شد روی یک کاغذ بنویسید.
ابتدا هر چیزی که به ذهنتان رسید برای این کار را یادداشت کنید و سپس مراحل نوشته شده را به ترتیب شماره گذاری کنید.
بعد از تمام شدن این کار سعی کنید چندبار نوشته های خودتان را بخوانید و بررسی کنید که آیا میتونین برخی از مراحلی که ضروری نیست را حذف کنید و یا اینکه تا چه حد میشه این مراحل را با بیان بهتر و سادهتر بازنویسی کرد.
به شما تبریک میگویم که توانستهاید مفهوم کلی برنامه نویسی کامپیوتر و برنامهنویس را به خوبی متوجه شوید.
تین تک، دنیای تکنولوژی کودک و نوجوان
دیدگاهتان را بنویسید