لغات و اصطلاحات برنامه نویسی ❤️ 88 واژه رایج، تخصصی و پرکاربرد
طبیعی است که هر برنامه نویسی باید لغات و اصطلاحات برنامه نویسی را بداند. آشنایی به لغات و واژگان برنامه نویسی، دید خوبی در فرایند یادگیری برنامه نویسی به شما میدهد. در این مقاله چند مورد از لغات و اصطلاحات رایج و پرکاربرد در برنامه نویسی را برای شما آماده کردهایم.
برخی از لغات و اصطلاحات برنامه نویسی که در این مقاله به آنها میپردازیم:
- برنامه (Program)
- کد (Code)
- سورس کد (Source Code)
- متن باز (Open Source)
- زبان برنامه نویسی (Programming Language)
- برنامه نویسی (Programming)
- زبان برنامه نویسی سطح پایین (Low-Level Language)
- زبان برنامه نویسی سطح بالا (High-Level Language)
- الگوریتم (Algorithm)
- فلوچارت (Flowchart)
- باگ (Bug)
- دیباگ (Debug)
- ریترن (Return)
- متغیر (Variable)
- ثابت (Constant)
- مقدار (Value)
- آرایه (Array)
- رشته (String)
- عدد صحیح (Integer)
- عدد اعشاری (Float - Double - Decimal)
- بولین (Boolean)
- تهی (Null)
- خالی (Empty)
- تعریف نشده (Undefined)
- حلقه (Loop)
- شرط (if و else)
- تابع (Function)
- پارامتر (Parameter)
- آرگومان (Argument)
- شیء (Object)
- کلاس (Class)
- متد (Method)
- شیءگرایی (OOP)
- ماژولار (Modular)
- کدنویسی تمیز (Clean Code)
- ریفکتورینگ کد (Code Refactoring)
- اصول SOLID
- الگوهای طراحی (Design Patterns)
- توسعهدهنده جونیور (Junior Developer)
- توسعهدهنده میدلول (Mid-Level Developer)
- توسعهدهنده سنیور (Senior Developer)
- توسعهدهنده فرانتاند (Front-End Developer)
- توسعهدهنده بکاند (Back-End Developer)
- توسعهدهنده فول استک (Full Stack Developer)
- توسعهدهنده MEAN استک (MEAN Stack Developer)
- توسعهدهنده MEVN استک (MEVN Stack Developer)
- توسعهدهنده MERN استک (MERN Stack Developer)
- توسعهدهنده LAMP استک (LAMP Stack Developer)
- سرور (Server)
- وب سرور (Web Server)
- وب سرویس (Web Service)
- هاست (Host)
- دامنه (Domain)
- پلتفرم (Platform)
- کراس پلتفرم (Cross Platform)
- نیتیو (Native)
- محیط توسعه یکپارچه (IDE)
- ویرایشگر کد (Code Editor)
- ویرایشگر متن (Text Editor)
- کیت توسعه نرمافزار (SDK)
- فریمورک (Framework)
- معماری MVC
- کتابخانه (Library)
- رابط برنامهنویسی کاربردی (API)
- پایگاه داده یا دیتابیس (Database)
- زبان SQL
- اسکریپت (Script)
- دستور (Command)
- خط فرمان (Command Line)
- کامپایل (Compile)
- کامپایلر (Compiler)
- مفسر (Interpreter)
- کد سخت (Hardcode)
- ایجکس (Ajax)
- جیسان (JSON)
- ساختار نحوی (Syntax)
- رمز (Token)
- کامنت (Comment)
- براکت (Bracket)
- اسکوپ (Scope)
- دواپس (DevOps)
- داکر (Docker)
- بلاکچین (Blockchain)
- وردپرس (WordPress)
- گیت (Git)
- گیتهاب (GitHub)
- رابط کاربری (UI)
- تجربه کاربری (UX)
لغات و اصطلاحات برنامه نویسی
لغات و اصطلاحات زیادی در برنامه نویسی وجود دارد که در این مقاله به چند مورد از اصطلاحات مهم و پرکاربرد در برنامه نویسی میپردازیم:
برنامه (Program)
برنامه چیست؟ یک برنامه نرمافزاری مجموعهای از کدها و دستورالعملها است که به کامپیوتر میگوید چگونه وظایف خاصی را اجرا کند. برای مثال: به تمام نرمافزارها و بازیهایی که در گوشی موبایل، لپتاپ، یا کامپیوتر نصب شده است، برنامه میگوییم.
کد (Code)
کد در برنامه نویسی چیست؟ در برنامه نویسی کامپیوتری، کد کامپیوتری به مجموعه دستورالعملها است که در یک زبان برنامه نویسی خاص نوشته شده است.
سورس کد (Source Code)
اصطلاح سورس کد در برنامه نویسی چیست؟ به مجموعهای از کدهایی که توسط یک برنامه نویس نوشته میشود و تبدیل به یک برنامه (Program) خاص میشود، سورس کد یا کد منبع گفته میشود.
متن باز (Open Source)
اپن سورس (Open Source) در برنامه نویسی چیست؟ Open Source در لغت به معنی «متن باز» است. اپن سورس در برنامه نویسی و نرمافزار به این معنی است که افراد میتوانند در کد منبع (Source Code) آنها تغییر ایجاد کرده یا اشکالات (باگ) احتمالی آنها را رفع کنند. برای مثال سورس کدهایی که به صورت عمومی در گیتهاب منتشر میشوند به صورت اپن سورس هستند.
برنامه نویسان این کدها را میتوانند ببینند و در کد آنها تغییرات لازم را جهت بهبود اشکال یا توسعه آن اضافه کنند. سیستمعاملهای ویندوز و مکینتاش به صورت Open Source نیستند اما سیستمعامل لینوسک به صورت Open Source است. به همین دلیل محبوبیت بالایی در بین برنامه نویسان و توسعهدهندگان دارد. Open Source نیز از لغات و اصطلاحات برنامه نویسی است که در بین توسعهدهندگان رایج است.
زبان برنامه نویسی (Programming Language)
زبان برنامه نویسی چیست؟ زبان برنامه نویسی سیستمی از نشانهگذاری برای نوشتن برنامههای کامپیوتری است. برای مثال: با زبانهای برنامه نویسی Python ،C# ،C++ ،PHP ،Java ،JavaScript و... میتوان برنامهها و بازیهای کامپیوتری، موبایل و وب را نوشت.
برنامه نویسی (Programming)
برنامه نویسی چیست؟ برنامه نویسی عبارت است از تبدیل زبان انسان به زبان ماشین. یعنی نوشتن دستورات در قالب کد که برای کامپیوتر قابل فهم باشد. این کدها در نهایت به یک خروجی به اسم برنامه (نرمافزار) تبدیل میشود.
زبان برنامه نویسی سطح پایین (Low-Level Language)
اصطلاح زبان برنامه نویسی سطح پایین چیست؟ منظور از زبان سطح پایین این نیست که نسبت به زبان سطح بالا ارزش کمتری دارد. زبانهای سطح پایین به زبان کامپیوتر نزدیک هستند و دستورات نوشتاری و خوانایی آنها نسبتا سختتر از زبانهای سطح بالا هستند.
ویزگیهای زبان برنامه نویسی سطح پایین:
- قابلیت تجرید یا انتزاع ندارند.
- به زبان ماشین (کامپیوتر) نزدیکتر هستند و خوانایی سختتری دارند.
- نیاز به مدیریت حافظه است.
برخی زبانهای سطح پایین: اسمبلی (Assembly) - زبان ماشین
زبان برنامه نویسی سطح بالا (High-Level Language)
اصطلاح زبان برنامه نویسی سطح بالا چیست؟ منظور از زبان سطح بالا این نیست که نسبت به زبان سطح پایین ارزش بالاتری دارد. زبانهای سطح بالا، خودشان از زبانهای سطح پایین ساخته شدهاند. زبانهای برنامه نویسی سطح بالا به زبان انسانها نزدیکتر هستند. به این دلیل خوانایی و نوشتاری نسبتا آسانتر از زبانهای سطح پایین هستند.
ویژگیهای زبان برنامه نویسی سطح بالا:
- قابلیت تجرید یا انتزاع دارند.
- به زبان انسان نزدیکتر هستند و خوانایی بهتری دارند.
- کاری به مدیریت حافظه ندارد.
برخی زبانهای سطح بالا: Python - PHP - JavaScript - C# - Ruby - Java و...
زبانهایی مانند C و ++C، واسط بین زبانهای سطح بالا و پایین هستند. چون هم امکان مدیریت حافطه را فراهم میکنند و هم امکان تجرید یا انتزاع دارند.
برای آشنایی بیشتر، مقاله زیر را مطالعه کنید:
الگوریتم (Algorithm)
اصطلاح الگوریتم در برنامه نویسی چیست؟ الگوریتم، مجموعهای متناهی از دستورالعملها است، که به ترتیب خاصی اجرا میشوند و مسئلهای را حل میکنند. به عبارت دیگر یک الگوریتم، روشی گام به گام برای حل مسئله است.
برای شروع برنامه نویسی، برنامه نویسان باید با قوه تحلیل و تفکر خود، روند کار برنامه (ورودی، پردازش، خروجی) را روی کاغذ بنویسند و سپس آن را کد نویسی کنند.
فلوچارت (Flowchart)
اصطلاح فلوچارت در برنامه نویسی چیست؟ به بیان ساده، ترسیم گرافیکی الگوریتم را فلوچارت گویند. فلوچارت، نقشهای است که برنامهنویسان کامپیوتر قبل از نوشتن برنامه به زبان برنامهنویسی، آن را ترسیم میکنند. فلوچارت به صورت اشکال هندسی مثل: دایره، لوزی، مستطیل و... است که از یک مسیری شروع میشود و بعد از یک سری دستورات، در نهایت به یک خروجی تبدیل میشود.
باگ (Bug)
معنی باگ در برنامه نویسی چیست؟ باگ در لغت به معنای حشره است. اصطلاح Bug در برنامه نویسی، نوعی خطا یا اشتباه در اجرای نرمافزار است که موجب نتایج اشتباه یا اجرا نشدن نرمافزار میشود. علت این اشکالات میتواند اشتباه در هنگام برنامهنویسی باشد. باگ نیز یکی از لغات و اصطلاحات برنامه نویسی است که در بین برنامه نویسها رایج است.
در مقاله زیر درباره تعریف باگ و انواع باگ در برنامه نویسی بیشتر بخوانید:
دیباگ (Debug)
معنی دیباگ در برنامه نویسی چیست؟ دیباگ در لغت به معنای اشکالزدایی است. حل خطاها و اشکالات (Bug) در برنامه نویسی، را Debug میگویند.
در مقاله زیر درباره تعریف دیباگ کردن و مراحل دیباگ در برنامه نویسی بیشتر بخوانید:
ریترن (Return)
معنی return در برنامه نویسی چیست؟ یکی دیگر از لغات و اصطلاحات برنامه نویسی که فوق العاده پر استفاده است، دستور بازگشتی یا return است. استفاده از دستور return برای به پایان رساندن یک تابع یا برنامه استفاده میشود. همچنین با استفاده از دستور return میتوانید تابع را تمام کنید و در صورت نیاز یک مقدار را بازگشت بدهید.
متغیر (Variable)
متغیر در برنامه نویسی چیست؟ متغیر (Variable) نیز یکی دیگر از لغات و اصطلاحات برنامه نویسی است. یک مکان در حافظه است که دارای یک نام میباشد و میتواند حاوی اطلاعات یا یک مقدار قابل تغییر باشد. به زبان دیگر، متغیر در برنامهنویسی به فضایی که برای ذخیره دادهها کنار گذاشته شده است میگویند. مقدار این متغیر میتواند در جاهای مختلف برنامه تغییر کند.
در زبان برنامه نویسی Python متغیر به این صورت تعریف میشود:
name = "developersho"
که name، همان نام متغیر است و developersho، مقدار آن متغیر از نوع String است.
number = 10
که number، همان نام متغیر است و 10، مقدار آن متغیر از نوع Integer است.
این مقدارها از متغیر name و number، میتوانند در جای دیگر تغییر کند و اسم دیگری داشته باشد.
انواع متغیر در برنامه نویسی:
- رشته (String)
- عدد صحیح (Integer)
- عدد اعشاری (Float - Double - Decimal)
- اعداد بولین (Boolean) یعنی درست (True) یا غلط (False)
- متغیر تهی (Null)
- متغیر خالی (Empty)
- متغیر تعریف نشده (Undefined)
ثابت (Constant)
ثابت در برنامه نویسی چیست؟ ثابت (Constant) یک مکان در حافظه است که دارای یک نام میباشد و میتواند حاوی اطلاعات یا یک مقدار ثابت باشد. به زبان دیگر، ثابت در برنامهنویسی به فضایی که برای ذخیره دادهها کنار گذاشته شده است میگویند. مقدار این ثابت در جاهای مختلف برنامه تغییر نمیکند.
مقدار (Value)
مقدار در برنامه نویسی چیست؟ به اطلاعات یا دادهای که در یک متغیر (Variable) یا ثابت (Constant) ذخیره میشود، مقدار (Value) میگویند.
در زبان برنامه نویسی Python مقدار به این صورت تعریف میشود:
name = "developersho"
که name، همان نام متغیر است و developersho، مقدار آن متغیر از نوع String است.
number = 10
که number، همان نام متغیر است و 10، مقدار آن متغیر از نوع Integer است.
آرایه (Array)
آرایه در برنامه نویسی چیست؟ یک آرایه (Array) مجموعهای از چندین متغیر است. به عبارت دیگر، آرایه میتواند چندین متغیر (Variable) را در خود ذخیره کند. شمارهگذاری آرایهها از 0 شروع میشوند.
در زبان برنامه نویسی Python، آرایه به این صورت تعریف میشود:
cars = ["Ford", "Volvo", "BMW"]
که cars نام آرایه است و Ford و Volvo و BMW به ترتیب، index (اندیس) 0 و 1 و 2 این متغیر میباشند.
آرایه نیز یکی از لغات و اصطلاحات برنامه نویسی است که کاربرد زیادی دارد.
رشته (String)
متغیر رشته یا استرینگ در برنامه نویسی چیست؟ به متغیری که مقدارش برابر کاراکتر (Character) باشد استرینگ (String) یا رشته میگوییم.
متغیر String در پایتون به دو صورت زیر است:
name = "developersho"
name = "Reza"
چون مقدار متغیر از نوع String یا رشته است، حتما باید داخل " " یا ' ' باشد.
عدد صحیح (Integer)
متغیر اینتیجر در برنامه نویسی چیست؟ به متغیری که مقدارش برابر اعداد صحیح (1 و 2 و 3 و 4 و...) باشد، اینتیجر (Integer) میگوییم.
متغیر Integer در پایتون به دو صورت زیر است:
number = 2
number = 10
چون مقدار متغیر از نوع Integer یا عدد صحیح است، نباید داخل " " یا ' ' باشد.
عدد اعشاری (Float - Double - Decimal)
متغیر فلوت در برنامه نویسی چیست؟ به متغیری که مقدارش برابر اعداد اعشاری (1.5 و 1.25 و 1.025 و...) باشد، فلوت (Float) میگوییم.
متغیر Float در پایتون به دو صورت زیر است:
number = 10.5
number = 0.25
بولین (Boolean)
بولین در برنامه نویسی چیست؟ بولین یکی از انواع دادههای مورد استفاده در زبانهای برنامه نویسی است که فقط میتواند دو مقدار 0 و 1 به خود بگیرد : که مقدار صفر (False) و مقدار 1 همان (True) است.
مثلا اگر بخواهیم دو مقدار را در پایتون به صورت زیر چک کنیم:
print(10 > 9)
مقدار خروجی این عبارت برابر است با True. چون 10 بزرگتر از 9 است.
print(10 < 9)
مقدار خروجی این عبارت برابر است با False. چون 9 بزرگتر از 10 نیست.
تهی (Null)
Null در برنامه نویسی چیست؟ در برنامه نویسی، Null به معنی پوچ و تهی است یعنی در واقع چیزی وجود ندارد.
برای مثال در JavaScript، نال به این صورت تعریف میشود:
let book = null
که book نام متغیر است که در جاوا اسکریپت به اول متغیر let اضافه میکنیم. مقدار این متغیر برابر null است. null نیز مانند سایر واژگان برنامه نویسی، یکی از لغات و اصطلاحات برنامه نویسی است که فوقالعاده در بین برنامه نویسان کاربردی است.
خالی (Empty)
Empty در برنامه نویسی چیست؟ کلمه empty به معنی خالی است. یعنی یک مقداری وجود دارد اما این مقدار یک فضای خالی است.
برای مثال در JavaScript، یک Empty به این صورت تعریف میشود:
let book = " "
که book نام متغیر است که در جاوا اسکریپت به اول متغیر let اضافه میکنیم. مقدار این متغیر برابر یک مقدار یا فضای خالی است.
تعریف نشده (Undefined)
Undefined در برنامه نویسی چیست؟ اگر متغیری را صدا بزنیم که قبلا تعریف نشده باشد و یا نام متغیر را بنویسیم و برای آن مقداری مشخص نکنیم، نوع آن متغیر Undefined یا تعریف نشده میشود.
حلقه (Loop)
معنی حلقه در برنامه نویسی چیست؟ در حوزه برنامه نویسی، حلقه (Loop) به توالی از دستورالعملها گفته میشود که بهطور مرتب تکرار میشوند تا زمانی که یک شرط خاص برقرار شود.
برای مثال: برنامهای مینویسیم که از 1 شروع شود و هربار 1+ شود. این حلقه تا زمانی ادامه داشته باشد که کوچکتر از 10 باشد. پس برنامه، اعداد 1 و 2 و 3 و 4 و 5 و 6 و 7 و 8 و 9 را برای ما عدد چاپ میکند. چون عدد 10 کوچکتر از 10 نیست پس این حلقه در عدد 9 قطع میشود. حلقه نیز یکی از لغات و اصطلاحات پرکاربرد در برنامه نویسی است.
از اوانع حلقهها میتوان به حلقههای زیر اشاره کرد:
- حلقه for
- حلقه foreach
- حلقه While
- حلقه do whole
- حلقه بینهایت (infinity)
شرط (if و else)
اگر بخواهیم یک شرطی را چک کنیم از if و else استفاده میکنیم. if به معنی «اگر» و else به معنی «در غیر این صورت» است. برای مثال کد PHP زیر را در نظر بگیرید:
<?php
if(20>10){
echo "True";
} else {
echo "False";
}
?>
در این کد PHP یک شرط را چک کردهایم که اگر 20 بزرگتر از 10 بود، برای ما کلمه True (درست) را چاپ کند و در غیر این صورت یعنی اگر 20 از 10 کوچکتر بود، برای ما کلمه False (غلط) را چاپ کن. در این جا برنامه به ما کلمه True را چاپ میکند. چون 20 بزرگتر از 10 است و شرط ما درست است.
تابع (Function)
معنی تابع در برنامه نویسی چیست؟ تابع نیر یکی از لغات و اصطلاحات پرکاربرد در برنامه نویسی است. یک تابع، مجموعهای از کدهایی است که مستقل از سایر کدها هستند و یک دستورالعمل خاصی را انجام میدهند. توابع، یک یا چندین ورودی را میگیرند، روی آن پردازش انجام میدهند و در نهایت یک خروجی را به ما برمیگردانند. زمانی که یک تابع را مینویسیم، میتوانیم آن را چندین بار در جاهای مختلف استفاده کنیم.
تابع در زبان برنامه نویسی PHP به این صورت است:
<?php
function calculate($number1,$number2){
return $number1 + number2;
}
echo calculate(5,6);
?>
کد بالا یک تابع محاسبه (calculate) است که دو عدد 5 و 6 را به عنوان ورودی میگیرد، آن را جمع میکند و در نهایت خروجی را به ما بر میگرداند که برابر 11 است.
پارامتر (Parameter)
معنی پارامتر در برنامه نویسی چیست؟ هر تابع میتواند یک یا چندین پارامتر داشته باشد. برای مثال در کد PHP زیر:
<?php
function calculate($number1,$number2){
return $number1 + number2;
}
echo calculate(5,6);
?>
ورودیهای این تابع محاسبه (calculate)، دو متغیر به $number1 و number2$ هستند. که میتوانند اعداد مختلفی را به عنوان ورودی دریافت کنند. در حقیقت پارامترها هنگام نوشتن تابع، به عنوان ورودی تعریف میشوند. پارامترها نیز یکی از لغات و اصطلاحات تخصصی در برنامه نویسی است.
آرگومان (Argument)
معنی آرگومان در برنامه نویسی چیست؟ هر تابع میتواند به ازای هر پارامتر یک آرگومان داشته باشد. برای مثال در کد PHP زیر:
<?php
function calculate($number1,$number2){
return $number1 + number2;
}
echo calculate(5,6);
?>
ورودیهای این تابع محاسبه (calculate)، دو متغیر به $number1 و number2$ هستند. که از طریق کد echo calculate(5,6)، این تابع صدا زده میشود. موقع صدا زدن این تابع باید اعداد 5 و 6 را به عنوان آرگومان به این تابع پاس داده شوند. این آرگومانها هر عددی که دریافت کنند، روی خروجی کد تاثیر میگذارند. در حقیقت آرگومانها، مقادیری است که هنگام صدا زدن و استفاده از توابع، به آن پارامترها پاس میدهیم.
شیء (Object)
معنی شیء در برنامه نویسی چیست؟ شیء در واقع يک نمونه از يک کلاس (Class) است . وقتی که یک کلاس مقداردهی شد، یک نمونه درون حافظهای از آن کلاس ساخته میشود. این نمونه شئ نامیده می شود. برای مثال: انگور و موز هر کدام یک شیء از Class میوه هستند.
کلاس (Class)
معنی کلاس در برنامه نویسی چیست؟ یکی دیگر از لغات و اصطلاحات برنامه نویسی که خیلی رایج و پر کابرد است، Class است. کلاسها نقشههای اولیهای هستند که رفتار و اطلاعات اشیا را تعریف میکنند. کلاسها به ما کمک میکنند که شیءهای جدیدی را تولید و نمونه سازی کنیم. برای مثال: ماشین یک Class است و پراید و بنز، شیءهای Class ماشین هستند که در این کلاس ماشین میتوان شیءهای مختلفی ساخت و رنگ آنها را تغییر داد.
کلاس در PHP به صورت زیر تعریف میشود:
<?php
class Car {
public $name;
public $color;
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
}
$car = new Car();
$car->set_name("pride");
echo $car->get_name();
?>
متد (Method)
معنی متد در برنامه نویسی چیست؟ متد نیز یکی دیگر از لغات و اصطلاحات رایج در برنامه نویسی است. در حقیقت، توابعی که در داخل کلاسها استفاده میشوند، متد میگوییم. در کد بالا که یک کلاس PHP است، کدهای زیر:
یک متد محسوب میشوند چون این توابع داخل کلاس تعریف شدهاند.
<?php
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
?>
شیءگرایی (OOP)
برنامه نویسی شیءگرا چیست؟ یا شیءگرایی در برنامه نویسی چیست؟ یکی از لغات و اصطلاحات برنامه نویسی، شیءگرایی یا Object-Oriented Programming است که به اختصار OOP میگوییم. شیءگرایی یک شیوه برنامهنویسی است، که ساختار یا بلوک اصلی اجزای آن، شیءها میباشند.
در این شیوه برنامه نویسی، برنامه به شیء گرایش پیدا میکند، به این معنا که دادهها و توابعی که بر روی این دادهها عمل میکنند، تا حد امکان در قالبی به نام شیء و در کنار یکدیگر قرار گرفته، جمعبندی شده و یک واحد (یا یک شیء) را تشکیل میدهند و نسبت به محیط بیرون خود، کپسوله میشوند. یعنی توابع خارج از آن شیء، امکان ایجاد تغییر در دادههای درون شیء را نخواهند داشت.
مزایای برنامه نویسی شیء گرا:
- افزایش امنیت برنامه
- کاهش هزینه نگهداری
- قابلیت استفاده مجدد
- تحلیل سادهتر برنامه
ماژولار (Modular)
ماژولار در برنامه نویسی چیست؟ ماژولار بودن کدها، یک اصل در طراحی است که یک سیستم (برنامه) را به قطعات کوچکتر به نام ماژول تقسیم میکند. ماژولها میتوانند به طور مستقل ایجاد شوند، اصلاح شوند، جایگزین شوند یا با ماژولهای دیگر یا بین سیستمهای مختلف جابهجا شوند.
در برنامه نویسی ماژولار، هر قطعه کد (ماژول) یک وظیفهای دارد که تا حد امکان، کمترین وابستگی را به به سایر کدها (ماژول) دارد. اگر یک قطعه از کدها (ماژول) از کار بیفتد، میتوان آن را تغییر داد و یا با کد دیگری جایگزین کرد، بدون آن که به ساختار سایر کدها خللی ایجاد شود. ماژولار نوشتن کد نیز یکی از لغات و اصطلاحات برنامه نویسی است.
مزایای برنامه نویسی ماژولار:
- افزایش خوانایی کدها
- سهولت در تست کد
- قابلیت استفاده مجدد از کدها
- رفع سریع مشکلات
- بروزرسانی با ریسک پایین
- مدیریت آسان کدها
- ایجاد برنامه های با کیفیت
برای آشنایی بیشتر، مقاله زیر را مطالعه کنید:
کدنویسی تمیز (Clean Code)
کدنویسی تمیز چیست؟ کدنویسی تمیز یکی از اصطلاحات رایج در برنامه نویسی است که به معنای رعایت کردن اصول کدنویسی به منظور افزایش خوانایی، قابلیت درک، ماژولار شدن کدها و استفاده از مجدد کدها است. اصول کدنویسی تمیز در برنامه نویسی شیءگرا کاربرد زیادی دارد. برای آشنایی بیشتر با آن مقاله زیر را مطالعه کنید:
ریفکتورینگ کد (Code Refactoring)
ریفکتورینگ کد چیست؟ Code Refactoring نیز یکی از اصطلاحات پرکاربرد در برنامه نویسی است و به معنی بازساخت کد است. یعنی کد موجود را دوباره طوری بنویسیم که عملکرد اصلی کد دچار مشکل نشود. این روش به منظور بهینه کردن کد، افزایش سرعت، بهبود خوانایی و افزایش قابلیت نگهداری کدها انجام میشود. برای آشنایی بیشتر، مقاله زیر را مطالعه کنید:
اصول SOLID
اصول SOLID چیست؟ اصول SOLID یکی از اصطلاحات تخصصی در برنامه نویسی شیءگرا است. در برنامه نویسی شیءگرا 5 اصول اساسی داریم:
- اصل یگانگی مسئولیت
- اصل باز-بسته
- اصل جانشینی لیسکوف
- اصل تفکیک رابطها
- اصل وارونگی وابستگی
رعایت کردن این اصول باعث افزایش خوانایی، ماژولار شدن کدها، استفاده مجدد از کد و قابلیت نگهداری کدها میشود. اصول سالید بسیار مهم هستند. برای آشنایی بیشتر همراه با مثال، مقاله زیر را مطالعه کنید:
الگوهای طراحی (Design Patterns)
دیزاین پترن چیست؟ در طول سالهای مختلف، در برنامه نویسی شیءگرا یک سری مشکلاتی وجود داشت که در همهی زبانهای شیءگرا وجود داشت. برای حل این مشکلات، مجموعهای از روشها و الگوهای طراحی به وجود آمدند که به آنها دیزاین پترن (Design Pattern) میگویند. دیزاین پترن نیز یکی از اصطلاحات برنامه نویسی است. بهطور کلی 23 نوع دیزاین پترن داریم. برای آشنایی بیشتر با آنها مقاله زیر را مطالعه کنید:
توسعهدهنده جونیور (Junior Developer)
جونیور دولوپر چیست؟ معنی جونیور (Junior) در برنامه نویسی به معنی مبتدی است. توسعهدهندگان جونیور سابقه و مهارت کمتری نسبت به توسعهدهندگان میدلول و ارشد دارند.
توسعهدهنده میدلول (Mid-Level Developer)
میدلول دولوپر چیست؟ معنی میدلول (Mid-Level) در برنامه نویسی به معنی میانه است. توسعهدهندگان میدلول سابقه و مهارت بیشتری نسبت به توسعهدهندگان جونیور دارند اما سابقه و مهارت کمتری نسبت به توسعهدهندگان سنیور دارند.
توسعهدهنده سنیور (Senior Developer)
سنیور دولوپر چیست؟ معنی سنیور (Senior) در برنامه نویسی به معنی ارشد است. توسعهدهندگان سنیور سابقه و مهارت بیشتری نسبت به توسعهدهندگان جونیور و میدلول دارند.
توسعهدهنده فرانتاند (Front-End Developer)
فرانتاند دولوپر چیست؟ فرانتاند به معنی بخش ظاهر سایت است. هر آنچه در مرورگر خود، مانند تصاویر سایت، قالب سایت، رنگها، فرمهای ثبت نام و ورود در صفحات سایت و... مشاهده میکنید مربوط به فرانتاند سایت است. برای آشنایی بیشتر مقالات زیر را مطالعه کنید:
توسعهدهنده بکاند (Back-End Developer)
بکاند دولوپر چیست؟ بکاند به معنی بخش پنهان سایت است. این بخشها از دید کاربران و مرورگر پنهان است. تراکنشهای مالی و خرید اینترنتی، سیستم ثبت نام، سیستم ورود به سایت و... که ما عملیات آنها را در مرورگر خود نمیبینیم بخشهای سمت سرور هستند. این عملیات ممکن است.
البته منظورمان از سیستم ثبت نام و ورود، ظاهر آنها نیست چون ظاهر این فرمها قابل مشاهده است و بخش فرانتاند هستند. منظور بخش چک کردن این سیستم است. برای مثال: وقتی کاربر فرم ثبت نام را پر میکند، در بخش پنهان (بکاند) سایت چک میشود که آیا کاربر قبلا ثبت نام کرده بود یا خیر، در صورت بله بودن امکان ثبت نام مجدد نمیدهد و در صورت خیر بودن، ثبت نام کاربر انجام میشود. این عملیات چک کردن از دید کاربر و مرورگر مخفی است. برای آشنایی بیشتر مقالات زیر را مطالعه کنید:
توسعهدهنده فول استک (Full Stack Developer)
فول استک دولوپر چیست؟ یک توسعهدهنده فول استک، هم بخش فرانتاند سایت و هم بخش بکاند سایت را کد نویسی میکند. در حقیقت Front-End + Back-End برابر است با Full Stack. واژه فول استک نیز یکی از لغات و اصطلاحات رایج در برنامه نویسی است. برای آشنایی بیشتر مقالات زیر را مطالعه کنید:
توسعهدهنده MEAN استک (MEAN Stack Developer)
توسعهدهنده MEAN استک در برنامه نویسی چیست؟ MEAN استک تشکیل شده از مهارتهای برنامه نویسی زیر است:
- دیتابیس (Mongo DB)
- اکسپرس جی اس (Express.Js) فریمورکی برای Node.JS
- فریمورک انگولار (Angular) برای فرانتاند
- نود جی اس (Node.JS) برای بکاند
توسعهدهنده MEVN استک (MEVN Stack Developer)
توسعهدهنده MEVN استک در برنامه نویسی چیست؟ MEVN استک تشکیل شده از مهارتهای برنامه نویسی زیر است:
- دیتابیس (Mongo DB)
- اکسپرس جی اس (Express.Js) فریمورکی برای Node.JS
- ویو جی اس (Vue.js) برای فرانتاند
- نود جی اس (Node.Js) برای بکاند
توسعهدهنده MERN استک (MERN Stack Developer)
توسعهدهنده MERN استک در برنامه نویسی چیست؟ MERN استک تشکیل شده از مهارتهای برنامه نویسی زیر است:
- دیتابیس (Mongo DB)
- اکسپرس جی اس (Express.Js) فریمورکی برای Node.JS
- ریاکت جی اس (React.Js) برای فرانتاند
- نود جی اس (Node.JS) برای بکاند
توسعهدهنده LAMP استک (LAMP Stack Developer)
توسعهدهنده LAMP استک در برنامه نویسی چیست؟ LAMP استک تشکیل شده از مهارتهای برنامه نویسی زیر است:
- سیستم عامل لینوکس Linux
- وب سرور Apache
- دیتابیس MySQL
- زبان PHP برای بکاند
سرور (Server)
سرور چیست؟ Server در فارسی به معنی سرویسدهنده است. در حقیقت، سرور یک کامپیوتر همیشه روشن و قدرتمند است که اطلاعات روی آن ذخیره میشود و کاربران هر لحظه ممکن است به آن درخواست (Request) ارسال کنند و منتظر پاسخ (Response) آن در قالب مشاهده این اطلاعات باشند.
سرور نیز یکی از لغات و اصطلاحات برنامه نویسی است که برنامه نویسان همه روزه با آن سروکار دارند. برای آشنایی بیشتر با سرور و انواع آن مقاله زیر را مطالعه کنید:
وب سرور (Web Server)
وب سرور چیست؟ Web Server زیر مجموعه Server است. کابرد وب سرور در صفحات وب است. برای مثال هر سایتی روی یک Server ذخیره شده است. وقتی یک صفحه از سایتی را باز میکنیم، یک درخواست (Request) به آن سرور ارسال میکنیم و بعد از چند ثانیه پاسخ (Response) آن را در قالب متن، تصاویر، ویدئوها و... دریافت میکنیم.
در حقیقت کار Web Server برقراری ارتباط با Server است. وقتی این ارتباط برقرار شود، پاسخ درخواست به مرورگر ارسال میشود و کاربران و اطلاعات آن سایت را مشاهده میکنند.
برخی از وب سرورهای معروف عبارتاند از:
- اپاچی (Apache)
- انجین ایکس (NginX)
- لایت اسپید (LiteSpeed)
- LightTPD
- Microsoft IIS
وب سرویس (Web Service)
وب سرویس چیست؟ Web Serviceها یک نوع رابط برنامه نویسی است که بر بستر وب پیاده سازی میشود. این رابطها ارتباط میان نرمافزار با نرمافزار و کلاینت با نرمافزار را امکان پذیر میکند. هدف اصلی آنها ایجاد ارتباط میان کلاینت (کاربر) با سرور است.
برای درک بهتر وب سرویسها، فرض کنید: شما یک واحد نرمافزاری در نقطهی X دارید. همه افراد و بخشهای نرمافزاری که در نقطه X نیستند، اگر بخواهند از خدماتی که آن واحد نرمافزاری در نقطه X قرار دارد استفاده کنند باید از این رابطها استفاده کنند.
بنابراین باید رابطی وجود داشته باشد که بتواند خدمات ارائه شده در آن نقطه را در اختیار سایر نقاط قرار دهد. اطلاعاتی که با استفاده از این رابطها در بین نرمافزارهای مختلف رد و بدل میشوند به صورت فایل و معمولا بر اساس یکی از دو استاندارد XML و JSON انتقال داده میشوند.
هاست (Host)
هاست چیست؟ Host به معنی «میزبان» است. یک سایت را در نظر بگیرید. هر اطلاعاتی که روی سایت مانند: متن، تصاویر، قالب، فرمها و... میبینید روی هاست ذخیره شدهاند. پس هاست چه فرقی با سرور دارد؟ در حقیقت هاست یک فضا از سرور محسوب میشود که وبسایت شما در آن قرار دارد،
سایتهای ارائهدهنده مزبانی وب، یک سرور (کامپیوتر) را به بخشهای کوچکی تبدیل میکنند و به عنوان هاست، به چندین مشتری ارائه میکنند. در حقیقت سرور به عنوان یک کامپیوتر است و هاست به عنوان یک هارد از کامپیوتر است. هاست نیز یکی از لغات و اصطلاحات تخصصی در برنامه نویسی، میان توسعهدهندگان یا برنامه نویسان وب است. برای آشنایی بیشتر با هاست و انواع آن، مقاله زیر را مطالعه کنید:
دامنه (Domain)
دامنه چیست؟ دامنه یا Domain همان آدرسی است که با واردکردن آن در مرورگرتان وارد وبسایت میشوید؛ مثلا developersho.com را در نظر بگیرید. نام این دامنه developersho است و پسوند دامنه com است. دامنه نیز یکی از لغات و اصطلاحات رایج در برنامه نویسی، بین برنامه نویسان وب است. برای آشنایی بیشتر مقالات زیر را مطالعه کنید:
پلتفرم (Platform)
اصطلاح پلتفرم در برنامه نویسی چیست؟ Platform در فارسی به معنای "سکو" است. پلتفرم در سایر مشاغل معنای خاص خودش را دارد اما در نرمافزار و برنامه نویسی، به سختافزار یا نرمافزاری گفته میشود که قرار است برنامه ما در آن اجرا شود. برای مثال: یک برنامه ممکن است در پلتفرم IOS ،Android ،Macintosh ،Linux ،Windows و... اجرا شود. این محیطها همگی پلتفرم محسوب میشوند.
کراس پلتفرم (Cross Platform)
معنی کراس پلتفرم در برنامه نویسی چیست؟ از سایر لغات و اصطلاحات برنامه نویسی، واژه Cross Platform (چند سکویی) است. برعکس برنامه نویسی Native، شما در برنامه نویسی کراس پلتفرم میتوانید با یک زبان خاص، یکبار کد نویسی کنید و از آن کد یک خروجی برای انواع پلتفرمها استفاده کنید.
مثلا با یکبار کد زدن در فلاتر، میتوانید خروجی IOS ،Android ،Macintosh ،Linux ،Windows بگیرید.
فریمورکهای کراس پلتفرم (Cross Platform):
- فریمورک Ionic (آیونیک)
- فریمورک Xamarin (زامارین)
- فریمورک React Native (ری اکت نیتیو)
- فریمورک Flutter (فلاتر)
مزایای کراس پلتفرم (Cross Platform) نسبت به نیتیو (Native):
- صرفه جویی در زمان
- صرفه جویی در هزینه
- بروزرسانی آسان
- عملکرد نسبتا پایین نسبت به نیتیو
نیتیو (Native)
معنی نیتیو در برنامه نویسی چیست؟ یکی ذیگر از لغات و اصطلاحات برنامه نویسی، واژه Native (بومی) است. در در حالت برنامه نویسی نیتیو، شما با استفاده از یک زبان برنامه نویسی خاص، مانند سی شارپ میتوانید یک نرمافزار دسکتاپی بنویسید. برای نوشتن برنامه اندرویدی باید از زبان جاوا یا کاتلین استفاده کنید و برای برنامه نویسی تحت وب باید از PHP یا پایتون یا جاوا اسکریگت و... استفاده کنید.
یعنی برای هر پلتفرم خاص، باید یک زبان برنامه نویسی خاص را انتخاب کنید و کدهای مجزایی بنویسید.
برخی از زبانهای Native:
- PHP
- #C
- JavaScript
- Python
- ++C
- Java
مزایای نیتیو (Native) نسبت به کراس پلتفرم (Cross Platform):
- هزینه زیاد
- زمان زیاد
- دانش زیاد
- عملکرد نسبتا بالاتر نسبت به کراس پلتفرم
محیط توسعه یکپارچه (IDE)
IDE در برنامه نویسی چیست؟ از سایر لغات و اصطلاحات برنامه نویسی میتوان به محیط توسعه یکپارچه (Integrated development environment) اشاره کرد که مخفف آن IDE است.
محیط توسعه یکپارچه، یک نرمافزار کاربردی است که امکانات جامعی را برای برنامه نویسان کامپیوتر برای توسعه نرمافزار و کد نویسی فراهم میکند. یک برنامه نویس در این نرمافزار میتواند شروع به برنامه نویسی کند و برنامه خود را بسازد.
این امکانات ممکن است: کامپایل کد، ارتباط با Git، اتصال به FTP، مشخص کردن خطاهای کد و... باشد. به دلیل داشتن امکانات زیاد در IDE، ممکن است مصرف منابع زیادی را در سیستم اشغال کند و برای سیستمهای ضعیفتر مناسب نباشند.
معروفترین IDEها:
- PhpStorm
- Android studio
- Eclipse
- PyCharm
- IntelliJ IDEA
- Visual Studio
ویرایشگر کد (Code Editor)
ویرایشگر کد در برنامه نویسی چیست؟ ویرایشگر کد یا Code Editor یک نرمافزاری است که مانند IDE به برنامه نویس امکان برنامه نویسی و کد نویسی را فراهم میکند.
اما Code Editorها امکانات کمتری نسبت به IDE دارند. ویرایشگرهای کد به دلیل داشتن امکانات کمتر نسبت به IDEها، فوقالعاده سبک بوده و قابلیت اجرا در سیستمهای ضعیفتر را دارند.
ممکن است خیلی از ویرایشگرهای کد امکاناتی نظیر: کامپایل کد، ارتباط با Git، اتصال به FTP و... را نداشته باشند. چون هدف از ویرایشگرهای کد، صرفا کد نویسی و ویرایش کردن کد است. اما بعضی از این ویرایشگرها مانند Visual Studio Code (VS Code)، از طریق نصب افزونه، قابلیت اضافه کردن ویژگیهای IDE را دارد.
معروفترین Code Editorها:
- Visual Studio Code (VS Code)
- Atom
- Sublime Text
- Brackets
- Vim
- ++Notepad
ویرایشگر متن (Text Editor)
ویرایشگر متن در برنامه نویسی چیست؟ ویرایشگر متن یا Text Editor یک نرمافزاری مانند ویرایشگر کد است اما بیشتر برای ویرایش متن به کار میرود و امکانات کمتری نسبت به ویرایشگر کد، برای برنامه نویسی دارد. سادهترین ویرایشگر متن، همان Notepad پیش فرض ویندوز است.
با اینکه Text Editor، بیشتر برای ویرایش متن به کار میرود، اما امکان برنامه نویسی در آن وجود دارد. ویرایشگر متن به دلیل داشتن امکانات کمتر نسبت به ویرایشگر کد، اصلا پیشنهاد نمیشود.
معروفترین Text Editorها:
- Notepad
- ++Notepad (هم ویرایشگر متن و هم ویرایشگر کد محسوب میشود)
برای آشنایی بیشتر با Text Editor ،IDE و Code Editor، مقاله زیر را مطالعه کنید:
کیت توسعه نرمافزار (SDK)
کیت توسعه نرمافزار (SDK) در برنامه نویسی چیست؟ SKD بستهای از کدها، کتابخانهها، راهنماها و ابزارهایی است که برنامه نویسان برای توسعه نرمافزار از آن استفاده میکنند. SDK نیز یکی از لغات و اصطلاحات برنامه نویسی است.
هر کیت نرمافزار میتواند شامل موارد زیر باشد:
- کتابخانهها (Code Library)
- مستندات رابط برنامهنویسی کاربردی (API)
- محیط برنامهنویسی یکپارچه (IDE)
- مستنداتی برای چگونگی استفاده
- اشکالیاب (Debugger)
- نمونه کد
- مستندات آموزشی
- ابزارهای پشتیبانی
فریمورک (Framework)
معنی فریمورک در برنامه نویسی چیست؟ فریمورک (Framework) در لغت به معنی چارچوب است. فریمورک یک چارچوب برای زبان برنامه نویسی است. در واقع Framework، یک سری کدها و معماریهای از پیش نوشته شده است که باعث میشود روند سرعت برنامه نویسی بالاتر برود.
عدم استفاده از فریمورک باعث میشود که برخی از کدهای پایه را خودمان بنویسیم و سرعت توسعه پایین بیاید. همچنین ممکن است کدهایی که خودمان نوشتهایم، کثیف باشد و خوانایی خوبی نداشته باشد. فریمورک نیز یکی از لغات و اصطلاحات پرکاربرد در برنامه نویسی است.
مزایای استفاده از فریمورک:
- افزایش سرعت توسعه
- افزایش امنیت
- خوانایی بهتر کدها
برخی از فریمورکهای زبانهای برنامه نویسی:
- فریمورک لاراول (Laravel) برای زبان برنامه نویسی PHP
- فریمورک جنگو (Django) برای زبان برنامه نویسی Python
- فریمورک دات نت کور بر (Net Core.) برای زبان برنامه نویسی #C
- فریمورک ویو جی اس (Vue.Js) برای زبان برنامه نویسی JavaScript
- فریمورک فلاتر (Flutter) برای زبان برنامه نویسی Dart
معماری MVC
معماری MVC چیست؟ اگر برنامه نویس هستید حتما معنی MVC را شنیدهاید؛ چون MVC نیز یکی از لغات و اصطلاحات برنامه نویسی است که بسیار معروف است. MVC یک الگوی معماری نرمافزار است که مخفف کلمات View ،Model و Controller است.
در حقیقت مدل (Model)، وظیفه ارتباط با پایگاه داده (Database) را دارد. برای مثال: فراخوانی، ذخیره، ویرایش و حذف اطلاعات از جدولهای دیتابیس بر عهده Model است.
نمایش، این اطلاعات برای کابر، بر عهده بخش View است. و بخش Controller نیز واسط بین Model و View است. یعنی اطلاعات را از Model میگیرد و در بخش View به کاربر نمایش میدهد.
برای اطلاعات بیشتر درباره MVC و کاربرد آن در برنامه نویسی، مقاله زیر را مطالعه کنید:
کتابخانه (Library)
معنی کتابخانه در برنامه نویسی چیست؟ کتابخانهها (Library) مجموعهای از کلاس ها، متدها، ماژولها و... هستند که آنها را به کدهای خودمان اضافه میکنیم. کتابخانهها باعث سادهتر شدن کد نویسی میشوند. برای مثال: کتابخانه Math در زبان برنامه نویسی C است و در اکثر زبانهای برنامه نویسی نیز وجود دارد.
اگه بخواهیم لگاریتم یک عدد را بدست آوریم دیگر نیازی به دانستن الگوریتم بدست آوردن لگاریتم نیست و میتوانیم از تابع کلاس Math آن را بدست آوریم. کتابخانه نیز یکی از لغات و اصطلاحات رایج در برنامه نویسی است.
برای آشنایی بیشتر با تفاوت و شباهتهای کتابخانه و فریمورک، مقاله زیر را مطالعه کنید:
رابط برنامهنویسی کاربردی (API)
API در برنامه نویسی چیست؟ یکی دیگر از مهمترین و کاربردیترین لغات و اصطلاحات برنامه نویسی، API است. API مخفف کلمات Application Programming Interface، به معنی رابط برنامه نویسی کاربردی است. درواقع API وظیفه ارسال و دریافت درخواستها بین نرمافزارها را برعهده دارد و ارتباط سایتها و برنامهها را با یکدیگر برقرار میسازد.
برای مثال اگر شما بکاند سایت را با Laravel نوشتهاید و برنامه نویس دیگر فرانتاند سایت را با React نوشته باشد، میتوانید با API، فرانتاند و بکاند سایت را با هم ارتباط بدهید. یا مثلا از خدمات گوگل مانند "ریکپچا" و "ورود با اکانت گوگل" به وسیله API با سایت خود ارتباط بر قرار کنید.
برای مطالعه بیشتر درباره API و کاربرد آن، مقاله زیر را مطالعه کنید:
پایگاه داده یا دیتابیس (Database)
پایگاه داده یا دیتابیس در برنامه نویسی چیست؟ پایگاه داده یکی از بخشهای جدا نشدنی برنامه نویسی است که عملا بدون آن برنامه نویسی در دنیای کنونی غیر ممکن است.
دیتابیس محلی برای ذخیره اطلاعات است. برای مثال: عکسها، متنها و هر آن چیزی که در سایتها، نرمافزارها و بازیها میبینیم، باید در یک محلی ذخیره شده باشد که به این محل پایگاه داده یا دیتابیس (Database) میگوییم.
از معروفترین دیتابیسها میتوان به موارد زیر اشاره کرد:
- Oracle
- MySQL
- Microsoft SQL Server
- PostgreSQL
- MongoDB
- Redis
زبان SQL
SQL در برنامه نویسی چیست؟ SQL مخفف کلمات Structured Query Language، به معنای زبان پرسوجو ساختاریافته است. کاربرد این زبان برنامه نویسی نسبتا ساده، مدیریت اطلاعات پایگاههای دادهای است که بر پایهی سیستمهای رابطهای بنا شدهاند.
از طریق زبان SQL میتوان عملیات CRUD، یعنی Create (ایجاد)، Read (خواندن)، Update (بروزرسانی) و Delete (حذف کردن) اطلاعات در پایگاهداده را انجام داد.
اسکریپت (Script)
اسکریپت در برنامه نویسی چیست؟ اسکریپتها برنامههای کوچکی هستند که توسط زبانهای برنامه نویسی ساخته شدهاند. هدف اسکریپتها جلوگیری از انجام کارهای تکراری است. یعنی یک اسکریپت (یرنامه) از قبل نوشته شده تا از دوباره نوشتن آن خودداری کنیم و سرعت توسعه بالاتر رودو در زمان صرفهجویی شود.
درواقع اسکریپت، مجموعهای از دستورات و مراحل است که برای کامپیوتر نوشته میشود و کامپیوتر آنها را به ترتیب و خط به خط پردازش میکند. اسکریپت نیز یکی دیگر از لغات و اصطلاحات برنامه نویسی است که معمولا زیاد استفاده میشود.
دستور (Command)
Command در برنامه نویسی چیست؟ یکی از لغات و اصطلاحات برنامه نویسی که همهی برنامه نویسان با آن سر و کار دارند، Command است. در حوزه نرمافزار، «دستور» (Command) به دستورالعملی برای یک برنامه کامپیوتری گفته میشود که برای اجرای وظیفه خاصی انجام میشود.
صدور یک دستور ممکن است از طریق یک «رابط خط فرمان» (Command Line Interface) به صورت کد انجام شود و یا در یک رابط کاربری گرافیکی (GUI) صادر شود که توسط کاربر روی دکمه کلیک شده تا دستوری انجام شود.
خط فرمان (Command Line)
Command Line در برنامه نویسی چیست؟ «خط فرمان» (command line) که به آن «ترمینال» (Terminal) یا «Command Prompt» نیز گفته میشود، نوعی از برنامه نرمافزاری است که به صورت پیش فرض روی سیستمعاملهای ویندوز، لینوکس و مکینتاش نصب شده است. از طریق این خط فرمان میتوان دستور (Command) را انجام داد و یا یک برنامه را اجرا کرد و وارد پوشههای مختلف شد.
کامپایل (Compile)
کامپایل در برنامه نویسی چیست؟ زبانهای سطح بالا که به زبان انسان نزدیک هستند، توسط کامپیوتر درک نمیشوند. این زبانها باید به زبان دودویی (باینری) سطح پایین تبدیل شوند تا توسط ماشین قابل درک و اجرا باشند. به این عملیات کامپایل شدن کد میگویند. کامپایل شدن نیز یکی از لغات و اصطلاحات تخصصی در برنامه نویسی است.
کامپایلر (Compiler)
کامپایلر در برنامه نویسی چیست؟ کامپایلر (Compiler) یک برنامه خاصی است که کدهای زبان برنامه نویسی سطح بالا را به دودویی (باینری) زبان سطح پایین تبدیل میکند تا برای کامپیوتر قابل درک و اجرا باشد. زمانی که یک کد کامپایل میشود، به صورت یک فایل exe. که کدهای باینری سطح پایین است، در هارد کامپیوتر ذخیره میشود و میتوانید آن فایل را اجرا کنید.
مزایای کامپایلری نسبت به مفسری این است که چون یکبار خروجی گرفته شده و دیگر نیازی به ترجمه کد ندارد و کدهای ترجمه شده در قالب یک فایل هستند، سرعت بالاتری نسبت به مفسری دارند. معایب کامپایلری نسبت به مفسری این است که خطایابی سختتری در کدها دارند چون خط به خط اجرا نمیشود و نمیتوان فهمید در کدام خط کد خطا وجود دارد.
اگر برنامه نویس باشید حتما در لغات و اطلاحات برنامه نویسی، واژه کامپایلر را شنیده اید، برخی از زبانهای کامپایلری عبارتاند از:
- زبان برنامه نویسی C
- زبان برنامه نویسی ++C
- زبان برنامه نویسی #C
- زبان برنامه نویسی Java
- زبان برنامه نویسی Go
مفسر (Interpreter)
مفسر در برنامه نویسی چیست؟ مفسر نیز مانند کامپایلر وظیفهاش تبدیل کدهای زبان برنامه نویسی سطح بالا را به دودویی (باینری) زبان سطح پایین است تا برای کامپیوتر قابل درک و اجرا باشد. اما تفاوتی که مفسر نسبت به کامپایلر دارد این است که کدهای این زبانها به صورت خط به خط در همان زمان از بالا به پایین اجرا میشوند و خط به خط به کدهای باینری تبدیل میشوند و نیازی به ذخیره آنها نیست.
مزایای مفسری نسبت به کامپایلری این است که خطایابی راحتی دارند چون کدها خط به خط اجرا میشوند، هر خطی از کد خطا داشته باشد در آن خط متوقف میشود و میشود سریع به آن خط رفته و اشکال آن را درست کرد. اما معایب مفسری نسبت به کامپایلری این است که چون به صورت خط به خط همیشه باید اجرا شود، سرعت پایینی نسبت به کامپایلری دارند.
اگر برنامه نویس باشید حتما در لغات و اطلاحات برنامه نویسی، واژه مفسر را شنیده اید، برخی از زبانهای مفسری عبارتاند از:
- زبان برنامه نویسی PHP
- زبان برنامه نویسی JavaScript
- زبان برنامه نویسی Python
- زبان برنامه نویسی Ruby
- زبان برنامه نویسی Perl
برای اطلاعات بیشتر، مقاله زیر را مطالعه کنید:
کد سخت (Hardcode)
هاردکد (Hard code) در برنامه نویسی چیست؟ اصطلاحی برای توصیف کدهای نوشته شدهای است که دیگر تغییر نخواهند کرد. این کدها ممکن است پایه و اساس یک برنامه باشند که تغییر در آنها باعث ایجاد اختلال در برنامه میشود.
ایجکس (Ajax)
ایجکس (Ajax) در برنامه نویسی چیست؟ ایجکس (Ajax)، که برخی از برنامه نویسان از آن به عنوان آژاکس نیز یاد میکنند، مخفف کلمات Asynchronous JavaScript and XML به معنی ترکیب جاوا اسکریپت و xml غیرهمزمان و ناهمگام است.
در حقیقت Ajax تکنیکی برای لود سریع بخشی از صفحات، یا ارسال اطلاعات بخشی از صفحه به سرور، بدون لود شدن کل صفحه است.
برای مثال: وقتی شما یک نظر در سایت ارسال میکنید، در صورتی که Ajax نباشد، هنگام ارسال کل صفحه مجددا لود میشود که سرعت صفحه را پایین میآورد. اما اگر Ajax باشد. فقط قسمت نظرات سایت لود میشود و لود روی بخشهای دیگر سایت اعمال نمیشود.
جیسان (JSON)
جیسان (JSON) در برنامه نویسی چیست؟ جیسان یا جیسون مخفف کلمات JavaScript Object Notation به معنی «نمادگذاری اشیا در جاوا اسکریپت» است. در واقع جیسون (JSON) یک Object جاوا اسکریپت است که برای ذخیره داده و یا انتقال آن استفاده میشود.
JSON حجم بسیار کمی دارد و خوانایی بالایی دارد و جایگزین XML شده است. جیسون نیز یکی از لغات و اصطلاحات پر کاربرد در برنامه نویسی است.
فرض کنید شما یک بادبادک دارید که میخواهید آن را به یک فرد دیگر بدهید. روش اول این است که آن بادبادک را به او ارسال کنید. اما روش دوم این است که خصوصیات بالن را به آن شخص بگویید تا او نیز مطابق آن خصوصیات، بادبادک خود را بسازد. خصوصیات میتواند: رنگ، جنس، اندازه، اجزاء استفاده شده در بادبادک و... باشد.
{"employees":[
{ "firstName":"Reza", "lastName":"Asgharzadeh" },
{ "firstName":"Ali", "lastName":"Alipour" },
{ "firstName":"Mohammad", "lastName":"Mirzaei" }
]}
کد بالا یک نمونه کد JSON است. مثالی برای JSON، تاکسی اینترنتی اسنپ است. زمانی که شما یک مبدا و یک مقصد در اپلیکیشن اسنپ انتخاب میکنید: نام، نام خانوادگی، شماره همراه، عکس پروفایل، مسیر و... را تحت قالب JSON به سرورهای شرکت اسنپ ارسال میکنید.
اسنپ نیز با توجه به اطلاعات شما، یک راننده برای شما انتخاب میکند و مجددا اطلاعات راننده را تحت قالب JSON برای شما ارسال میکند و شما آن را میبینید.
ساختار نحوی (Syntax)
سینتکس در برنامه نویسی چیست؟ سینتکس (Syntax) به معنای «نحو» است. هر زبان برنامه نویسی نحوه نوشتاری متفاوتی دارند اما قوانین در همه زبانها یکسان است.
به جملات زیر در زبان فارسی دقت کنید:
- خوشبختانه، رضا توانست خانه بخرد
- رضا،خوشبختانه توانست خانه بخرد
- رضا توانست خوشبختانه خانه بخرد
هر سه این جملات نشان میدهد که رضا یک خانه خریده است. اما با جمله یا سینتکس جداگانه نوشته شده است. در زبان برنامه نویسی نیز همینطور است.
برای مثال متغیر در Python به صورت زیر است:
name = "Reza"
اما متغیر در PHP به صورت زیر است:
$name = "Reza"
همانطور که میدانید این متغیرها کاربرد یکسانی دارند اما با نوشتاری متفاوتتر. سینتکس نیز یکی از لغات و اصطلاحات تخصصی در برنامه نویسی است. اگر نوشتاری یک زبان برنامه نویسی را اشتباه بنویسید، با خطای سینتکس یا Syntax Error مواجه خواهید شد.
رمز (Token)
توکن (Token) در برنامه نویسی چیست؟ توکن یک سختافزار یا یک کد نرمافزاری است که به عنوان ورود و اثبات هویت فردی به سیستمهای کامپیوتری استفاده میشود.
امروزی از توکن به جای رمز عبور برای ورود به سیستمهای کامپیوتری استفاده میشود. ممکن است این توکن یک سختافزار مانند فلش باشد یا یک کد نرمافزاری باشد. توکن نیز یکی از لغات و اصطلاحات پر کاربرد در برنامه نویسی است.
کامنت (Comment)
کامنت در برنامه نویسی چیست؟ در برنامه نویسی اگر بخواهیم یک قسمت از کدی را غیر فعال کنیم، در اصطلاح آن را کامنت میکنیم که کار کند. وظیفه دیگر کامنتها در برنامه نویسی توضیح کد است. برای اینکه سایر برنامه نویسان، وظیفه این کد را متوجه شوند، با کامنت در باره آن کد یک توضیحی میدهیم. کامنتگذاری در برنامه نویسی برای توضیح کد یک کار خوب و ضروری است.
از اصطلاح کامنت نیز یکی از لغات و اصطلاحات برنامه نویسی است که در بین برنامه نویسان رایج است.
براکت (Bracket)
براکت در برنامه نویسی چیست؟ براکتها در برنامه نویسی برای احاطه کردن متن (کد) استفاده میشود. براکتها به صورت باز و بسته هستند.
انواع براکتها در برنامه نویسی:
- براکتهای پیچشی یا مجع: {}
- پرانتز یا براکت گرد: ( )
- براکتهای زاویهای: < >
- براکت مربع: [ ]
واژه براکت نیز از لغات و اصطلاحات مهم در برنامه نویسی است که برنامه نویسان موقع کد نویسی همیشه با آن سروکار دارند.
اسکوپ (Scope)
اسکوپ در برنامه نویسی چیست؟ scope در برنامه نویسی مربوط به بحث accessibility (قابلیت دسترسی) و visibility (قابلیت مشاهده) است. مثلا این بخش بیشتر در متغیرها و توابع به کار میرود. مثلا اگر تابع یا متغیری در سورس کد من وجود داشت، میتوانیم از هر جای سورس کد به آن دسترسی داشته باشیم یا خیر؟
دواپس (DevOps)
دواپس چیست؟ DevOps از دو کلمهی Development (توسعه) و Operation (عملیات) تشکیل شده است. دواپس بین تیم توسعهی نرمافزار و تیم عملیاتی شرکت، همکاری و تعامل ایجاد میکند. تیم توسعه شامل تمام افرادی است که ساخت و توسعه نرمافزار و محصول، خطایابی (تستر) و تکمیل آن نقش دارند و تیم عملیاتی شامل تمام افرادی است که در نگهداری تجهیزات سخت افزاری، نرم افزاری، و محیطهای عملیاتی نقش دارند.
DevOps یک زبان یا یک تکنولوژی خاص نیست بلکه ترکیبی از فلسفه، فرهنگ، شیوهها و ابزارهایی است که کمک میکنند محصولات یا خدمات ما سریعتر به دست مشتریان برسد. برای اطلاعات بیشتر مقاله زیر را مطالعه کنید:
داکر (Docker)
داکر چیست؟ Docker یکی از ابزارهای مهم برای توسعهدهندگان و مهندسین دواپس است. با استفاده از Container در داکر میتوانید برنامههای ایزوله (جدا) از هم بسازید تا روی یکدیگر تاثیری نگذارند. همچنین با استفاده از داکر میتوان تمام پیشنیازهای اجرای یک برنامه را بدون نصب تک تک آنها، بهصورت یکجا نصب کرد. برای اطلاعات بیشتر مقاله زیر را مطالعه کنید:
بلاکچین (Blockchain)
بلاکچین چیست؟ Blockchain ترکیبی از کلمات Block (بلوک) و Chain (زنجیر) به معنی زنجیره بلوکی است. دادهها در بلاکچین بهصورت غیرمتمرکز ذخیره میشوند. کاربرد اصلی بلاکچین حذف واسطهها و امنیت بیشتر دادهها است. برای آشنایی بیشتر با بلاکچین، مقاله زیر را مطالعه کنید:
وردپرس (WordPress)
وردپرس چیست؟ WordPress یک سیستم مدیریت محتوای رایگان و منبع باز (Open Source) است که با زبان برنامه نویسی PHP توسعه داده شده است. توسط وردپرس میتوان بدون نیاز به دانش برنامه نویسی، سایتهای شخصی، شرکتی، خدماتی، پزشکی، فروشگاهی و... طراحی کرد.
توسط سیستم مدیریت محتوای وردپرس، میتوان در سایت خود مطلب منتشر کرد. منظور از مطلب، شامل: محتوا، عکس، ویدئو، صدا، محصولات و... است که میتوان آنها را در سایت خود برای نمایش و فروش قرار داد. برای آشنایی بیشتر با وردپرس، مقاله زیر را مطالعه کنید:
گیت (Git)
معنی گیت در برنامه نویسی چیست؟ گیت نیز یکی دیگر از لغات و اصطلاحات برنامه نویسی است. گیت یک سیستم کنترل ورژن است که برای کنترل پروژه میتوان از آن استفاده کرد. در حقیقت شما با استفاده از گیت، میتوانید پروژه خود را بر روی مخزن گیتهاب آپلود کنید.
برخی از مزایای گیت:
- تغییرات پروژه خود را مدیریت کنید.
- تغییرات تستی در پروژه انجام دهید که روی پروژه اصلی اعمال نشود.
- برگشت به تغییرات چند ماه قبل با یک دستور ساده.
گیتهاب (GitHub)
معنی گیتهاب در برنامه نویسی چیست؟ از دیگر لغات و اصطلاحات برنامه نویسی گیتهاب است. گیتهاب مخزنی برای ذخیره پروژهها است. سایت گیتهاب مانند یک هاست عمل میکند که شما میتوانید یک نسخه از پروژههای خود را در آن قرار دهید.
برخی از مزایای گیتهاب:
- ادغام یا مرج سایر کدهای برنامه نویسان در پروژه خود.
- همکاری سایر برنامه نویسان روی یک پروژه واحد.
- داشتن یک نسخه بکاپ از پروژه خود که اگر به هر دلیلی هارد شما از بین رفت، از گیتهاب آن را به سیستم خود برگردانید.
برای یادگیری گیت و گیتهاب، در دوره زیر ثبت نام کنید:
رابط کاربری (UI)
رابط کاربری چیست؟ رابط کاربری (UI) مخفف کلمات User Interface است. البته UI جزء برنامه نویسی و کد نویسی نیست. بلکه جزئی در طراحی گرافیک است ولی با برنامه نویسان رابطه مستقیم دارد.
یک طراح رابط کاربری، ظاهر یک سایت یا اپلیکیشن مانند، رنگها، قالب سایت، رنگ سایت، نحوه قرارگیری عکسها و... را در نرمافزارهای گرافیکی طراحی میکند و آن را در اختیار توسعهدهندگان فرانتاند قرار میدهد تا مطابق آن طرح گرافیکی، ظاهر سایت یا اپلیکیشن را کد نویسی کنند.
از دو نرمافزار برتر طراحی رابط کاربری میتوان به موارد زیر اشاره کرد:
- فیگما (Figma)
- ادوبی ایکسدی (Adobe XD)
تجربه کاربری (UX)
تجربه کاربری چیست؟ تجربه کاربری (UX) مخفف کلمات User Experience است. تجربه کاربری نیز مانند UI، جزء برنامه نویسی و کد نویسی نیست. بلکه جزئی در طراحی گرافیک است ولی مانند UI با برنامه نویسان رابطه مستقیم دارد.
یک سایت را در نظر بگیرید، میزان رضایت و راحتی کاربر از آن سایت به تجربه کاربری بستگی دارد. مثلا فرم ثبت نام به چه شکل باشد، رنگ دکمه خرید چه رنگی باشد که کاربر ترغیب به خرید شود و یا اندازه دکمهها چقدر باشد که کاربر راحت روی آن کلیک کند. وظیفه این بخشها بر عهده ظراج تجربه کاربری است.
برای آشنایی بیشتر، مقاله زیر را مطالعه کنید:
امیدواریم مقاله لغات و اصطلاحات برنامه نویسی برای شما مفید واقع شده باشد. اگر لغات و اصطلاحات برنامه نویسی، خاصی را نمیدانید و در این لیست وجود ندارد، لطفا در قسمت نظرات با ما به اشتراک بگذارید تا در این مقاله به آن اشاره کنیم.
مطالعه مقالات زیر نیز میتواند برای شما مفید باشد: