شما در هر حوزهای که قصد فعالیت داشته باشید باید با فرهنگ لغات آن حوزه آشنا شوید تا به راحتی بتوانید در آن حوزه فعالیت کنید. برنامهنویسی هم به همین شکل است و لغات و اصطلاحاتی در آن مورد استفاده قرار میگیرند که شما چه در فرآیند آموزش و یادگیری و چه در حین کار و انجام پروژههای مختلف با آنها سروکار خواهید داشت. در ادامه این مطلب با من سجاد عبدالله نام همراه باشید، تا پرکاربردترین لغات و اصطلاحات رایج برنامه نویسی را با هم مرور کنیم.
فرهنگ لغات برنامه نویسی
لغات و اصطلاحات زیادی در برنامهنویسی مورد استفاده قرار میگیرند که دانستن آنها برای فردی که قصد فعالیت در حوزه برنامه نویسی را دارد بسیار مهم است. این اصطلاحات عبارتند از:
برنامه (Program) در برنامه نویسی چیست؟
اصطلاح برنامه در برنامهنویسی به یک برنامه نرمافزاری مجموعهای از کدها و دستورالعملها گفته میشود که به کامپیوتر دستور میدهد، از چه طریقی، وظایف خاص را اجرا کند. به طور مثال، به نرمافزارهایی که در کامپیوتر و موبایل نصب و استفاده میکنیم، برنامه گفته میشود.
کد (Code) در برنامه نویسی چیست؟
کد برنامهنویسی به مجموعهای از دستورالعملها گفته میشود که در یک زبان برنامهنویسی مشخص نوشته شده است.
برنامه نویسی (Programming) چیست؟
همانطور که در مطلب ” برنامه نویسی چیست؟ ” گفتیم، برنامه نویسی کامپیوتر که با عنوان Programming شناخته میشود یک زبان واسط است که زبان انسان را برای ماشینها و کامپیوترها قابل فهم میکند. این کدها زمانی که بهینه شوند و مشکلی نداشته باشند به عنوان یک برنامه نرمافزاری قابل استفاده خواهند بود.
زبان برنامه نویسی (Programming Language) چیست؟
برای نوشتن برنامههای کامپیوتری از یک سیستم نشانهگذاری استفاده میشود که به آن زبان برنامه نویسی میگویند. از این زبانهای برنامه نویسی برای ساخت وب سایتها، اپلیکیشنهای موبایل، بازیهای کامپیوتری و دیگر نرمافزارها استفاده میشود. از جمله زبانهای برنامهنویسی پر کاربرد میتوان به زبان PHP، زبان Java، زبان Javascript، زبان C، زبان #C، زبان ++C و زبان برنامه نویسی Python اشاره کرد.
زبان برنامه نویسی سطح پایین (Low Level Programming Language) چیست؟
منظور از زبان برنامه نویسی سطح پایین، زبانهایی هستند که به زبان کامپیوتر نزدیکترند. یعنی خوانایی و دستورات نوشتاری آن به نسبت سختتر از زبانهای سطح بالا است. سطح پایین بودن این زبان بدین معنا نیست که نسبت به زبانهای سطح بالا ارزش پایینتری دارند. معنای سطح بالا و پایین در زبان برنامهنویسی با آن معنای سلسله مراتبی که همه میشناسیم، متفاوت است. این زبان ویژگیهای مختلفی دارد که عبارتند از: قابلیت تجرید یا انتزاع ندارند. به زبانهای ماشینی و کامپیوتری نزدیکتر هستند و نیاز به مدیریت حافظه دارند. از جمله مهمترین زبانهای برنامه نویسی سطح پایین میتوان به زبان Assembly اشاره کرد.
زبان برنامه نویسی سطح بالا (High Level Programming Language) چیست؟
زبان برنامهنویسی سطح بالا از زبانهای برنامه نویسی سطح پایین ساخته شدهاند. زبانهای برنامه نویسی سطح بالا به زبان انسانها نزدیکتر هستند به همین دلیل نوشتار و خوانایی آنها آسانتر از زبانهای سطح پایین هستند. این زبانها، قابلیت انتزاع یا تجرید ندارند. خوانایی بهتری دارند و نیازی به مدیریت حافظه ندارند. از جمله مهمترین زبانهای سطح بالا میتوان به زبان Java، زبان PHP، زبان Python، زبان Javascript، زبان #C و Ruby اشاره کرد.
از بین زبانهای برنامهنویسی، زبانهای C و ++C به عنوان واسط بین زبانهای سطح پایین و بالا شناخته میشوند. چرا که هم امکان مدیریت حافظه را فراهم کرده و هم انتزاع و تجرید ندارند.
سورس کد (Source Code) در برنامه نویسی چیست؟
سورس کد به گروهی از کدهای برنامه نویسی که یک برنامهنویس مینویسد و تبدیل به یک برنامه میشود، کد منبع برنامه نویسی گفته میشود.
اوپن سورس (Open Source) در برنامه نویسی چیست؟
به صورت لغوی، اوپن سورس به معنی ” متن باز ” است. در برنامهنویسی، اوپن سورس بدین معنا است که هر برنامهنویسی میتواند تغییراتی در کد منبع، ایجاد نموده یا باگهای احتمالی آن را پیدا و رفع کند. به طور مثال اگر به گیت هاب مراجعه کنید، سورس کدهای متعددی در آن منتشر میشوند که همگی اوپن سورس هستند. برنامهنویسها میتوانند سورس کد مد نظرشان را ببینند و در کدهای آن تغییراتی ایجاد کنند تا مشکلی را رفع کنند یا کد اصلی را توسعه دهند.
اگر از یک برنامهنویس بپرسیم که به چه سیستم عاملی علاقه بیشتر دارد بدون شک پاسخ او سیستم عامل Linux است چرا که این سیستم عامل، منبع باز است اما مکینتاش و ویندوز Open Source نیستند.
الگوریتم (Algorithm) در برنامه نویسی چیست؟
الگوریتم در تعریف کلی یک روش گام به گام است که اگر به درستی اجرا شوند، مسئله مورد نظر حل خواهاد شد. در واقع الگوریتم به مجموعهای از دستورالعملها گفته میشود که به ترتیب و یکی پس از دیگری انجام میشوند تا یک مسئله را حل کنند. هر برنامه نویس تازه کار باید قوه تخیل و همینطور تفکر خودش را به کار بگیرد و روند کار برنامهنویسی از جمله ورودیها، پردازش اطلاعات و خروج را بر روی کاغذ بنویسد تا بتواند آن را کدنویسی کند.
فلوچارت (Flowchart) در برنامه نویسی چیست؟
همانطور که گفتیم الگوریتم یک روش گام به گام است که باید این گامها به ترتیب اجرا شوند. حال اگر الگوریتم مد نظر ما ترسیم گرافیکی شود، به آن Flowchart گفته میشود. فلوچارت در واقع رودمپ یا نقشه راهی است که هر برنامه نویس باید قبل از نوشتن برنامه مد نظرش، آن را ترسیم کند. فلوچارتها عموما به شکل اشکال هندسی هستند که در آنها، دیتا از یک مسیر وارد میشود و پس از اینکه چند دستور بر روی آنها انجام گردد، نهایتا به یک خروجی منتج میشوند.
باگ (Bug) در برنامه نویسی چیست؟
باگ برنامهنویسی در واقع یک نوع خطا یا اشتباه نرمافزاری در حین اجرا است که باعث میشود نتایج ما یا اشتباه شوند یا نرمافزار ما اجرا نشود. یکی از علل مهم باگ خوردن کدها، اشکالاتی است که برنامهنویس در حین کدنویسی مرتکب میشود. باگ خوردن کدها یکی از ایراداتی است که بین برنامهنویسها بسیار رایج است و باید دیباگ شود تا کد مد نظر به درستی کار کند.
دیباگ (Debug) در برنامه نویسی چیست؟
دیباگ کردن یا دیباگینگ به صورت لغوی به معنای اشکال زدایی است. حل کردن خطاهای کدهای برنامهنویسی و رفع اشکالات آنها را دیباگ و فرآیند انجام آن را دیباگینگ میگویند.
متغیر (Variable) در برنامه نویسی چیست؟
متغیر در واقع یک فضا در حافظه است که نام مشخصی دارد و حاوی یک مقدار قابل تغییر است. به عبارت دیگر، فضایی که برای ذخیره دیتا در نظر گرفته میشود، متغیر گفته میشود. به طور مثال به عبارت زیر دقت کنید:
Name = ” Sajad Abdollah Nam “
در این عبارت بخش Name متغیر ما است و Sajad Abdollah Nam هم متغیر ما از نوع استرینگ است. بخش Name میتواند در فضاهای مختلف تغییر کند و نام دیگری هم داشته باشد. متغیرهای مختلفی در برنامهنویسی وجود دارند که از جمله آنها میتوان به متغیر تهی (Null)، متغیر خالی (Empty)، متغیر تعریف نشده (Undefined)، اعداد بولین (Boolean) درست (True) یا غلط (False)، عدد اعشاری (Float، Double، Decimal)، عدد صحیح (Integer) و رشته (String) اشاره کرد.
ثابت (Constant) در برنامه نویسی چیست؟
ثابت هم مانند متغیر یک فضا در حافظه است که یک نام مشخص دارد و میتواند حاوی یک مقدار ثابت یا اطلاعات مشخص باشد. به عبارت دیگر، ثابت فضایی است که برای ذخیره دیتا در نظر گرفته شده است. مقدار ثابت در فضاهای مختلف برنامه تغییری نمیکند.
مقدار (Value) در برنامه نویسی چیست؟
مقدار در برنامه نویسی، دیتا و اطلاعاتی است که در متغیر یا ثابت ذخیره میگردد. مثال قبلی را که به یاد دارید:
Name = ” Sajad Abdollah Nam “
در این مثال Name متغیر ما است و Sajad Abdollah Nam مقدار آن متغیر است.
آرایه (Array) در برنامه نویسی چیست؟
چند متغیر که در کنار هم جمع میشوند، آرایه را تشکیل میدهند. به بیان دیگر چندین متغیر میتوانند در یک آرایه ذخیره شوند. اجازه بدهید برای درک بهتر مطلب یک مثال دیگر بزنیم. به این تکه کد دقت کنید:
Books = [“A ” , “B” , “C”]
در این تکه کد، Books نام آرایه و A اندیس یا ایندکس صفر، B اندیس یک و C هم اندیس دو است.
رشته (String) در برنامه نویسی چیست؟
به متغیری که مقداری برابر با یک کاراکتر داشته باشد، String گفته میشود. این متغیر درون ” ” قرار میگیرد. به طور مثال:
” Name = ” Sajad Abdollah Nam
عدد صحیح (Integer) در برنامه نویسی چیست؟
اینتجر در برنامهنویسی به متغیری گفته میشود که مقدارش برابر با یک عدد صحیح مثل ۵ باشد. ضمنا چون متغیر ما عدد صحیح است نباید داخل ” ” قرار بگیرد. به طور مثال:
Number = 10
عدد اعشاری (Float) در برنامه نویسی چیست؟
به متغیری که مقدارش برابر با اعداد اعشاری باشد فلوت گفته میشود. به طور مثال:
Number = 12.5
بولین (Boolean) در برنامه نویسی چیست؟
بولین یکی از دادههایی است که در زبانهای برنامه نویسی مورد استفاده قرار میگیرد. بولین فقط میتواند یا صفر یا یک باشد که مقدار صفر به معنی False و مقدار یک به معنای True است. به طور مثال این تکه کد را در نظر بگیرید:
Scroll (5>3)
خروجی این عبارت True است چرا که ۵ بزرگتر از ۴ است.
تهی (Null) در برنامه نویسی چیست؟
عبارت Null در زبانهای برنامه نویسی به معنای تهی و پوچ است به عبارت دیگر وقتی نال استفاده میشود یعنی چیزی وجود ندارد. زمانی که جلوی یک متغیر Null بیاید به این معنا است که آن متغیر وجود ندارد. به طور مثال:
Let This = Null
خالی (Empty) در برنامه نویسی چیست؟
همانطور که میدانید Empty در زبان انگلیسی به معنای خالی است که در برنامه نویسی هم به همین معنا است. خالی در برنامه نویسی به این معنا است که مقداری وجود دارد اما این مقدار خالی است. به طور مثال:
Let This = ” “
تعریف نشده (Undefined) در برنامه نویسی چیست؟
ما در برنامه نویسی مدام در حال صدا کردن یک سری متغیر هستیم که این متغیرها باید از قبل تعریف شده باشند تا بتوان از آنها استفاده کرد. اگر متغیری فراخوانی شود که قبلا تعریف نشده باشد، آن متغیر Undefined میگردد. البته اگر نام یک متغیر را هم بنویسیم و برای آن، مقدار تعیین نکنیم باز هم متغیر ما تعریف نشده میگردد.
حلقه (Loop) در برنامه نویسی چیست؟
حلقه در برنامهنویسی به ترتیبی از دستورالعملها گفته میشود که تکرار میشوند و این تکرار شدن تا زمانی ادامه پیدا میکند که شرایطی خاص برقرار شود. به عبارت دیگر لوپ یک اسکریپت نرمافزاری است که دستورالعملهای یکسانی را تکرار میکند واین کار را تا زمانی انجام میدهد که دستور توقف را دریافت کند. این ایده برنامه نویسی معمولا در نوشتن برنامهها مورد استفاده قرار میگیرد. حلقههای مختلفی در برنامه نویسی وجود دارند که از جمله آنها میتوان به حلقه While، حلقه For، حلقه Do whole، حلقه Foreach و حلقه Infinity اشاره کرد.
شرط (Else و If) در برنامه نویسی چیست؟
عبارتهای If و Else در برنامه نویسی کاربرد بسیار زیادی دارند. عبارت If به معنای اگر و Else هم به معنای در غیر اینصورت است. به طور مثال یک برنامه نویس میتواند کدی را بنویسد که در آن بگوید اگر اعداد وارد شده بالای ۵ بودند (If) کلمه True را به ما بده و اگر نبودند (Else) کلمه False را برای ما نمایش بده.
تابع (Function) در برنامه نویسی چیست؟
تابع یکی دیگر از لغات پرکاربرد برنامه نویسی است. تابع برنامه نویسی در واقع مجموعهای از کدها است که از دیگر کدها جدا شده است و یک دستورالعمل خاص را اجرا میکند. توابع در واقع، ورودیها را از ما میگیرند، بر روی ورودیها پردازش انجام میدهند و در نهایت یک خروجی به ما تحویل میدهند. زمانی که تابعی نوشته میشود، ما مجموعهای از کدها را در اختیار خواهیم داشت که در فضاهای مختلف میتوانیم از آن استفاده کنیم.
پارامتر (Parameter) در برنامه نویسی چیست؟
پارامترها همان ورودیها هستند که در هنگام نوشتن تابع مورد استفاده قرار میگیرند.
آرگومان (Argument) در برنامه نویسی چیست؟
آرگومان در برنامه نویسی به مقادیری گفته میشوند که ما در حین فواخوانی به توایع ارجاع میدهیم. به طور مثال اگر یک تابع را در نظر بگیریم که جذر مقدار ورودی را به ما بر میگرداند، مقدار ورودی که قرار است تابع، جذر آن را محاسبه کند، آرگومان گفته میشود.
شی (Object) در برنامه نویسی چیست؟
اجازه بدهید شی در برنامه نویسی را با یک مثال توضیح بدهیم. خیار و هلو هر کدام یک شی از کلاس میوه حساب میشوند. در واقع شی یک نمونه از یک کلاس است.
کلاس (Class) در برنامه نویسی چیست؟
کلاس یکی دیگر از لغات بسیار پرکاربرد برنامه نویسی است. کلاسها در واقع قالبهای کدنویسی هستند که برای ایجاد اشیا استفاده میشوند. به عبارت دیگر، کلاسها نقشههای اولیهای هستند که رفتار و اطلاعات اشیا را تعریف میکنند. کلاسها به ما اجازه میدهند که Object های جدیدی را تولید و نمونهسازی کنیم. به طور مثال، خودرو یک کلاس محسوب میشود که هیوندا و کیا، آبجکتهای کلاس خودرو هستند. در کلاس خودرو میتوان شیهای مختلفی ساخت و ظاهر آنها را تغییر داد.
متد (Method) در برنامه نویسی چیست؟
متدها در برنامه نویسی، توابعی هستند که در داخل کلاسها استفاده میشوند.
شیگرایی (Object Oriented) در برنامه نویسی چیست؟
برنامه نویسی شی گرا یا Object Oriented Programming یک شیوه برای برنامهنویسی است که ساختار اصلی آن را شیها تشکیل میدهند. در برنامه نویسی شی گرا، برنامه به شی گرایش دارد. یعنی دادهها و توابعی که بر روی دادهها نوشته شدهاند، در قالب یک شی در کنار هم قرار میگیرند، جمعبندی میشوند، یک واحد یا یک شی دیگر را تشکیل میدهند و کپسوله میشوند یعنی هر تابعی که خارج از آن شی باشد، نمیتواند دادههایی درون شی را تغیییر بدهد.
ماژولار (Modular) در برنامه نویسی چیست؟
ماژولار بودن کدها در برنامه نویسی در واقع یک اصل طراحی است که یک سیستم یا برنامه به قطعات کوچکتری تقسیم میشوند که این قطعات، ماژول نام دارند. ماژولها این امکان را دارند که مستقلا ایجاد شوند، جایگزین و اصلاح شوند یا اینکه بین سیستمهای مختلف جابهجا شوند. در برنامهنویسی ماژولار، هر کد ماژول یک وظیفه را بر عهده دارد و تا حد ممکن کمترین وابستگی را به دیگر ماژولها دارد. اگر زمانی یک قطعه کد از کار بیفتد به سادگی میتوان آن را تغییر داد یا با کدهای دیگر جایگزین کرد، بدون اینکه در ساختار کلی کدها اخلالی ایجاد گردد.
ماژولار نوشتن کدها در برنامه نویسی مزایای فراوانی دارد که از جمله آنها میتوان به آسان شدن تست کردن کدها، بالا رفتن میزان خوانایی کدها، رفع کردن سریعتر مشکلات و باگها، مدیریت آسانتر کدها و ساخت برنامههای با کیفیت اشاره کرد.
الگوهای طراحی (Design Patterns) در برنامه نویسی چیست؟
طی سالهایی که برنامه نویسی شی گرا مورد استفاده قرار می گیرد، به مرور زمان مشکلاتی کشف شدند که در اغلب زبانهای شی گرا وجود داشتند. به همین دلیل، برنامه نویسان مجموعهای از الگوهای طراحی و روشهای مختلفی را ابداع کردند که به Design patterns یا الگوهای طراحی در برنامه نویسی مشهور هستند.
اصول سالید (solid principle) در برنامه نویسی چیست؟
به اصول اساسی برنامه نویسی، اصول سالید گفته میشوند. از اصول اساسی برنامه نویسی شی گرا میتوان به اصل تفکیک رابطها، اصل جانشینی لیسکوف، اصل باز بسته، اصل یگانگی مسئولیت و اصل وارونگی وابستگی اشاره کرد. رعایت کردن این اصول اهمیت بالایی دارد چرا که باعث بالا رفتن میزان خوانایی، ماژولار شدن کدها، امکان نگهداری کدها و استفاده دوباره از آنها میشود.
کدنویسی تمیز (Clean Code) در برنامه نویسی چیست؟
کدنویسی تمیز در برنامه نویسی بدین معنا است که اصول کد نویسی باید در کدزنی رعایت شوند.
کد ریفکتورینگ (Code Refactoring) در برنامه نویسی چیست؟
اصطلاح کد ریفکتورینگ در لغت به معنای دوباره ساختن کد است. بدین معنا که کد موجود را طوری بنویسیم که عملکرد اصلی دستخوش مشکل نشود. دلیل انجام این کار هم خواناتر شدن کدها، بالا بردن سرعت، بهینهتر ساختن کدها و افزایش میزان نگهداری کدها است.
توسعهدهنده جونیور (Junior Developer) در برنامه نویسی چیست؟
عبارت جونیور در بسیاری از موقعیتهای شغلی دیگر به غیر از برنامه نویسی هم کاربرد دارد. به فردی که سابقه کاری و مهارت کمتری نسبت به فرد متوسط دارد، جونیور گفته میشود. در برنامه نویسی هم این عبارت دقیقا به همین معنا است.
توسعهدهنده میدلول (Mid Level Developer) در برنامه نویسی چیست؟
میدلول در دیگر موقعیتهای شغلی و همینطور در برنامه نویسی به فردی گفته میشود که سابقه و مهارت بیشتری نسبت به فرد جونیور دارد.
توسعهدهنده سنیور (Senior Developer) در برنامه نویسی چیست؟
سنیور در همه مشاغل از جمله برنامه نویسی به معنای فرد ارشد است که سابقه و مهارت بالاتری نسبت به برنامهنویسهای میدلول و جونیور دارد.
توسعهدهنده فرانت اند (Front End Developer) در برنامه نویسی چیست؟
فرانت در معنای به معنای روبرو است و فرانت اند در برنامه نویسی به ظاهر سایت گفته میشود. شما زمانی که یک سایت را باز میکنید ظاهر سایت را میبینید. مثلا قالب سایت، رنگها، دکمهها و غیره همگی فرانت اند سایت هستند.
توسعهدهنده بک اند (Back End Developer) در برنامه نویسی چیست؟
اما بک اند دقیقا برعکس فرانت اند است و هر آنچه شما در یک وب سایت نمیبینید را شامل میشود. این بخش از دید کاربر و مرورگری که سایت را به شما نشان میدهد پنهان است. به طور مثال سیستم خرید کالا، قیمتها، تراکنشهای مالی و موارد این چنینی همگی در بکاند انجام میشوند و سمت سرور هستند نه سمت کاربر. به عبارت دیگر همه کدهایی که در سایت وجود دارند و عملیات خاصی را برای ما انجام میدهند، در بخش بک اند در دسترس هستند.
توسعهدهنده فول استک (Full Stack Developer) در برنامه نویسی چیست؟
برنامه نویس یا توسعهدهندهای که هم روی فرانت اند سایت کار میکند و هم در بخش بک اند کدنویسی انجام میدهد به عنوان یک توسعه دهنده فول استک شناخته میشود. به عبارت دیگر اگر فرانت اند را با بک اند جمع کنیم حاصل این جمع، فول استک خواهد بود.
توسعهدهنده MEAN استک (MEAN Stack Developer) در برنامه نویسی چیست؟
توسعهدهندهای که مهارت کار با دیتابیس، فریم ورک Express Js، فریم ورک Angular و Node Js را داشته باشد به عنوان توسعه دهنده MEAN شناخته میشود.
توسعهدهنده MEVN استک (MEVN Stack Developer) در برنامه نویسی چیست؟
توسعهدهندهای که مهارت کار با دیتابیس، اکسپرس جی اس، Vue Js برای فرانت و Node Js را برای بکاند داشته باشد، به عنوان توسعه دهنده MEVN شناخته میشود.
توسعهدهنده MERN استک (MERN Stack Developer) در برنامه نویسی چیست؟
توسعهدهندهای که مهارت کار با دیتابیس، اکسپرس جی اس، ری اکت جی اس برای فرانت و نود جی اس را برای بک اند داشته باشد، توسعهدهنده MERN محسوب میشود.
توسعهدهنده LAMP استک (LAMP Stack Developer) در برنامه نویسی چیست؟
توسعهدهندهای که مهارتهای برنامه نویسی سیتسم عامل Linux، وب سرور Apache، دیتابیس MySQL و زبان برنامه نویسی PHP را برای بک اند داشته باشد، به عنوان توسعهدهنده LAMP شناخته میشود.
سرور (Server) در برنامه نویسی چیست؟
سرور یا سرویسدهنده یک کامپیوتر بسیار قوی همیشه روشن است که اطلاعات بر روی آن ذخیره میشود. کاربرها هر زمانی که بخواهند میتوانند برای آن Request ارسال کنند و منتظر Response بمانند.
وب سرور (Web Server) در برنامه نویسی چیست؟
وب سرور زیرمجموعهای از سرور است که در صفحات وب کاربرد دارد. به عبارت کار وظیفه وب سرور، برقراری ارتباط با Server است. وب سرورهای شناختهشدهای وجود دارند که از جمله آنها میتوان به وب سرور آپاچی (Apache)، وب سرور انجین ایکس (NginX)، وب سرور لایت اسپید (LiteSpeed)، وب سرور Light TPD و مایکروسافت IIS اشاره کرد. وب سرویس (Web Service) در برنامه نویسی چیست؟
وب سرویس رابطی است که عموما برای ایجاد ارتباط بین کاربر یا کلاینت و سرور مورد استفاده قرار میگیرد. به عبارت دیگر وب سرویس یک رابط برنامه نویسی است که بر بستر وب پیاده سازی میشود و ارتباط بین نرم افزار با نرم افزار و کاربر با نرمافزار را ممکن میسازد. اطلاعاتی که به واسطه این رابطها رد و بدل میشود معمولا به صورت فایل با فرمتهای JSON و XML انتقال داده میشوند.
هاست (Host) و دامنه (Domain) چیست؟
هاست در زبان انگلیسی به معنای میزبان است. شما اگر یک وب سایت را در نظر بگیرید، تمام اطلاعاتی که شما وارد سایت میکنید مثل متنها، عکسها، کدها و غیره، روی فضایی ذخیره میشوند که هاست نام دارد. هاست فضایی از سرور است که وب سایت شما در آن قرار گرفته است.
در سراسر جهان، شرکتهایی وجود دارند که سرورهای بزرگ را خریداری کرده و به بخشهای کوچکتر تقسیم میکنند. این شرکتها سپس این سرورهای کوچکتر را به عنوان هاست به مشتریان خود میفروشند. اگر بخواهیم کمی واضحتر معنای هاست را برای شما باز کنیم، سرور یک کامپیوتر است و هاست به عنوان هارد آن کامپیوتر شناخته میشود.
و اما نوبت به دامنه میرسد. دامنه دقیقا همان آدرسی است که همه سایتها دارند و کاربر با وارد کردن آن در مرورگر میتواند وارد وب سایت شود. دامنه وب سایتها پسوندهای مختلفی دارند که از جمله آنها میتوان به Com. اشاره کرد.
پلتفرم (Platform) در برنامه نویسی چیست؟
پلتفرم از لحاظ لغوی به معنای سکو است اما در هر شغل و حوزهای معنای مرتبط با خودش را دارد. پلتفرم در برنامه نویسی به نرمافزار یا سختافزاری گفته میشود که قرار است برنامه ما در آن اجرا شود. به طور مثال یک بازی یا یک اپلیکیشن را در نظر بگیرید. اپلیکیشنها معمولا میتوانند در محیطهای مختلفی مانند IOS، اندروید، ویندوز یا محیطهای دیگر اجرا شوند. به این محیطها به طور کلی پلتفرم گفته میشود.
کراس پلتفرم (Cross Platform) در برنامه نویسی چیست؟
کراس پلتفرم در برنامه نویسی به معنای چندسکویی است. برنامه نویسی کراس پلتفرم دقیقا برعکس برنامه نویسی نیتیو است. در برنامه نویسی Native شما مجموعه کدهایی را مینویسید و این مجموعه کد در یک پلتفرم قابل اجرا است اما برنامه نویسی کراس پلتفرم به شکلی است که شما با یک زبان خاص، یک بار کدنویسی میکنید و میتوانید از آن کد برای چند پلتفرم خروجی بگیرید.
برنامه نویسی کراس پلتفرم نسبت به نیتیو مزایای فراوانی دارد که از جمله آنها میتوان به صرفهجویی در هزینه و زمان و بهروزرسانی آسانتر اشاره کرد. از جمله مهمترین فریمورکهای کراس پلتفرم میتوان به فریمورک Flutter، فریمورک React Native، فریمورک Xamarin و ُریمورک Ionic اشاره کرد.
نیتیو (Native) در برنامه نویسی چیست؟
در زبان انگلیسی Native به معنای بومی است. در برنامهنویسی Native شما با استفاده از یک زبان برنامهنویسی به خصوص مثل سی شارپ میتوانید یک نرمافزار برای دسکتاپ بنویسید یا با استفاده از زبان جاوا یا کاتلین یک اپلیکیشن اندرویدی بنویسید. به عبارت دیگر شما در برنامه نویسی نیتیو باید برای هر پلتفرم، یک زبان خاص را انتخاب کنید و کدهای جداگانه بنویسید.
از جمله تفاوتهای این نوع برنامه نویسی نسبت به کراس پلتفرم میتوان به دانش برنامه نویسی بالا، هزینه بالا و زمان بیشتر اشاره کرد. پرکاربردترین زبانهای برنامه نویسی Native عبارتند از: زبان PHP، زبان #C، زبان Java، زبان Java Script و پایتون اشاره کرد.
محیط توسعه یکپارچه (IDE) در برنامه نویسی چیست؟
محیط توسعه یکپارچه در برنامه نویسی که با نام IDE (مخفف عبارت Integrated Development Environment) هم شناخته میشود، یک نرمافزار کاربردی است که امکانات جامعی را در اختیار برنامهنویس ها جهت کدنویسی و توسعه نرمافزار قرار میدهد. هر برنامه نویس میتواند در این نرمافزار کدنویسی کند و برنامه مدنظر خودش را بسازد. این نرمافزار به برنامه نویسها امکانات بسیاری میدهد که از جمله آنها میتوان به ارتباط با گیت، کامپایل کردن کدها، مشخصکردن خطاهای کدها و … اشاره کرد. IDE ها چون امکانات زیادی دارند ممکن است منابع بالایی را در سیستمهای کامپیوتری مصرف کنند که سیستمهای ضعیف توانایی آن را نخواهند داشت. از جمله شاخصترین IDEها میتوان به Android Studio ،Php Storm ،Visual Studio ،Eclipse و Pycharm اشاره کرد.
ویرایشگر کد (Code Editor) در برنامه نویسی چیست؟
ویرایشگر کد هم مثل IDE یک نرمافزار است که به برنامهنویس امکان برنامهنویسی و کدنویسی میدهد. تفاوت Code Editorها با IDEها امکانات پایینتر آنها است. به دلیل اینکه این نرمافزارها سبکتر هستند، میتوان از آنها در سیستمهای ضعیفتر هم استفاده کرد.
بسیاری از ویرایشگرهای کد، امکان کامپایل کردن کدها، ارتباط با گیت و اتصال به FTP را ندارند چرا که هدف از این ویرایشگرها، صرفا کدنویسی و ویرایش کردن کدها است. البته برخی از ویرایشگرها این امکان را دارند که با نصب افزونه بتوانند قابلیتهای IDEها را داشته باشند.از جمله معروفترین کد ادیتورها میتوان به Visual Studio Code، Atom، Sublime Text، Brackets، Notepad plus plus و Vim اشاره کرد.
ویرایشگر متن (Text Editor) در برنامه نویسی چیست؟
ویرایشگر متن هم مانند ویرایشگر کد یک نرمافزار است که بیشتر برای ویرایش متن کاربرد دارد و امکانش برای برنامه نویسی به نسبت ویرایشگر کد پایینتر است. با اینکه Text Editor بیشتر برای ادیت متن استفاده میشود اما امکان برنامه نویسی هم در آن وجود دارد اما ما پیشنهاد نمیکنیم که از آن استفاده کنید. از جمله تکست ادیتورهای معروف میتوان به Notepad و ++ Notepad اشاره کرد.
کیت توسعه نرمافزار (SDK) در برنامه نویسی چیست؟
کیت نرمافزار یا SDK شامل ابزارهای مختلفی است که برنامه نویسان برای توسعه نرمافزارهای خود از آن استفاده میکنند. این ابزارها معمولا عبارتند از: کتابخانه کدها، رابطهای برنامه نویسی کاربردی (API)، محیط یکپارچه برنامه نویسی، اطلاعات نحوه استفاده، دیباگر (پیدا کننده اشکالات)، نمونه کدها، موارد آموزشی و ابزارهای پشتیبانی.
فریمورک (Framework) در برنامه نویسی چیست؟
معنای لغوی Framework، چهارچوب است. در برنامه نویسی هم به چهارچوب برنامه نویسی، فریمورک گفته میشود. Frameworkها یک سری کدها و معماریهای از پیش نوشته شده هستند که به بالا رفتن سرعت برنامه نویسی کمک میکنند. اگر از فریمورکها استفاده نکنیم مجبور هستیم که برخی از کدهای بیسیک را هم خودمان بنویسیم که قطعا سرعتمان را کاهش میدهد. همچنین ممکن است کدهایی که خودمان نوشتهایم به اصطلاح کثیف باشند، امنیت کافی نداشته یا در خوانایی مشکل داشته باشند. از جمله پرکاربردترین فریمورکها برای زبانهای برنامه نویسی مختلف میتوان به موارد زیر اشاره کرد:
معماری MVC در برنامه نویسی چیست؟
معماری MVC یک الگوی معماری نرمافزاری است که نامش از حروف اول عبارات Controller، View و Model گرفته شده است. مدل، ارتباط با پایگاه داده را برقرار میکند. یعنی کارهایی مانند ویرایش یا حذف، دخیره و فراخوانی داده از دیتابیس بر عهده مدل است. نمایش اطلاعات بر عهده بهش View است و Controller هم دیتا را از مدل گرفته و در بخش ویو به کلاینت نمایش میدهد.
کتابخانه (Library) در برنامه نویسی چیست؟
کتابخانه در برنامهنویسی به مجموعهای از کدها گفته میشود که از پیش نوشته و آماده هستند. از کتابخانهها برای سازماندهی و دستهبندی کردن توابعی که با هم در ارتباط هستند استفاده میشود. یکی از مهمترین مزیتهای کتابخانهها این است که به آسانتر شدن برنامه نویسی کمک میکنند.
رابط برنامهنویسی کاربردی (API) در برنامه نویسی چیست؟
کلمه API مخفف کلمات Application Programming Interface که در زبان فارسی با عنوان رابط برنامهنویسی کاربردی شناخته میشود. API ها ارسال و دریافت درخواستها را بین نرمافزارها بر عهده دارند. به عبارت دیگر API ها ارتباط بین برنامهها و سایتها را برقرار میکنند. به طور مثال شما میتوانید برای ارتباط بخش Back End و Front End سایت از يک API استفاده کنید. یا به طور مثال میتوانید با استفاده از API اطلاعاتی را از سایتهای دیگر گرفته و به هر شکلی که میخواهید در وب سایت خودتان نمایش دهید.
پایگاه داده یا دیتابیس (Database) در برنامه نویسی چیست؟
یکی از مهمترین بخشهای جدانشدنی برنامه نویسی دیتابیس یا پایگاه داده است. دیتابیس در واقع، محلی برای ذخیره اطلاعات مثل متن، عکس یا هر چیز دیگری است که در سایتها، بازیها یا دیگر برنامهها میبینیم. محلی که موارد یاد شده در آنجا ذخیره میشوند، Database نام دارد. از جمله شناختهشدهترین دیتابیسها میتوان به Oracle، MySQL، MIcrosoft SQL Server و MongoDB اشاره کرد.
زبان SQL در برنامه نویسی چیست؟
عبارت SQL مخفف شده از حروف اول کلمات Structured Query Language به معنای زبان پرس و جو ساختاریافته است. زبان برنامه نویسی SQL برای مدیریت پایگاههای داده استفاده میشود. برنامه نویسها از طریق SQL میتوانند عملیاتهای ایجاد، خواندن، به روزرسانی و حذف اطلاعات را در دیتابیس انجام داد.
اسکریپت (Script) در برنامه نویسی چیست؟
اسکریپتها مجموعهای از دستورالعملها و مراحل هستند که برای کامپیوتر نوشته میشوند و کامپیوتر این موارد را خط به خط پردازش میکند. هدف از نوشتن اسکریپتها جلوگیری از کارهای تکراری است. اسکریپتها از قبل نوشته میشوند تا در حین برنامه نویسی و توسعه از دوباره نوشتن آنها خودداری کنیم. این کار سرعت توسعه را بالاتر میبرد و به دنبال آن میزان زمان قابل ملاحظهای صرفهجویی میشود.
دستور (Command) در برنامه نویسی چیست؟
دستور یا کامند در برنامهنویسی، دستورالعملی است که به یک برنامه کامپیوتری داده میشود تا وظیفه خاصی را برای ما انجام بدهد.
خط فرمان (Command Line) در برنامه نویسی چیست؟
خط فرمان در برنامه نویسی که با عنوان Terminal یا Command Prompt هم شناخته میشود یک برنامه نرمافزاری است که به صورت دیفالت بر روی سیستم عاملهایی مانند ویندوز و مکینتاش نصب شده است. خط فرمان به ما این امکان را میدهد که یک دستور یا یک برنامه خاص را اجرا کنیم.
کامپایل (Compile) در برنامه نویسی چیست؟
همانطور که پیشتر توضیح دادیم، زبانهای سطح بالا به زبان انسان نزدیکتر هستند و کامپیوتر این زبانها را نمیفهمد. این زبانها باید به زبان باینری تبدیل شوند تا کامپیوتر منظور ما را بفهمد و آن را اجرا کند. به عملیات یاد شده کامپایل گفته میشود.
کامپایلر (Compiler) در برنامه نویسی چیست؟
کامپایلر در برنامه نویسی به یک برنامه خاص گفته میشود که عملیات کامپایل کردن را برای ما انجام میدهد. زمانی که کد مد نظر ما کامپایل شود، به صورت یک فایل Exe در هارد کامپیوتر ذخیره میشوند و میتوان این فایل را اجرا کرد. از جمله زبانهای کامپایلری میتوان به زبان C، زبان #C، زبان ++C، زبان Java و زبان برنامه نویسی Go اشاره کرد.
مفسر (Interpreter) در برنامه نویسی چیست؟
مفسر هم مثل کامپایلر وظیفه دارد کدهای برنامه نویسی سطح بالا را به باینری یا سطح پایین تبدیل کند تا کامپیوتر بتواند آنها را درک و اجرا کند. تفاوتی که مفسر نسبت به کامپایلر دارد این است که کدها در آن به صورت خط به خط اجرا میشوند و خط به خط به کدهای باینری تبدیل میشوند. مزیت Interpreter به نسبت Compiler این است که در سیستم مفسری، خطایابی آسانتر است چرا که کدها به صورت خط به خط اجرا میشوند. اما عیب این سیستم نسبت به کامپایلری این است که چون خط به خط اجرا میگردند، سرعت آنها به نسبت کامپایلری پایینتر است. از جمله زبانهای مفسری میتوان به زبان PHP، زبان Python، زبان JS و زبان Ruby اشاره کرد.
کد سخت (Hardcode) در برنامه نویسی چیست؟
کدهای سخت به کدهایی گفته میشوند که دیگر تغییر نخواهند کرد. این کدها معمولا کدهای پایهای و اساسی برنامهها هستند که اگر تغییر در آنها ایجاد شود، در برنامه اختلال به وجود میآید.
ایجکس (Ajax) در برنامه نویسی چیست؟
عبارت ایجکس (Ajax) یا آژاکس در برنامه نویسی مخفف شده از حروف اول کلمات Asynchronous JavaScript and XML به معنای ترکیب جاوا اسکریپت و Xml به صورت ناهمگام و غیر همزمان است. در واقع Ajax یک تکنیک است که برای سریعتر لود شدن صفحات یا ارسال بخشی از یک صفحه به سرور بدون اینکه کل صفحه لود شود استفاده میشود.
به طور مثال اگر زمانی که در یک صفحه کامنتی قرار میدهید اگر صفحه مورد نظر شما Ajax نشده باشد، هنگامی که نظر را ارسال میکنید، کل صفحه مجددا لود میشود اما اگر Ajax شده باشد فقط بهش کامنتها لود میشود. این کار باعث میشود که سرعت صفحه به واسطه لود کل صفحه پایین نیاید.
جیسان (JSON) در برنامه نویسی چیست؟
جیسون یا جی سان مخفف شده از حرف اول کلمات JavaScript Object Notation به معنای نمادگذاری آبجکتها یا اشیا در جاوا اسکریپت است. در واقع جیسون یک شی از جاوا اسکریپت است که برای انتقال یا دخیره دیتا مورد استفاده قرار میگیرد. JSON حجم پایینی دارد اما خوانایی آن بالا است به هیمن دلیل، جایگزین XML شده است.
ساختار نحوی (Syntax) در برنامه نویسی چیست؟
ساختار نحوی یا Syntax در برنامه نویسی به معنای نحوه نوشتار در زبانهای برنامه نویسی است. هر زبان برنامه نویسی نحوه نوشتاری مختلفی دارد اما قوانین در زبانها یکسان است. مثلا شما میتوانید بگویید: سجاد معمولا کدهای خوبی مینویسد. همینطور میتوانید بگویید، معمولا سجاد کدهای خوبی مینویسد. هر دوی این عبارات یک معنی را میدهند اما با سینتکس جداگانه نوشته شدهاند. این موضوع در برنامه نویسی هم صحت دارد.
رمز (Token) در برنامه نویسی چیست؟
توکنها در برنامه نویسی معمولا برای اثبات هویت فردی یا ورود به سیستمهای کامپیوتری استفاده میشوند. Tokenها یک سختافزار یا یک کد نرمافزاری هستند که امروزه به عنوان جایگزین رمزهای عبور مورد استفاده قرار میگیرند.
کامنت (Comment) در برنامه نویسی چیست؟
کامنت گذاشتن در برنامه نویسی یک کار ضروری و مهم است. در برنامه نویسی اگر بخواهیم یک کد را توضیح دهیم تا سایر برنامهنویسها متوجه آن شوند، درون کد کامنت میگذاریم. ضمنا اگر بخواهیم یک قسمت از یک کد را غیر فعال کنیم باید آن را کامنت کنیم تا کار کند.
براکت (Bracket) در برنامه نویسی چیست؟
براکتها در زبان انگلیسی در ابتدا و انتهای کدها قرار میگیرند و آن را احاطه میکنند. براکتها انواع مختلفی دارند که از جمله آنها میتوان به براکت مربعی ( [ ] )، براکت پیچشی ( {} )، براکت گرد یا پرانتزی ( ) و براکتهای زاویهای ( < > ) اشاره کرد.
اسکوپ (Scope) در برنامه نویسی چیست؟
اسکوپ یا دامنه در برنامه نویسی به معنای محدوده کدهای کاربر است. اسکوپ، تعیین کننده دسترسی به توابع و متغیرها میباشد. به عبارت دیگر اینکه کاربر درباره مکان اعلام تابع چه تصمیمی میگیرد بر دسترسی آن تاثیر خواهد داشت. به همین دلیل زمانی که یک متغیر در تابعی اعلان میشود فقط در محدوده آن تابع در دسترس خواهد بود.
دواپس (DevOps) در برنامه نویسی چیست؟
کلمه دواپس از حروف اول دو کلمه Development به معنای توسعه و Operation به معنای عملیات تشکیل شده است. اگر برای توسعه یک برنامه یا نرمافزار تیمی خارج از شرکت فعالیت داشته باشد، دواپس بین تیمی که بیرون از شرکت بر روی توسعه نرمافزار فعالیت میکند و تیم عملیاتی که داخل شرکت است تعامل ایجاد میکند و همکاری آنها را تسهیل میکند. Devops در پروژهها وظیفه دارند کمک کنند تا محصولات و خدمات، سریعتر به دست مشتریان شرکتها برسند.
داکر (Docker) در برنامه نویسی چیست؟
داکر یک محیط نرمافزاری Open Source است که از Container استفاده میکند و باعث میشود که برنامههای نرمافزاری در محیطهای جداگانه از هم پیش بروند طوری که کار یک برنامه اختلالی بر کار برنامه دیگر ایجاد نکند. ضمنا با استفاده از داکر میتوان تمام پیشنیازهای مربوط به اجرای یک برنامه را به جای اینکه تک تک نصب کرد، به صورت یکجا این کار را انجام داد.
بلاکچین (Blockchain) در برنامه نویسی چیست؟
معنای لغوی بلاکچین، زنجیرهای از بلوکها است. مهمترین شاخصه بلاکچین این است که دادهها در آن به صورت غیرمتمرکز ذخیره میشوند. از کاربردهای مهم بلاکچین میتوان به حذف واسطهها و بالا بردن امنیت اطلاعات و دادهها اشاره کرد.
وردپرس (WordPress) در برنامه نویسی چیست؟
وردپرس یک سیستم مدیریت محتوای (CMS) متن باز است که توسعه آن با استفاده از زبان برنامه نویسی PHP انجام شده است. وردپرس این امکان را برای کاربرانی که اطلاعات برنامه نویسی ندارد فراهم کرده که بتوانند وب سایتهایی با کاربریها مختلف طراحی کنند. وردپرس مدیریت سایتها را بسیار آسان کرده و هر فردی با کمترین اطلاعات میتواند با استفاده از آن در وب سایت خودش عکس، وویس، ویدیو، متن و …. منتشر کند.
گیت (Git) در برنامه نویسی چیست؟
گیت یک سیستم کنترل ورژن (VCS) در پروژههای برنامه نویسی است. با استفاده از گیت شما قادر هستید تمام تغییراتی را که بر روی یک پروژه اعمال کردهاید نگهداری کرده و به سوابق آن هم دسترسی داشته باشید. در حقیقت شما قادر هستید با استفاده از گیت، پروژه خود را بر روی گیتهاب آپلود کنید. گیت مزایای فراوانی دارد که از جمله آن میتوان به مدیریت تغییرات در پروژهها، اعمال تغییرات آزمایشی بدون اعمال بر روی پروژه اصلی و امکان بازگشت به تغییرات چند ماه قبل با استفاده از یک دستور ساده اشاره کرد.
گیتهاب (GitHub) در برنامه نویسی چیست؟
گیتهاب یک مخزن برای ذخیره کدهای پروژهها محسوب میشود. وب سایت GitHUB در واقع مانند یک هاست عمل میکند که شما میتوانید نسخهای از پروژه خود را بر روی آن قرار دهید. گیتهاب مزایای فراوانی دارد که از جمله آن میتوان به ادغام یا مرج بقیه کدهای یک پروژه، کار کردن چند برنامهنویس بر روی یک پروژه و داشتن نسخه بک آپ از پروژه برای بازگردانی در صورت پاک شدن هارد کامپیوتر برنامهنویس اشاره کرد.
رابط کاربری (UI) در برنامه نویسی چیست؟
عبارت UI مخفف شده از حروف اول کلمات User Interface است. این عبارت جزئی از برنامه نویسی یا کدنویسی نیست و بخشی از گرافیک است اما برنامهنویسان با آن ارتباط مستقیم دارند. گرافیست رابط کاربری یک وب سایت یا اپلیکیشن یا هر نرمافزار دیگر را به همراه رنگها، محل قرارگیری عکسها و به طور کلی ظاهر را در نرمافزارهای گرافیکی طراحی میکند و خروجی کار را به Front End Developer میدهد تا کدنویسی ظاهر سایت بر اساس آن انجام شود. از جمله نرمافزارهای معروفی که برای طراحی UI استفاده میشود میتوان به Figma و Adobe XD اشاره کرد.
تجربه کاربری (UX) در برنامه نویسی چیست؟
عبارت UX مخفف شده از حروف اول کلمات User Experience است. تجربه کاربری هم مثل طراحی رابط کاربری جزئی از برنامه نویسی نیست ولی ارتباط مستقیم با برنامهنویسی دارد. به طور مثال اینکه یک کاربر چطور به یک صفحه خاص میرسد یا چطور ترغیب به خرید میشود بخشی از تجربه کاربری است که وظیفه پیادهسازی آن بر عهده طراحی رابط کاربری میباشد.