آموزش اصول و مبانی برنامه نویسی
در این مقاله میخواهیم به مفاهیم اولیه زبان برنامه نویسی بپردازیم بعد از این که این مفاهیم اولیه را آموختید میتوانید بهترین زبان برنامه نویسی خود را انتخاب کنید. علاوه بر دانستن تعدادی تعاریف باید بتوانید مثل یک برنامه نویس فکر کنید و به حل مسئله بپردازید و سپس نکات مهم برای شروع زبان برنامه نویسی را از دست ندهید!
مطالب این مقاله به نحوی آموزش داده شده که افراد را برای یادگیری هر زبان برنامه نویسی آماده میکندو دید کلی به آن ها میدهد. در واقع این مقاله درس شماره 0 هر دوره زبان برنامه نویسی دانست. از این رو اکیدا توصیه میکنم این مقاله را با دقت مطالعه بفرمایید.
هدف ما از زبان برنامه نویسی چیست؟
هدف ما از برنامهنویسی این است که خواستههای خود را به رایانه منتقل کنیم، اما باید به شما بگوییم رایانه مانند شخصی میماند که هیچ چیز نمیداند! شما باید تمام درخواستهای خود را “مرحله به مرحله” به او بگویید وگرنه مطمئنا دچار اشتباه خواهد شد، به همین دلیل میگوییم شما باید به اندازهی کافی صبر و حوصله داشته باشید تا بتوانید خواستههای خود را به این “ماشین کند ذهن” بفهمانید خط به خط آن را بخواند و اجرا کند
در اکثر زبانهای برنامه نویسی توابع و متدهای آمادهی بسیاری وجود دارد که شما میتوانید بعدها در برنامهی خود به راحتی از آنها استفاده کنید، اما ما پیشنهاد میکنیم اصول اولیه برنامه نویسی را به خوبی گذرانده و حرفه ای به جلو حرکت کنید به گونهی که خودتان بتوانید به راحتی توابع مورد نیاز خود را نوشته و در برنامهتان از آنها استفاده کنید!!
با دستهبندی زبانهای برنامهنویسی آشنا شوید
سه دسته زبان برنامهنویسی وجود دارد، زبانهای سطح بالا، زبان سطح میانی و زبان سطح پایین که در ادامه به توضیح آنها در این مقاله میپردازیم:
زبانهای سطح بالا
این دسته از زبانهای برنامهنویسی شباهت بسیار زیادی به زبان انسان داشته و به راحتی توسط انسانها قابل درک و فهم هستند، به همین دلیل به آنها زبان سطح بالا (نزدیک به زبان انسان) میگوییم، به شدت به شما توصیه میکنیم اگر برای اولین بار قصد برنامهنویسی دارید به سراغ این زبانها بروید (پایتون ،جاوا، سیشارپ، آبجکتیو سی و… جزو زبانهای سطح بالا هستند)
زبانهای سطح میانی
همانگونه که از نام این دسته پیداست این زبانها چیزی بین زبانهای سطح بالا و زبانهای سطح پایین هستند، این زبانها علاوه بر اینکه به زبان انسان نزدیکاند در عین حال برای برقراری ارتباط مستقیم با سختافزار نیز مناسب هستند، اگر وقت و حوصلهی زیادی دارید و میخواهید از پایه برنامهنویسی را بیاموزید میتوانید به سراغ این دسته از زبانها بروید (سی، سیپلاسپلاس و… جزو زبانهای سطح میانی به حساب میآیند)
زبانهای سطح پایین
اینگونه زبانها به طور قابل توجهی برای انسان غیر قابل درک بوده و بیشتر به زبان ماشین شباهت دارند، هرچند فهم آنها برای رایانه آسانتر است، اما از آنجایی که صحبت کردن با زبان انسان برای ما راحتتر است به همین دلیل اکثر افراد سعی میکنند از دستهی اول (زبانهای سطح بالا) استفاده کنند، اگر قصد دارید به طور مستقیم با سختافزار صحبت کنید باید به سراغ این دسته از زبانها بروید، در غیر این صورت به شما توصیه میکنیم از همان دستهی اول استفاده کنید (زبان اسمبلی یا صفر و یک جزو زبانهای سطح پایین به حساب میآید)
سورس کد چیست؟
برای شروع برنامه نویسی، نیاز نیست ابتدا تعداد زیادی برنامه برای نوشتن کد خود نصب کنید. میتوانید حتی از notepad روی ویندوز هم استفاده کنید. به این کد و متن نوشته شده source code گفته میشود. البته برنامهنویسان برای این کار از محیطهای اختصاصی برای سریعتر و راحتتر شدن کدنویسی استفاده میکنند. مثال این ادیتورها:
Notepad ++, Code, Brackets, Blue Fish, Atom, Editpad, Sublime Text …

