محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

برنامه نویسی چیست؟ بررسی واژه Programming به زبان بسیار ساده

برنامه نویسی چست؟ خوب خدارو شکر این روزها همه برنامه نویسی می کنند ، شما چطور ؟ الکی مثلا ما خیلی برنامه نویس هستیم. خوب امروز در ITPRO می خواهیم به ماهیت برنامه و برنامه نویسی بپردازیم ، بسیاری از برنامه نویس ها نمی دانند که واقعا مفهوم برنامه و برنامه نویسی چیست و بلافاصله وارد حوزه کدنویسی و انتخاب یک زبان برنامه نویسی می شوند. قبل از اینکه یک زبان برنامه نویسی انتخاب کنیم ما باید بدانیم که اصلا برنامه چیست و مفهوم برنامه نویسی یا Programming چیست ؟ اگر این مفهوم را به خوبی یاد بگیریم دیگر نوع برنامه و نوع زبان برنامه نویسی مهم نیست.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

تعریف برنامه یا Program در کامپیوتر

به زبان بسیار ساده برنامه یا Program یک یا چند دستور است که به کامپیوتر ما می گوید که چه کاری باید انجام دهد. در واقع همه برنامه هایی که شما امروزه مشاهده می کنید با همین مفهوم ساده کار می کنند که دستور می دهند که کامپیوتر چه کاری انجام دهد. شاید برای شما جای سئوال باشد که آیا فتوشاپ هم یک برنامه است ؟ پاسخ بله است ، فتوشاپ و هر نرم افزار پیچیده دیگری که مشاهده می کنید ، همه و همه مجموعه ای از دستورات هستند که به کامپیوتر می گویند چه کاری باید انجام دهد ، اما برنامه ای وجود دارد که تنها چند خط دستور دارد و برنامه ای وجود دارد که میلیون ها دستور را برای سیستم ما صادر می کند و به همین دلیل برنامه ما بزرگ و بزرگتر می شود.

برنامه نویسی یا Programming چیست ؟

خوب به زبان ساده وقتی شما یک دستور را به زبانی که کامپیوتر متوجه می شود برای آن صادر می کنید تا یک کاری برای شما انجام دهد شما یک برنامه نوشته اید و دستوری که شما به زبان کامپیوتر نوشته اید برنامه نویسی گفته می شود. البته شما در برنامه نویسی همیشه مجموعه ای از دستورات را استفاده می کنید که دقیقا به کامپیوتر می گوید که چه کاری را باید انجام بدهد. شما می توانید با استفاده از همین دستورات معادله های پیچیده و الگوریتم ها را نیز به زبان کامپیوتر تبدیل کنید .

زبانی که با آن با کامپیوتر ارتباط برقرار می کنید و به آن می گویید که چه کاری انجام بدهد را هم زبان برنامه نویسی می گویند. دقت کنید که برنامه نویسی باید به گونه ای انجام شود که کامپیوتر دستورات شما را متوجه شده و آنها را به درستی اجرا کند. دقت کنید که زبان های برقراری ارتباط با کامپیوتر یا همان زبان های برنامه نویسی بسیار متنوع هستند ، مهم این است که شما مفاهیم برنامه نویسی و تبدیل کردن خواسته های خودتان به دستورات کامپیوتری را متوجه شوید ، به یک مثال ساده توجه کنید .

اگر شما گرامر ، صرف و نحو و دستور زبان زبان های مختلف دنیا را خوب بلد باشید ، یاد گرفتن یک زبان جدید بسیار ساده است چو قواعد و قوانین یادگیری را به خوبی متوجه شده اید و پایه و اساس زبان را متوجه شده اید. حالا شما اگر در برنامه نویسی کامپیوتر شیوه تبدیل کردن خواسته های انسانی به دستورات کامپیوتری را به درستی متوجه شوید ، تنها چند روز یا چند ماه طول می کشد که با سخت ترین زبان های برنامه نویسی به خوبی ارتباط برقرار کنید. علم کامپیوتر مطالعه و کسب دانش در خصوص برنامه نویسی نیست ، اما برنامه نویسی جزء مهمی از علم کامپیوتر محسوب می شود. در واقع برنامه نویسی یک روش برای نمایش دادن راهکارهای ما انسان ها است . دقت کنید که بزرگترین دانشمندان و محققین حوزه کامپیوتر بعضا اصلا برنامه نویسی نمی دانند بلکه از سیستم و الگوریتم ها درک درستی دارند.

این الگوریتم ها هستند که مشکل را به درستی شناسایی می کنند و برای آن راهکار ارائه می دهند ، این الگوریتم ها هستند که نیازمندی های ما را تشریح می کنند ، داده های ما را تشریح می کنند و قدم هایی که برای پیاده سازی نتیجه نهایی مورد نیاز است را نیز ارائه می کنند. شما به عنوان یک برنامه نویس با استفاده از زبان های برنامه نویسی باید بتوانید راهی برای نمایش درست و معرفی درست و قدم به قدم دستورات و مراحل به همراه داده ها به کامپیوتر پیدا کنید و دستوراتی که از کامپیوتر توسط کاربر خواسته شده است را تبدیل کنید.

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

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

اگر شما می خواهید به خوبی با این دستگاه ارتباط برقرار کنید بایستی انواع داده ها یا Data Type ها را بشناسید. این Data Type ها هستند که به عنوان یک مفسر بین شما و کامپیوتر عمل می کنند و به شما در حل مسائل کمک می کنند. شما نیازی نیست که امروزه با زبان صفر و یک برنامه نویسی کنید ، این زبان بسیار سطح پایین است و برنامه نویسی با آن بسیار دشوار است ، امروزه زبان هایی وجود دارند که دستورات شما را بصورت ساده تری دریافت و خودشان به این زبان صفر و یک تبدیل می کنند و شما از پس زمینه آنها خبر ندارید.

یکی از مثال هایی که ما می توانیم در خصوص Data Type ها یا انواع داده عنوان کنیم integer یا اعداد صحیح هستند. برای مثال شما اعداد صحیح را می توانید با مفهومی به نام integer به کامپیوتر معرفی کنید. با استفاده از این نوع Data Type فرآیند های محاسباتی مثل جمع و ضربو تقسیم و ... راحت تر می شود و شما درگیر صفر و یک ها نمی شوید. امروزه تعداد زیادی Data Type برای رفع کردن مشکلات مربوط به انواع داده وجود دارند ، ما انواع داده ای به شکل تاریخ ، به شکل رشته ، به شکل اعداد اعشاری و ... داریم که در اکثر زبان های برنامه نویسی مشترک هستند.

بزرگترین مشکلی که ممکن است در فرآیند برنامه نویسی رخ بدهد درست تحلیل نکردن صورت مسئله و عدم ارائه الگوریتم مناسب برای حل مشکل و از همه مهمتر پیچیده کردن راهکار است. اگر کمی در حوزه برنامه نویسی کار کرده باشید متوجه می شوید که برخی برنامه نویس ها کدهایی در چند صفحه می نویسند که یک کار را انجام دهد و برنامه نویس دیگری با تکنیک بسیار هوشمندانه تری تنها با یک خط کد همه آن کارها را انجام می دهد ، بنابراین برنامه نویس حرفه ای بایستی ابتدا صورت مسئله را خوب درک کند و الگوریتم رفع مشکل را خوب متوجه شود و بهترین و سریعترین و بهینه ترین راهکار حل مشکل را پیاده سازی کند. برنامه نویسی هنر حل کردن مشکلات است. امیدوارم مورد توجه شما قرار گرفته باشد. توسینسو باشید

نویسنده : محمد نصیری

منبع : انجمن تخصصی فناوری اطلاعات ایران

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات