برنامه نویسی چیست؟ چگونه برنامه نویسی را شروع کنیم؟

برنامه نویسی یعنی چه؟

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

مواردی که در این مقاله بررسی میشوند:
ویدئو: برنامه نویسی چیست؟
برنامه (اپلیکیشن) به چه چیزی گفته میشود؟
تعریف برنامه نویسی
انواع زبان های برنامه نویسیزبان سطح پایین
زبان سطح بالا
ارتباط زبان های سطح بالا و سطح پایین
چه زبان هایی وجود دارد؟
IDE های مختلف
برای برنامه نویس شدن باید چکار کنیم؟


ویدئو: برنامه نویسی چیست؟ چگونه برنامه نویسی را شروع کنیم؟


برنامه به چه چیزی گفته میشود؟

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

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

what is programming

اما این CPU ها هم بدون وجود یک سری دستورات از پیش تعیین شده نمیتوانند فکر کنند یا کاری را از پیش ببرند، به این دستورات برنامه گفته میشود.

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

برنامه ها روی کامپیوتر، موبایل یا هر سیستمی که CPU داشته باشد قابل اجرا هستند. بزرگی، کوچکی، امکانات و همه ی ویژگی های یک نرم افزار بستگی به کدهای نوشته شده برای آن دارد. اما نرم افزار ها چگونه تولید میشوند؟


تعریف برنامه نویسی

برنامه نویسی یعنی دستور دادن به کامپیوتر. یعنی صحبت کردن به زبان کامپیوتر. برنامه نویسی عبارت است از نوشتن دستورها به صورت کدهایی که کامپیوتر آنها را بفهمد تا بتواند آنها را اجرا کند. هر نرم افزار، کد های خاص خودش را دارد که برای هدف خاصی نوشته شده اند. اشخاصی که این کد ها را مینویسند با نام برنامه نویس (Programmer) شناخته میشوند.

برنامه چیست

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

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

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

Programming هم مانند هر شغل دیگری ابزار و زبان مربوط به خود را دارد. در ادامه با زبان ها و ابزار این حرفه آشنا میشویم.


زبان های برنامه نویسی

ربان های برنامه نویسی

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


انواع زبان های برنامه نویسی

زبان های برنامه نویسی به دو دسته ی کلی تقسیم میشوند: سطح پایین و سطح بالا.

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

ارتباط زبان های سطح بالا و سطح پایین

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

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

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


چه زبان های برنامه نویسی وجود دارد؟

چند مورد از زبان های برنامه نویسی در زیر نام برده شده اند:

  • زبان جاوا (Java)
  • زبان C و C++
  • زبان سی شارپ (C Sharp)
  • زبان جاوا اسکریپت (Java Script)
  • زبان پایتون (Python)
  • زبان پی اچ پی (PHP)

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

زبان های برنامه نویسی

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

بیشتر قسمت های یک اپلیکیشن اندروید با جاوا نوشته میشود، اما از زبان های دیگری هم در کنار آن استفاده میکنند. (چگونگی شروع و زبان های مورد نیاز برای اندروید را در مقاله ای کامل شرح خواهیم داد). اما بصورت خلاصه میشود گفت برای قسمت بک اند (سمت سرور) میشود از زبانهایی مانند PHP، JavaScript یا Python استفاده کرد. برای فرانت اند هم از ساختارهایی مانند XML و زبان جاوا استفاده میشود. البته زبان ها و کتابخانه های دیگری مانند React و سی شارپ هم برای ساخت اپلیکیشن های اندروید استفاده میشوند. همچنین برای برنامه نویسی تحت وب، از ترکیب زبانهای PHP، CSS، HTML و JavaScript استفاده میشود.

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


محیط های برنامه نویسی

محیط های برنامه نویسی

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

به نرم افزارهایی که میتوانید در آنها برنامه نویسی کنید و یک دستیار قدرتمند برای شما به حساب می آیند، محیط برنامه نویسی یا IDE گفته میشود که مخفف Integrated Development Environment (به معنی محیط برنامه نویسی یکپارچه) است.


Notepad

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

نوت پد

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

شاید نوشتن این مورد در میان IDE ها کار درستی نباشد، اما خب شاید بسیاری از برنامه نویس ها برای نگهداری سریع متن، کد یا هر مورد نوشتاری دیگری، خیلی راحت از نوت پد استفاده میکنند.


++Notepad

نوت پد پلاس پلاس

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

اما برای طراحی وب معمولا از IDE هایی مانند WebStorm که بسیار تخصصی و قدرتمند هستند استفاده میشود.


++DEV C

از این نرم افزار برای برنامه نویسی به زبان های C و C++ استفاده میشود. این IDE دارای امکانات بسیار زیادی می باشد. Dev C++ میتواند کد های نوشته شده به زبان های گفته شده را کامپایل کرده و حتی اجرا کند. در این محیط، نتیجه برنامه نویسی و عملکرد آن را کاملا میتوانید مشاهده و عیب یابی کنید.


Eclipse

ایکلیپس

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


Android Studio

دلیل منسوخ شدن Eclipse در برنامه نویسی اندروید، محیطی به نام Android Studio بود. این محیط برنامه نویسی قدرتمند ساخت شرکت Jet Brains است. اندروید استودیو محیط برنامه نویسی رسمی شرکت گوگل، برای ساخت اپلیکیشن های اندروید است و امکانات بی نهایت زیادی را در اختیار برنامه نویسان اندروید قرار میدهد. زبان جاوا در این محیط پشتیبانی میشود و تقریبا میتوانید هر اپلیکیشنی که در ذهن دارید را با استفاده از این IDE بسازید.

اندروید استودیو

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


برای برنامه نویس شدن چکار کنیم؟

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

  • ابتدا زمینه (یعنی پلتفرم) برنامه نویسی خود را مشخص کنید. مثلا برای اندروید میخواهید برنامه نویسی کنید، یا اینکه ساخت سایت را بیشتر میپسندید؟
  • زبان های برنامه نویسی پلتفرم مورد نظر و کاربرد آنها را بشناسید. مثلا برای ساخت اپلیکیشن اندروید، اصلی ترین  و بهترین زبان جاوا است.
  • شروع به یادگیری زبان های برنامه نویسی کنید. میتوانید از سایت های آموزشی و دوره های آنلاین بهره ببرید.
  • با استفاده از IDE مناسب، تمرین ها را انجام دهید. دقت کنید که یادگیری زبان برنامه نویسی شما را به یک برنامه نویس تبدیل نمیکند. برای برنامه نویس شدن حتما باید تمرین کنید.
  • پروژه های موجود در اینترنت را پیدا کنید. میتوانید در سایت های اشتراک پروژه یا برون سپاری، پروژه های مربوط به برنامه نویسی را پیدا کنید. یا حتی میتوانید ایده های خودتان را عملی کنید.
  • اگر سوالی داشتید از انجمن ها، و سایت های پرسش و پاسخ بپرسید. تیم برنامه چی به همه سوالات شما پاسخ خواهد داد. سوالات خودتان را از هر راهی که دوست دارید بپرسید.

منابع بیشتر برای مطالعه

میتوانید از لینک های زیر برای مطالعه بیشتر در این زمینه استفاده کنید:

2 دیدگاه دربارهٔ «برنامه نویسی چیست؟ چگونه برنامه نویسی را شروع کنیم؟»

  1. بازتاب: شی گرایی چیست؟ آموزش مفاهیم شی گرایی در زبان جاوا | برنامه چی

  2. بازتاب: هک چیست هکر کیست و چگونه جلوی هک شدن را بگیریم؟ | برنامه چی

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

اسکرول به بالا