چرا به کد نوشته شده سورس کد میگوییم؟
پردازنده یا cpu یک کامپیوتر، اصلا زبان سورس کد را نمیفهمد و زبان آن machine code است که تصویر آن را میبینید. سورس کد در اصل ارتباطی بین ما و کامپیوتر است تا نیازی نباشد زمان بسیار زیاد برای machine coding بگذاریم. بنابراین کد ما به کد ماشینی تبدیل میشود و برای کامپیوتر قابل فهم میشود.
این تبدیل شدن سورس کد به کد ماشینی به ۲ صورت انجام میشود:
۱. گردآوری کردن (compilation)
با استفاده از یک compiler تک تک دستورات به کد ماشین تبدیل میشود و پردازنده آن را اجرا میکند. نتیجه آن یک فایل قابل اجرا (exe) است. بعد از کامپایل کردن، یک فایل ارائه میشود و نیازی به سورس کد نیست و حتی زبان برنامه نویسی آن نیز مشخص نمیشود.
۲. ترجمه کردن (Interpretation)
در اینجا کد به شما داده میشود و لازم است برای استفاده از آن interpreter داشته باشید اما نیازی نیست تا برنامهای دانلود یا نصب کنید و این برنامهها معمولا در سیستم عاملها موجود هستند. رایج ترین مثال آن JavaScript است که در همه مرورگرها پیدا میشود. بنابراین این تبدیل از قبل نیست و وقتی برنامه را اجرا میکنید انجام میشود.
بعضی زبانهای برنامه نویسی مثل C++ ,Swift و objective-C کامپایل میشوند. JavaScript, Python و PHP معمولا ترجمه میشوند. بهترین مثال یک زبان بین این دو حالت (Hybrid intermediate approach) زبان برنامه نویسی Java (زبان برنامه نویسی طراحی اپلیکیشن موبایل) است.
معنای صفر و یک چیست؟
یک تراشه پردازنده دارای تعداد بسیار زیادی -به اصطلاح – سوییچ در ابعاد میکروسکوپی است. اینها میتوانند روشن یا خاموش باشد. اگر یک کلید داشته باشیم ۲ حالت دارد (روشن و خاموش) . اگر ۲ کلید باشد، ۴ حالت روشن و خاموش و ادامه این محاسبات نیز با توانهای عدد ۲ انجام میشود. (مثل روشن و خاموش کردن کلید برق)
چیدمان این کلیدها که bit (بیت) نام دارند، میتواند متفاوت باشد و حالتهای مختلفی را فراهم کند و هر کدام معنای خاصی بدهد. پس ۰ به معنای خاموش و ۱ به معنای روشن است و یک زبان دو دویی یا binary بر پایه ۲ داریم. احتمالا شنیدهاید که یک سیستم ساختار ۳۲ یا ۶۴ بیت دارد. یعنی CPU راحتتر است با کدام یک کار کند. سپس این کدها به اعداد hexadecimal تبدیل میشوند. پس کدی که مینویسیم در نهایت به ۰ و ۱ تبدیل میشود و با کامپیوتر ارتباط برقرار میکند.

سینتکس یک زبان برنامه نویسی چیست؟
هر زبان برنامه نویسی تعدادی قانون دارد. اینکه چگونه مینویسید، ترتیب آن چیست، از چه کلماتی میتوانید استفاده کنید، حروف کوچک یا بزرگ باشد، خطوط چگونه جدا شوند؟ این قوانین سینتکس نامیده میشوند. ممکن است فکر کنید تعدادی از آنها احمقانهاند اما لازم است حتما آنها را اجرا کنید در غیر این صورت ممکن است با خطا مواجه شوید. لازم به ذکر است که تعداد زیادی از این دستورات در زبانهای برنامه نویسی مختلف مشابه است.
اصطلاحات برنامه نویسی
در آخر هم برای تکمیل مفاهیم اولیه برنامه نویسی، تعدادی از تعاریف که لازم است در دانش برنامه نویسی بدانید، مطالعه کنید:
۱. الگوریتم: تعدادی مرحله یا دستور که برای انجام یک کار خاص لازم است دنبال شود. یک برنامه نویس برای رسیدن به خروجی مورد نظر الگوریتم طراحی میکند. مانند همان مثال کتاب آشپزی
۲.data type: دادههای استفاده شده در یک برنامه میتواند انواع مختلفی داشته باشد. مثلا عدد باشد(integer)، کاراکتر یا شئ باشد و …
۳. conditionals: یعنی شرطی بگذاریم که آن قسمت از کد تنها با برقرار بودن شرط اجرا شود.
۴. آرایه: مجموعهای از یک نوع داده است. (مثلا مجموعهای از اعداد) و هر عضو این مجموعه شامل یک index است. (که این عدد از 0 شروع میشود)
۵. loop: تا وقتی که شرط آن برقرار باشد، اجرا میشود و تکرار میشود و اگر شرط برقرار نبود از حلقه خارج میشود.
۶. function: همان تابع است. میتواند پارامترهایی را بگیرد و عملیاتی را روی آنها انجام دهد و به ما خروجی بدهد.
۷. class: مانند یک چارچوب است که حالت و رفتارهای مختلفی بنا به خواسته برنامه نویس میتواند داشته باشد. یعنی تعدادی ویژگی ثابت دارد و تعدادی ویژگی متغیر.
برای خواندن مقالات به روز دیگر با آکادمی ایرانیان همراه باشید.