مفاهیم اولیه برنامه نویسی – آموزش مبانی برنامه نویسی

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

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

تعریف برنامه: تعدادی دستور است که برای انجام کاری خاص توسط کامپیوتر اجرا می‌شود. شاید اولین مثالی که برایتان می‌آوریم ساده به نظر برسد اما برنامه‌ای است که با اجرا کردن آن به ما عبارت «سلام دنیا!» را نمایش می‌دهد. با پیچیده‌تر شدن این دستورات و بالا رفتن تعداد آن‌ها یک برنامه کامپیوتری تولید می‌شود.

ایده‌های برنامه نویسی:

۱. با ترکیب تعداد زیادی دستور ساده، نتایج پیچیده‌ای می‌سازیم.

۲. ترتیب این دستورات بسیار مهم است. مانند دستور پخت غذا، لازم است برای برنامه نویسی سایت یا نرم افزار این مراحل به ترتیب درستی طی شود. اما برخلاف آن، شما نمی‌توانید عباراتی که برای نوشتن دستور استفاده می‌کنید تغییر دهید.

سورس کد چیست؟

برای شروع برنامه نویسی، نیاز نیست ابتدا تعداد زیادی برنامه برای نوشتن کد خود نصب کنید. می‌توانید حتی از notepad روی ویندوز هم استفاده کنید. به این کد و متن موشته شده source code گفته می‌شود. البته برنامه‌نویسان برای این کار از محیط‌های اختصاصی برای سریع‌تر و راحت‌تر شدن کدنویسی استفاده می‌کنند. مثال این ادیتور‌ها:

Notepad ++, Sublime Text, Brackets, Atom, Code, Editpad, Blue Fish, …

چرا به کد نوشته شده سورس کد می‌گوییم؟ آیا نوع دیگری از کد نیز وجود دارد؟ بله. پردازنده یا cpu یک کامپیوتر اصلا زبان سورس کد را نمی‌فهمد و زبان آن machine code است که تصویر آن را می‌بینید. سورس کد در اصل ارتباطی بین ما و کامپیوتر است تا نیازی نباشد زمان بسیار زیاد برای machine coding بگذاریم. بنابراین کد ما به کد ماشینی تبدیل می‌شود و برای کامپیوتر قابل فهم می‌شود.

این تبدیل شدن سورس کد به کد ماشینی به ۲ صورت انجام می‌شود:

۱. گردآوری کردن (compilation)

با استفاده از یک compiler تک تک دستورات به کد ماشین تبدیل می‌شود و پردازنده آن را اجرا می‌کند. نتیجه آن یک فایل قابل اجرا (exe) است. بعد از کامپایل کردن، یک فایل ارائه می‌شود و نیازی به سورس کد نیست و حتی زبان برنامه نویسی آن نیز مشخص نمی‌شود.

۲. ترجمه کردن (Interpretation)

در اینجا کد به شما داده می‌شود و لازم است برای استفاده از آن interpreter داشته باشید اما نیازی نیست تا برنامه‌ای دانلود یا نصب کنید و این برنامه‌ها معمولا در سیستم عامل‌ها موجود هستند. رایج ترین مثال آن JavaScript است که در همه مرورگرها پیدا می‌شود. بنابراین این تبدیل از قبل نیست و وقتی برنامه را اجرا می‌کنید انجام می‌شود.

بعضی زبان‌های برنامه نویسی مثل C++ ,Swift و objective-C کامپایل می‌شوند. JavaScript, Python و PHP معمولا ترجمه می‌شوند. بهترین مثال یک زبان بین این دو حالت (Hybrid intermediate approach) زبان برنامه نویسی Java (زبان برنامه نویسی طراحی اپلیکیشن موبایل) است.

معنای صفر و یک چیست؟

مثالی که از زبان ماشینی زدیم شبیه صفر و یک نبود. علت آن چیست؟ یک تراشه پردازنده (computer chip/CPU) دارای تعداد بسیار زیادی -به اصطلاح – سوییچ در ابعاد میکروسکوپی است. این‌ها می‌توانند روشن یا خاموش باشد. اگر یک کلید داشته باشیم ۲ حالت دارد. اگر ۲ کلید باشد،‌ ۴ حالت روشن و خاموش و ادامه این محاسبات نیز با توان‌های عدد ۲ انجام می‌شود. چیدمان این کلیدها که bit (بیت) نام دارند، می‌تواند متفاوت باشد و حالت‌های مختلفی را فراهم کند و هر کدام معنای خاصی بدهد. پس ۰ به معنای خاموش و ۱ به معنای روشن است و یک زبان دو دویی یا binary بر پایه ۲ داریم. احتمالا شنیده‌اید که یک سیستم ساختار ۳۲ یا ۶۴ بیت دارد. یعنی CPU راحت‌تر است با کدام یک کار کند. سپس این کدها به اعداد hexadecimal تبدیل می‌شوند. پس کدی که می‌نویسیم در نهایت به ۰ و ۱ تبدیل می‌شود و با کامپیوتر ارتباط برقرار می‌کند.

سینتکس یک زبان برنامه نویسی چیست؟

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

۵ چیز که لازم است در مورد هر زبان برنامه نویسی بدانیم:

۱. Case Sensitivity: یعنی سورس کد با حروف کوچک، بزرگ یا هر دو است. اکثر زبان‌های برنامه نویسی امروزه به آن حساس هستند و باید همانطور که در قوانین هست استفاده شوند وگرنه به خطای سینتکس بر می‌خوریم.

۲. Statements: گزاره عبارتی متشکل از یک یا تعدادی کلمه است که دستور خاصی را اجرا می‌کند. برای مثال برای اضافه کردن عدد ۱۰۰ به امتیاز در زبان Swift, Rubyو Python داریم:

score= score +99

در C, C++, PHP و Java داریم:

score = score + 99;

در Applescript:

set score to score + 99

۳. whitespace: خطوط خالی، فاصله کلمات و فضاهای خالی چه معنایی دارد.

۴. comments: نوشتن نظر میان کد برای بهبود خوانایی آن لازم است. در زبان برنامه نویسی مورد نظر چگونه کامنت بگذاریم؟ برای مثال // به کار می‌رود یا  <– و غیره. در تصویر نوشته سبز رنگ نظر است و توسط برنامه نویس و برای فهم و یادآوری خودش نوشته شده و دستوری را اجرا نمی‌کند.

کامنت در برنامه نویسی

۵. Keywords: کلمات کلیدی لغاتی هستند که در هر زبان برنامه نویسی معنای خاصی دارند و ممکن است معنای مشابهی در زبان‌ های مختلف داشته باشند. لازم است آن‌ها و طرز استفاده‌شان را نیز یاد بگیرید. برای مثال زبان برنامه نویسی جاوا ۵۰ کلمه کلیدی و پایتون تنها ۳۳ کلمه کلیدی دارد. مثال‌های کلمات کلیدی مختلف زبان برنامه نویسی پایتون:

False, None, True, and, as, assert, for, from, if و غیره.

متغیر (variable) در برنامه نویسی چیست؟

داده‌های مختلف مثل ایمیل، نام، امتیاز و غیره در یک برنامه در حال اجرا وجود دارد. این‌ داده‌ها در متغیرها ذخیره می‌شوند یعنی قسمتی از حافظه کامپیوتر به این متغیر اختصاص داده می‌شود و اسمی برای آن می‌گذارید و در کد خود از آن استفاده می‌کنید. هر متغیر یک اسم، مقدار و تایپ(نوع) دارد. انواع متغیر عددی، boolean، نوشته و غیره داریم. در هر زبان برنامه نویسی، تعریف یک متغیر جدید و استفاده از آن قوانین به خصوص خود را دارد. برای مثال در جاوااسکریپت برای تعریف متغیر امتیاز داریم: var score

نکته: در اکثر زبان‌های برنامه نویسی، اسم متغیر می‌تواند شامل عدد باشد ولی نمی‌تواند با عدد شروع شود.

اصطلاحات برنامه نویسی

در آخر هم برای تکمیل مفاهیم اولیه برنامه نویسی، تعدادی از تعاریف که لازم است در دانش برنامه نویسی بدانید، آورده‌ایم:

۱. الگوریتم: تعدادی مرحله یا دستور که برای انجام یک کار خاص لازم است دنبال شود. یک برنامه نویس برای رسیدن به خروجی مورد نظر الگوریتم طراحی می‌کند. مانند همان مثال کتاب آشپزی

۲.data type: داده‌های استفاده شده در یک برنامه می‌تواند انواع مختلفی داشته باشد. مثلا عدد باشد(integer)، کاراکتر یا شیئ باشد و غیره.

۳. conditionals: یعنی شرطی بگذاریم که آن قسمت از کد تنها با برقرار بودن شرط اجرا شود.

۴. آرایه: متغیری است که اجزایی با دیتا تایپ مشابه را ذخیره می‌کند.

۵. loop: تا وقتی که شرط آن برقرار باشد، اجرا می‌شود و تکرار می‌شود.

۶. function: همان تابع است. می‌تواند پارامترهایی را بگیرد و عملیاتی را روی آن‌ها انجام دهد و به ما خروجی بدهد.

۷. class: مانند یک چارچوب است که  حالت و رفتارهای مختلفی بنا به خواسته برنامه نویس می‌تواند داشته باشد. یعنی تعدادی ویژگی ثابت دارد و تعدادی ویژگی متغیر.

نتیجه گیری

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

منابع:

کتاب Computer Programming Fundamentals

بدون دیدگاه

دیدگاهتان را بنویسید

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