
برنامه نویسی

ر رسانههای مختلف یا مجامعی که حضور داشتهاید نام برنامه نویسی به گوش شما خورده است. معمولاً زمانی که اسم برنامه نویسی به زبان میآید تصورات جالبی در ذهن مخاطبین شکل میگیرد!! ممکن است عدهای به یاد فیلمهای سینمایی بیفتند و هک سیستمهای بانکی و موشکی و… را به خاطر بیاورند!
بعضی هم یک اتاق تاریک و یک شخصی که در صفحهای مشکیِ یک کامپیوتر قدرتمند (خفن!) در حال نوشتن کدهای سبز و آبی است را به ذهن بیاورند! اما در دنیای واقعی برنامهنویسان الزاماً اینگونه نیستند! اگر می خواهید بدانید معنای واقعی برنامه نویسی چیست؟ و به چه کسی برنامه نویس میگویند در این مقاله همراه ما باشید تا این مفهوم را بررسی کنیم.

برنامه نویسی چیست؟
برنامهنویسی یک روش حل مسئله به کمک کامپیوتر است. فرض کنید که وارد بانک میشوید و کدملی خود را به متصدی بانک اعلام میکنید. متصدی به کمک تنها یک کد تمامی اطلاعات حساب بانکی شما را پیدا میکند. مشخصات شما، گردشهای مالی، موجودی و ….
این امکان به کمک برنامهنویسی ایجاد شده است. سیستمی که برای بانک طراحی شده با دریافت کدملی شما، اطلاعات شما را از میان میلیونها اطلاعات دیگر پیدا کرده و در قالب جداول نمایش میدهد.
در واقع یک تیم برنامه نویسی این سیستم را به این صورت برنامهنویسی کردهاند. بنابراین میتوان گفت برنامهنویسی یک علم است که به کمک آن میتوان به کامپیوتر دستوراتی برای اجرا داد. دستورات را در قالب کدهایی به کامپیوتر میدهیم این اطلاعات و دستورات در مغز کامپیوتر (CPU) پردازش میشوند و خروجی کار به کاربر نمایش داده میشود.
جالب است بدانید کامپیوترها زبان انسانها را درک نمیکنند. آنها تمامی اطلاعات را به صورت اعداد صفر و یک میبینند! یک برنامهنویس به کمک یک زبان برنامهنویسی منظور خود را به یک نرم افزار منتقل میکند. این دستورات به کدهای ۰ و ۱ تبدیل میشوند و کامپیوتر آنها را درک کرده و پردازش میکند!
اگر بخواهیم این مفهوم را به جمعبندی شده تعریف کنیم بهتر است بگوییم برنامهنویسی علم حل مسئله به کمک کامپیوتر است.
برنامه نویس کیست؟ (معنی برنامه نویس)
حالا که با مفهوم برنامه نویسی آشنا شدید میتوانید بگویید که یک برنامه نویس کیست! برنامهنویس شخصی است که سعی میکند برای مسئلهها بهترین پاسخها را پیدا کند و آنها را به کمک زبانهای برنامهنویسی به کامپیوتر منتقل کند. بدین صورت کامپیوتر اطلاعات دریافتی را پردازش میکند و خروجی کار را نمایش می دهد.
پس شخص برنامهنویس باید به فرآیند حل مسئله، تحلیل دادهها، عیبیابی و… مسلط باشد.
اگر بخواهیم کمی سادهتر توضیح دهیم که برنامه نویس چه کسی است، میتوان گفت همان شخصی که در کامپیوتر شروع به تولید یک نرمافزار میکند. ممکن است این نرمافزار برای اجرا در صفحات وب باشد، یا برای اجرا در دسکتاپ، موبایل و….
کاربرد برنامهنویسی چیست؟
اگر میپرسید برنامه نویسی در کجا کاربرد دارد؟ بهتر است بگویم همه جا! امروزه تمامی سیستمهایی که اندکی هوشمند به نظر میرسند برنامهنویسی شدهاند!
به گوشی موبایل خود نگاه کنید. برای تمام فعالیتهایی که این گوشی انجام میدهد (فرستادن پیام، گرفتن عکس، پخش ویدیو و…) برنامهای نوشته شده است. تک تک نرمافزارهایی که در آن نصب کردهاید توسط برنامه نویسها کدنویسی شده است.
حتی ماشین لباسشویی، یخچالهای هوشمند هم دارای برنامههایی هستند که از قبل طراحی شدهاند. پس با در نظر گرفتن این نکات می توان متوجه شد که برنامهنویسی علمی است که در تمامی علوم و صنایع دیگر به کاربرده میشود.
چگونه میتوانیم یک برنامه نویس باشیم؟
اگر به حرفهی برنامه نویسی علاقمند شدید برای شروع باید ابتدا حوزهی برنامه نویسی و هدف خود را از اینکار مشخص کنید. برای انجام این کار، مطالعه زیر بسیار مفید خواهد بود:
زبانی که کامپیوتر میتواند آن را بفهمد دودویی ( binary ) نامیده میشود و ترجمه زبان برنامه نویسی به باینری به عنوان کامپایل (Compile) شناخته میشود. هر زبان، از زبان برنامه نویسی C گرفته تا زبان برنامه نویسی پایتون ، ویژگیهای متمایز خود را دارد، اگرچه اغلب اوقات ویژگیهای مشترک بین زبان های برنامه نویسی وجود دارند.
زبان های برنامه نویسی به رایانهها این امکان را میدهند تا با سرعت و کارآمدی بخشهای بزرگ و پیچیدهای از اطلاعات را پردازش کنند. برای مثال، اگر به فردی فهرستی از اعداد تصادفی از یک تا ده هزار داده شود و از آن شخص خواسته شود که اعداد را به ترتیب صعودی مرتب کند، به احتمال زیاد زمان قابل توجهی طول میکشد و احتمال بروز برخی خطاها وجود دارد.
زبان های برنامه نویسی رویهای (Procedural Programming)
برای اجرای دنبالهای از عبارتهای مورد استفاده قرار میگیرند که منجر به نتیجه میشوند. به طور معمول، این نوع زبان های برنامه نویسی از متغیر چندگانه (Multiple Variable)، حلقههای سنگین (Heavy loop) و عناصر دیگر استفاده میکنند که آنها را با زبان های برنامه نویسی تابعی (Functional Programming) متمایز میکنند.
زبان های برنامه نویسی تابعی چه هستند؟
زبان های برنامه نویسی تابعی معمولاً از دادههای ذخیره شده استفاده میکنند و اغلب در آنها از توابع بازگشتی به جای حلقهها استفاده میشود. تمرکز اولیه برنامه نویسی تابعی روی مقادیر بازگشتی توابع است. به عنوان مثال، در یک زبان برنامه نویسی تابعی، اگر تابعی ایجاد و نامگذاری شود، انتظار میرود که دیگر هیچگونه تغییری در عملکرد آن انجام نشود. با این حال ممکن است فراخوانی الگوریتمی نیز ایجاد کند و پارامترهای این فراخوانیها تغییر پیدا کنند.
زبان برنامه نویسی رویهای ممکن است متغیرها را به غیر از مقدار بازگشتی تابع، مانند چاپ کردن اطلاعات، کنترل کنند. برای مثال زبان های برنامه نویسی جاوا اسکریپت (JavaScript)، C و ++C زبان های برنامه نویسی رویهای به حساب میآیند.
زبان های برنامه نویسی تابعی معمولاً سادهتر از انواع زبان های برنامه نویسی دیگر هستند و به راحتی میتوان به مسائل انتزاعی با استفاده از آنها در برنامه نویسی اشاره کرد. برای مثال در این نوع از زبان های برنامه نویسی میتوان زبان های اف شارپ (#F)، هسکل (Haskell) و اسکیم (Scheme) را نام برد.