در فرهنگ لغت، واژه برنامه نویسی اینگونه تعریف شده است: به فرآیند آمادهسازی یک برنامه برای یک دستگاه گفته میشود که این برنامه از تعدادی دستورالعمل تشکیل شده است.
البته به سادگی دستور دادن به یک شخص فاقد هوشمندی نیست. دلیلش این است که در برنامه نویسی، نمیتوان به زبان انسان با کامپیوتر ارتباط برقرار کرد. بلکه، کامپیوتر از زبان ماشین استفاده میکند.
آشنایی با پرکاربردترین زبانها در هر زمینه برای نازه کاران بسیار مفید است. بیش از 200 زبان وجود دارد که ممکن است بررسی مزایای یادگیری، نیاز بازار کار و در نهایت تصمیم گیری درباره انتخاب آن به کاری بسیار دشوار تبدیل شود. بسیاری از زبانها که در گذشته محبوب بودند دیگر پرطرفدار نیستند. بسیاری از این زبانها در گذر زمان به جایگاه پایینتری سقوط کردند و حتی منسوخ شدند. به همین دلیل در این بخش بهترین و پرکاربردترین زبان ها را معرفی کردیم.
پایتون یک زبان برنامه نویسی عمومی سطح بالا است. این زبان یکی از قویترین و پردرآمدترین زبانهای برنامه نویسی است. پایتون در اغلب زمینههای برنامه نویسی مانند وب، ساخت اپلیکیشن، بازی، هوش مصنوعی و کارهای محاسباتی، امنیت و…. کاربرد دارد. یادگیری پایتون به نسبت به سایر زبانها آسان و موقعیتهای شغلی آن در ایران و سایر نقاط جهان بسیار زیاد است.
مهمترین زبانی است که برای ورود به حوزه وب باید آن را یاد بگیرید. در گذشته از جاوا اسکریپت تنها در حوزه فرانت اند استفاده میشد اما امروزه برای توسعه بک اند نیز از آن استفاده میشود. جاوا اسکریپت به دلیل فریمورکهای زیادی که دارد (مانند انگولار، ری اکت و…) در ایران بسیار محبوب است و موقعیتهای شغلی فراوانی دارد. تایپ اسکریپت که یکی از زبانهای محبوب این حوزه است، به عنوان برادر جاوا اسکریپت شناخته میشود. دورههای بسیاری تحت عنوان آموزش طراحی وب وجود دارند که شامل آموزش جاوا اسکریپت، HTML و CSS میشوند.
یکی از پرطرفدارترین زبانها در میان کارفرمایان و یکی از محبوبترین زبان در میان توسعه دهندگان است.
یادگیری دوره آموزش PHP به افرادی پیشنهاد میشود که پیش نیازی از برنامه نویسی ندارند اما میخواهند در کوتاهترین زمان ممکن یک وب سایت خود را بسازند.
از ساعت هوشمند و تلفن همراه گرفته تا ماکروویو و سیستم اطفای حریق همگی با برنامه نویسی کار میکنند. در اصل هر وسیله هوشمندی که در اطراف خود میبینید کدنویسی شده است. برای مثال، یک نمونه از کدنویسی را میتوانید در آسانسورها ببینید! با زدن دکمه مربوط به هر طبقه در اصل یک کد کامپیوتری اجرا میشود که توسط یک برنامه نویس نوشته شده است.
در پاسخ به این سوال که الگوریتم برنامه نویسی چیست ، به بیان ساده، میتوان یک الگوریتم را درست مثل یک دستور آشپزی در نظر گرفت. در این دستور پخت، تقریباً اکثر افراد دستورهای آشپزی را دیدهاند؛ در این دستورالعملها مواد لازم و مجموعهای از گامها برای نحوه پخت غذا فهرست میشوند. یک الگوریتم هم دقیقاً همینطور است. در ادبیات کامپیوتری، کلمهای که به جای دستور پخت استفاده میشود، رویه (Procedure) نام دارد و مواد لازم هم ورودیها (Inputs) هستند.
کامپیوتر بر اساس رویه مراحل را دنبال میکند و نتایج به صورت خروجیها (Outputs) قابل مشاهده خواهند بود.
کامپیوتر زبان خاص خود را داشته و برای اینکه قادر به استفاده از آن باشید لازم است که به زبان آن تسلط داشته باشید. زبان قابل درک کامپیوتر و رایانهها کد ماشینی است. برای اینکه شخص قادر به استفاده از کامپیوتر باشد، لازم است که به این کدهای ماشینی تسلط و با آنها آشنایی داشته باشد. کد نویسی زبانی است برای نوشتن برنامههای کامپیوتری و میتوانیم بگوییم که بخشی از برنامه نویسی است، اگر چه تفاوت هایی نیز با یکدیگر دارند.
کدنویسی و برنامه نویسی که اغلب به جای یکدیگر استفاده می شوند، از یکدیگر تمایز دارند.
کدنویسی معمولاً به عمل نوشتن خطوط واقعی کد در یک زبان برنامه نویسی خاص برای انجام یک کار خاص اشاره دارد.
برنامه نویسی فرآیند گسترده تری را در بر می گیرد. که نه تنها شامل کدنویسی، بلکه برنامه ریزی، طراحی، حل مسئله و ایجاد ساختار و معماری کلی یک برنامه نرم افزاری است.
برنامه نویسی شامل تصمیم گیری سطح بالا در مورد نحوه تعامل و عملکرد اجزای مختلف یک سیستم است.
که این نیاز به درک عمیق تری از مفاهیم علوم کامپیوتر دارد و رویکرد استراتژیک و جامع تری برای توسعه نرم افزار ارائه می دهد.
هر برنامه کامپیوتری یا به عبارتی هر نرم افزار مجموعه ای از دستوراتی است که به ترتیب خاصی به کامپیوتر داده میشوند و یکی پس از دیگری اجرا میشوند. به طور مثال یک ویروس -که یک برنامه ی مخرب کامپیوتری است- دستوراتی بر مبنای تخریب و یا از بین بردن بخشی از اطلاعات ذخیره شده روی کامپیوتر را دارا است. برای روشن تر شدن مطلب، نرم افزار را به یک مثال از زندگی روزمره مان تشبیه میکنیم. فرض را بر این بگذاریم که خودروی شخصی شما خراب میشود و شما مجبور میشوید که آن را نزد مکانیکی ببرید. مکانیک پس از عیب یابی خودروی شما از شاگرد خود می خواهد که موارد ذیل را به ترتیب اجرا کند:
اول ماشین را خاموش کند. دوم کاپوت ماشین را بالا بزند. سوم روکش انژکتور را بردارد. چهارم پس از باز کردن انژکتور سوزن سوم آن را تعویض کند. پنجم انژکتور را مجدداً سوار کند. ششم روکش آن را نصب کند.
در مثال فوق مکانیک به منزله برنامه نویس است و شاگرد هم به منزله اجرا کننده و یا همان کامپیوتر. مفهوم تعمیر شدن ماشین را نیز میتوان به عملیاتی تشبیه کرد که یک نرم افزار انجام می دهد. هر یک از دستوراتی را که مکانیک به شاگردش می دهد همانند همان دستوراتی است که ما به عنوان برنامه نویس به کامپیوتر می دهیم تا کاری را انجام دهد. حال اگر این دستورات به نحوی باشند که کار مثبتی صورت گیرد ما یک نرم افزار تولید کرده ایم و چنانچه این دستورات موجب ایجاد خللی در سیستم شوند و به جایی صدمه بزنند ما یک بدافزار یا ویروس طراحی کرده ایم (در مثال تعمیر خودرو، شاگرد مکانیک میتوانست به جای تعوض سوزن انژکتور، نه تنها سوزن را تعویض نکند بلکه از عمد به مابقی سوزن ها هم صدمه بزند!)
حال برای نوشتن تعدادی Statement ما نیاز به یک ویرایشگر متن داریم تا بتوانیم دستورات مد نظر را در آن وارد سازیم.