برنامه نویسی به فرآیند آمادهسازی یک برنامه برای یک دستگاه گفته میشود که این برنامه از تعدادی دستورالعمل تشکیل شده است.
برنامهنویسی یک روش حل مسئله به کمک کامپیوتر است. فرض کنید که وارد بانک میشوید و کدملی خود را به متصدی بانک اعلام میکنید. متصدی به کمک تنها یک کد تمامی اطلاعات حساب بانکی شما را پیدا میکند. مشخصات شما، گردشهای مالی، موجودی و ….
این امکان به کمک برنامهنویسی ایجاد شده است. سیستمی که برای بانک طراحی شده با دریافت کدملی شما، اطلاعات شما را از میان میلیونها اطلاعات دیگر پیدا کرده و در قالب جداول نمایش میدهد.
در واقع یک تیم برنامه نویسی این سیستم را به این صورت برنامهنویسی کردهاند. بنابراین میتوان گفت برنامهنویسی یک علم است که به کمک آن میتوان به کامپیوتر دستوراتی برای اجرا داد.
جالب است بدانید کامپیوترها زبان انسانها را درک نمیکنند. آنها تمامی اطلاعات را به صورت اعداد صفر و یک میبینند! یک برنامهنویس به کمک یک زبان برنامهنویسی منظور خود را به یک نرم افزار منتقل میکند. این دستورات به کدهای ۰ و ۱ تبدیل میشوند و کامپیوتر آنها را درک کرده و پردازش میکند!
هر برنامه کامپیوتری یا به عبارتی هر نرم افزار مجموعه ای از دستوراتی است که به ترتیب خاصی به کامپیوتر داده میشوند و یکی پس از دیگری اجرا میشوند. به طور مثال یک ویروس -که یک برنامه ی مخرب کامپیوتری است- دستوراتی بر مبنای تخریب و یا از بین بردن بخشی از اطلاعات ذخیره شده روی کامپیوتر را دارا است. برای روشن تر شدن مطلب، نرم افزار را به یک مثال از زندگی روزمره مان تشبیه میکنیم. فرض را بر این بگذاریم که خودروی شخصی شما خراب میشود و شما مجبور میشوید که آن را نزد مکانیکی ببرید. مکانیک پس از عیب یابی خودروی شما از شاگرد خود می خواهد که موارد ذیل را به ترتیب اجرا کند:
اول ماشین را خاموش کند. دوم کاپوت ماشین را بالا بزند. سوم روکش انژکتور را بردارد. چهارم پس از باز کردن انژکتور سوزن سوم آن را تعویض کند. پنجم انژکتور را مجدداً سوار کند. ششم روکش آن را نصب کند. و در نهایت کاپوت ماشین را بسته و استارت بزند.
در مثال فوق مکانیک به منزله برنامه نویس است و شاگرد هم به منزله اجرا کننده و یا همان کامپیوتر. مفهوم تعمیر شدن ماشین را نیز میتوان به عملیاتی تشبیه کرد که یک نرم افزار انجام می دهد. هر یک از دستوراتی را که مکانیک به شاگردش می دهد همانند همان دستوراتی است که ما به عنوان برنامه نویس به کامپیوتر می دهیم تا کاری را انجام دهد. حال اگر این دستورات به نحوی باشند که کار مثبتی صورت گیرد ما یک نرم افزار تولید کرده ایم و چنانچه این دستورات موجب ایجاد خللی در سیستم شوند و به جایی صدمه بزنند ما یک بدافزار یا ویروس طراحی کرده ایم (در مثال تعمیر خودرو، شاگرد مکانیک میتوانست به جای تعوض سوزن انژکتور، نه تنها سوزن را تعویض نکند بلکه از عمد به مابقی سوزن ها هم صدمه بزند!)
اصطلاحاً به هر دستوری که می خواهیم اجرا شود یک Statement گفته می شود. حال برای نوشتن تعدادی Statement ما نیاز به یک ویرایشگر متن داریم تا بتوانیم دستورات مد نظر را در آن وارد سازیم.
بیشتر برنامهنویسان در جاوا اسکریپت، اچتیامال و سیاساس خبرهاند؛ همچنین، ممکن است در یکیدو زبان دیگر، مانند پایتون یا روبی، تخصص کسب کنند. به غیر از این زبانها، ممکن است در طول زندگی شغلی خود دانشی مقدماتی درمورد یکیدو زبان دیگر برنامه نویسی را نیز به دست آورند.
اصولا فرایند نوشتن دستوراتی به زبان برنامه نویسی است. این دستورات بعدا به کد ماشین ترجمه میشوند؛ به این ترتیب، کامپیوتر میتواند آنها را اجرا کند.
تقاضای زیادی برای توسعهی نرمافزار وجود دارد و به همین دلیل درآمدشان خوب است. میانگین درآمد برنامهنویسان ۷۰۰۵۶ دلار در سال است. حتی اگر نمیخواهید برنامهنویس شوید، دانش کدنویسی اولیه نیز در بسیاری از مشاغل مانند بازاریابی، طراحی گرافیکی، نویسندگی و فروش، ارزشمند و مفید است.
دانستن برنامه نویسی دانش شما را درمورد نحوهی کار کامپیوترها افزایش میدهد و توانایی شما را در کنترل و استفاده از آنها بالا میبرد. به جای اینکه منتظر پشتیبانی مشتری یا دوست فنی خود بمانید، میتوانید بیشتر مشکلات را خودتان حل کنید.
همان طور که قبلا توضیح دادیم، مهارتهای برنامه نویسی مختص برنامهنویسان نیستند. تعداد مشاغلی که حداقل سطحی از برنامه نویسی را لازم دارند، در حال رشد است. اگر عزم خود را برای یادگیری برنامه نویسی حرفهای جزم کردهاید، باید بگوییم که این مهارت دست شما را در انتخاب شغل بسیار باز میکند.
برنامه نویسی نهتنها نوعی شغل است، بلکه میتواند مهارت جالبی نیز باشد. وقتی مهارتهایتان به اندازهی کافی پیشرفت کنند، میتوانید اپلیکیشن یا بازی خودتان را بسازید؛ حتی میتوانید آن را برای دوستان و خانوادهتان بفرستید و از آن برای نزدیکتر شدن ارتباطتان با بچههایتان استفاده کنید. اگر ایدهی بازی کردن در بازیای که خودتان طراحی کردهاید، بامزه به نظر میرسد، یادگیری برنامه نویسی راه تحقق آن است.
اگر صبور باشید و زمان و انرژی لازم را برای یادگیری صرف کنید، از این مرحلهی آزاردهنده و یکنواخت خارج میشوید و به جایی میرسید که برنامه نویسی دوباره هیجانانگیز میشود؛ در واقع هیجانانگیزتر میشود، چون حالا میتوانید کارهای بسیار بزرگتری را انجام دهید.
اگر به این دلیل برنامه نویسی را یاد میگیرید که برنامهنویس یا توسعهدهندهی نرمافزار شوید، لازم است یادگیری را در تمام طول زندگی شغلی خود ادامه دهید تا با جدیدترین زبانها و امکانات آشنا بمانید. زمانی را برای اطلاع از آخرین اخبار برنامه نویسی و زبانهای برنامه نویسی جدید قرار دهید. این زمان حداقل باید ۱ بار در ماه باشد. لازم نیست کاملا تمام زبانهای جدید را بیاموزید، اما تا حدودی باید با آنها کار کنید تا از نحوهی کار کردن با آنها تصوری داشتهباشید.
کامپیوتر زبان خاص خود را داشته و برای اینکه قادر به استفاده از آن باشید لازم است که به زبان آن تسلط داشته باشید. زبان قابل درک کامپیوتر و رایانهها کد ماشینی است. برای اینکه شخص قادر به استفاده از کامپیوتر باشد، لازم است که به این کدهای ماشینی تسلط و با آنها آشنایی داشته باشد. کد نویسی زبانی است برای نوشتن برنامههای کامپیوتری و میتوانیم بگوییم که بخشی از برنامه نویسی است، اگر چه تفاوت هایی نیز با یکدیگر دارند.
کدنویسی و برنامه نویسی که اغلب به جای یکدیگر استفاده می شوند، از یکدیگر تمایز دارند.
کدنویسی معمولاً به عمل نوشتن خطوط واقعی کد در یک زبان برنامه نویسی خاص برای انجام یک کار خاص اشاره دارد.
برنامه نویسی فرآیند گسترده تری را در بر می گیرد. که نه تنها شامل کدنویسی، بلکه برنامه ریزی، طراحی، حل مسئله و ایجاد ساختار و معماری کلی یک برنامه نرم افزاری است.
برنامه نویسی شامل تصمیم گیری سطح بالا در مورد نحوه تعامل و عملکرد اجزای مختلف یک سیستم است.
که این نیاز به درک عمیق تری از مفاهیم علوم کامپیوتر دارد و رویکرد استراتژیک و جامع تری برای توسعه نرم افزار ارائه می دهد.