اگر تازه وارد دنيای برنامه نويسی شده ايد يا حتی مدتی است در اين حوزه فعاليت می کنيد، حتماً با اصطلاحات زيادی روبرو شده ايد که شايد معنی بعضی از آن ها را ندانيد. آشنايی با اين واژه ها باعث می شود راحت تر مفاهيم را ياد بگيريد، بهتر کد بزنيد و در گفتگو با ديگران سردرگم نشويد. در اين مقاله قصد داريم مهم ترين و پرکاربردترين اصطلاحات برنامه نويسی را به زبان ساده معرفی کنيم. اين اصطلاحات از زبان هايی مثل پایتون، جاوا، جاوااسکريپت، سی شارپ و... جمع آوری شده اند و دانستن آن ها می تواند در هر مسيری از برنامه نويسی که باشيد به دردتان بخورد.
پیشنهاد مطالعه: اصطلاحات طراحی سایت
Table of contents [Show]
اگر به تازگی وارد دنیای برنامه نویسی شده اید، خوب است اول با مفاهیم پایه آشنا شويد. اين اصطلاحات به شما کمک می کنند که بهتر با ساختار زبان های برنامه نويسی و نحوه عملکرد آن ها آشنا شويد. در ادامه چند اصطلاح مهم و پرکاربرد را با هم مرور می کنيم:
مجموعه ای از قواعد و دستورهاست که برای نوشتن برنامه های کامپيوتری استفاده می شود. مثل پایتون، جاوا، سی شارپ و جاوااسکريپت.
همان دستورات نوشته شده توسط برنامه نويس است که کامپيوتر آن را اجرا می کند.
کامپايلر برنامه ای است که کل کد را يکباره به زبان ماشين تبديل می کند. اما مفسر خط به خط کد را اجرا می کند.
مجموعه ای از مراحل منظم و منطقی است که برای حل يک مسئله به کار می رود.
به فرآيند پيدا کردن و رفع خطاهای برنامه گفته می شود.
بيت کوچکترين واحد اطلاعات در کامپيوتر است (صفر يا يک). هر ۸ بيت يک بايت را تشکيل می دهد.
سيستمی است که فقط از عددهای صفر و يک استفاده می کند و پايه تمام پردازش های کامپيوتری است.
مخفف Input/Output است و به دريافت داده (ورودی) و نمايش يا ارسال داده (خروجی) اشاره دارد.
سورس کد کدی است که ما می نويسيم. کد باینری نسخه ای از آن است که برای پردازش در کامپيوتر به زبان صفر و يک ترجمه می شود.
IDE یک محیط نرمافزاری است که برنامهنویسان برای نوشتن کد، اجرای پروژهها و رفع خطاهای احتمالی از آن استفاده میکنند. از میان ابزارهای محبوب در این زمینه میتوان به Visual Studio Code و PyCharm اشاره کرد.
برنامهای سبکتر که معمولاً برای انجام یک کار خاص و ساده نوشته میشود.
توضیحاتی هستند که داخل کد نوشته میشوند ولی توسط کامپیوتر اجرا نمیشوند. فقط برای کمک به خوانایی کد هستند.
مشابه متغیر است، ولی مقدار آن در طول اجرای برنامه تغییر نمیکند.
اگر... آنگاه... یعنی برنامه بر اساس شرایط خاص، تصمیم بگیرد چه کاری انجام دهد. مثلاً if.
نتیجهای است که برنامه بعد از اجرا به ما نشان میدهد، مثلاً چاپ روی صفحه.
مجموعهای از کدهای آماده که میتوانیم در برنامه خود از آنها استفاده کنیم تا کارها را سریعتر انجام دهیم.
فایلی شامل چند تابع یا کلاس است که میتوانیم در پروژههای مختلف استفاده کنیم.
اطلاعاتی که از کاربر یا فایل دریافت میکنیم و برنامه از آن استفاده میکند.
اشتباه یا خطایی در کد که باعث میشود برنامه درست کار نکند.
پیشنهاد مطالعه: اصطلاحات پایه ارز دیجیتال
وقتی شروع به کدنویسی می کنيد، مهم است که با يک سری اصطلاحات آشنا باشيد که مربوط به ساختار و منطق برنامه هستند. اين اصطلاحات کمک می کنند راحت تر کد بنويسيد و بفهميد که هر بخش از برنامه چه کاری انجام می دهد.
يعنی جايی برای نگه داشتن اطلاعات. مثلاً وقتی می خواهيد اسم يک کاربر يا سن او را ذخيره کنيد، از متغير استفاده می کنيد.
مشخص می کند که متغير شما از چه نوعی است. عدد صحيح، عدد اعشاری، متن، يا فقط درست و غلط (True / False).
وقتی بخواهيد چند مقدار را با هم ذخيره کنيد، مثلاً چند اسم، از آرايه استفاده می کنيد.
يک نوع داده پيشرفته تر است که می تواند هم اطلاعات داشته باشد هم کار انجام بدهد. در برنامه نويسی شي گرا زياد با آن کار می کنيم.
بخشی از کد است که کاری مشخص انجام می دهد. شما می توانيد آن را بارها صدا بزنيد و دوباره استفاده کنيد.
تابع ها معمولاً ورودی لازم دارند. اسم آن ورودی ها پارامتر است. وقتی تابع را اجرا می کنيد، مقدار واقعی که می فرستيد آرگومان نام دارد.
وقتی می خواهيد برنامه بر اساس يک شرط تصميم بگيرد. مثلاً اگر کاربر رمز درست وارد کرد، وارد شود وگرنه نه.
برای تکرار کردن استفاده می شود. مثلاً اگر بخواهيد يک کاری را ۱۰ بار انجام دهيد، از حلقه کمک می گيريد.
مشخص می کند حلقه چه زمانی ادامه پيدا کند و چه زمانی متوقف شود.
وقتی تابع کاری انجام می دهد و بخواهد نتيجه را به شما برگرداند، از return استفاده می شود.
توضيحات داخل کد که خود کامپيوتر آن ها را ناديده می گيرد. فقط برای خواناتر شدن کد هستند.
گروهی از دستورها که با هم اجرا می شوند. مثلاً دستورهای داخل يک تابع يا حلقه.
وقتی که دستور را اشتباه بنويسيد و برنامه متوجه نشود، به آن خطای نحوی می گويند.
پیشنهاد مطالعه: اصطلاحات سئو و کلمات رایج در بهینه سازی سایت
اگر زبانی که با آن برنامه می نویسید شی گرا باشد، لازم است با مجموعه ای از مفاهیم مهم آشنا شوید. این مفاهیم باعث می شوند برنامه ساختاری منظم تر داشته باشد و بتوانید بخش های مختلف آن را راحت تر مدیریت یا دوباره استفاده کنید.
کلاس به عنوان یک الگو یا قالب کلی برای ساختن اشیاء تعریف می شود. برای مثال اگر بخواهید برنامه ای در مورد خودروها بنویسید، کلاس «خودرو» می تواند ویژگی هایی مثل رنگ، مدل و سرعت داشته باشد.
وقتی شما از روی یک کلاس نمونه می سازید، آن نمونه تبدیل به یک شیء می شود. مثلاً اگر کلاس شما «خودرو» باشد، یک «پژو نقره ای» یا «سمند سفید» یک شیء محسوب می شود.
تابعی است که هنگام ساختن یک شیء جدید به صورت خودکار اجرا می شود و مقادیر اولیه را برای شیء تنظیم می کند.
زمانی که یک کلاس می تواند ویژگی ها و رفتارهای کلاس دیگری را به ارث ببرد. مثلاً کلاس «ماشین مسابقه ای» می تواند از کلاس «ماشین» ارث بری کند.
این قابلیت را فراهم می کند که چند کلاس مختلف بتوانند تابعی با نام یکسان داشته باشند ولی عملکرد آن ها متفاوت باشد.
یعنی پنهان کردن جزئیات داخلی یک شیء و فقط در اختیار گذاشتن یک رابط مشخص برای کار با آن. این کار باعث افزایش امنیت و کنترل بهتر می شود.
یعنی فقط قسمت هایی از شیء یا سیستم را که مورد نیاز است نمایش دهیم و سایر جزئیات را پنهان کنیم. مانند ریموت کنترل که فقط دکمه های آن را می بینید اما نمی دانید درون آن چگونه کار می کند.
نوعی قرارداد است که مشخص می کند چه متدهایی باید در کلاس های دیگر پیاده سازی شوند. خودش پیاده سازی ندارد و فقط تعریف می کند که چه مواردی باید وجود داشته باشند.
همان تابعی است که در داخل یک کلاس تعریف می شود و عملیاتی را برای آن کلاس انجام می دهد.
یعنی یک کلاس می تواند از چند کلاس مختلف ارث ببرد. این قابلیت در برخی زبان ها مجاز و در برخی دیگر محدود یا غیرمجاز است.
کلاسی است که نمی توان به طور مستقیم از آن شیء ساخت، ولی سایر کلاس ها می توانند از آن ارث بری کنند و متدهای آن را کامل کنند.
اگر شما به طراحی سایت یا ساخت اپلیکیشن های تحت وب علاقه دارید و با زبان هایی مثل HTML، CSS، جاوااسکریپت یا فریم ورک ها کار می کنید، دانستن این اصطلاحات می تواند خیلی به درک بهتر شما از فضای وب کمک کند. این مفاهیم پایه در دنیای توسعه وب بسیار رایج هستند و هر برنامه نویس وب باید با آن ها آشنا باشد.
مدلی از ساختار صفحات وب است که به کمک آن می توان عناصر HTML را با زبان هایی مثل جاوااسکریپت تغییر داد یا به آن ها واکنش نشان داد.
رابطی بین دو نرم افزار مختلف که به آن ها اجازه می دهد با هم ارتباط برقرار کنند. مثلا وقتی سایت شما اطلاعات آب و هوا را از یک سایت دیگر دریافت می کند، از API استفاده می شود.
دو نوع رایج از ارسال اطلاعات بین مرورگر و سرور هستند. GET برای دریافت داده و POST برای ارسال اطلاعات (مثل فرم ها) به کار می رود.
یک سبک طراحی برای API ها است که ساده، قابل فهم و قابل استفاده در وب می باشد. بیشتر API های مدرن به صورت RESTful ساخته می شوند.
یک زبان برنامه نویسی برای ایجاد رفتار پویا در صفحات وب. مثلاً نمایش پیام، تغییر رنگ دکمه ها، نمایش منوها و موارد مشابه.
کتابخانه یا ساختاری آماده برای توسعه سریع تر. در توسعه وب، فریم ورک هایی مثل React، Vue یا Angular در سمت فرانت اند و فریم ورک هایی مثل Laravel یا Django در سمت بک اند استفاده می شوند.
بخشی از سایت یا اپلیکیشن که کاربر با آن سر و کار دارد، یعنی ظاهر و طراحی صفحات.
بخشی از برنامه که در پشت صحنه اجرا می شود، مثل پایگاه داده، پردازش اطلاعات و مدیریت کاربران.
یعنی طراحی سایت به شکلی که در دستگاه های مختلف (مثل موبایل، تبلت یا لپ تاپ) به خوبی نمایش داده شود.
اطلاعاتی که سرور برای شناسایی وضعیت فعلی کاربر ذخیره می کند. مثلاً وقتی وارد سایت می شوید و تا زمانی که خارج شوید، سرور شما را به عنوان «وارد شده» می شناسد.
فایل کوچکی است که در مرورگر ذخیره می شود و اطلاعاتی مثل نام کاربری، تنظیمات یا تاریخچه بازدید را نگه می دارد.
زبان طراحی استایل صفحات وب. با CSS می توان رنگ، اندازه فونت، فاصله ها و طراحی کلی سایت را مشخص کرد.
زبان نشانه گذاری استاندارد برای ساختاردهی محتوای صفحات وب. همه سایت ها با HTML ساخته می شوند.
آدرس اینترنتی هر صفحه یا فایل در وب است. مثلا https://google.com یک URL است.
هاست بخشی از فضای یک سرور است که فایلها و محتوای سایت شما روی آن ذخیره میشود تا کاربران بتوانند به آن دسترسی داشته باشند. دامنه نامی است که کاربران از طریق آن به سایت شما در اینترنت دسترسی پیدا میکنند. (مثل example.com).
روشی برای طراحی سایت است که باعث می شود ظاهر و عملکرد سایت در همه دستگاه ها مناسب باشد، بدون نیاز به طراحی جداگانه برای موبایل یا دسکتاپ.
اگر با پایگاه دادهها کار می کنید یا با زبان SQL کوئری می نویسید، دانستن این اصطلاحات برایتان ضروری است. چه تازه کار باشید و چه بخواهید وارد فضای بک اند یا مدیریت داده شوید، این مفاهیم پایه به شما کمک می کنند تا ساختار و نحوه کار دیتابیس ها را بهتر درک کنید.
مکانی برای ذخیره منظم و ساختار یافته اطلاعات. هر نرم افزار یا سایت برای نگهداری اطلاعات کاربران، محصولات، سفارش ها و... از دیتابیس استفاده می کند.
داده ها در دیتابیس به صورت جدول ذخیره می شوند. هر جدول شامل ستون ها و ردیف هایی است که اطلاعات را نگه می دارند.
ستون ها نوع اطلاعات را مشخص می کنند (مثلاً نام، ایمیل، شماره تلفن) و هر ردیف یک رکورد جداگانه از داده است.
دستور یا کوئری مجموعهای از عبارات است که برای مشاهده، وارد کردن، تغییر یا حذف دادهها در پایگاه داده به کار میرود. در زبان SQL این عملیات معمولاً با استفاده از دستورات SELECT، INSERT، UPDATE و DELETE انجام میگیرد.
چهار عملیات اصلی در کار با پایگاه داده: Create (ایجاد)، Read (خواندن)، Update (ویرایش) و Delete (حذف).
ستونی در جدول که مقدار آن برای هر ردیف منحصر به فرد است. مثلاً شماره ملی یا آی دی کاربر.
ستونی که به کلید اصلی جدول دیگری اشاره می کند و برای ارتباط بین جدول ها استفاده می شود.
ابزاری برای افزایش سرعت جستجو در دیتابیس. مثل فهرست کتاب که کمک می کند سریع تر اطلاعات را پیدا کنیم.
برای ترکیب اطلاعات از چند جدول مختلف استفاده می شود. مثلاً وقتی بخواهید نام مشتری و نام محصول سفارش داده شده را از دو جدول مختلف با هم نمایش دهید.
فرآیندی برای سازماندهی جداول و جلوگیری از تکرار داده ها. باعث بهینه سازی فضای ذخیره سازی و افزایش کارایی می شود.
نوعی پایگاه داده که اطلاعات را به صورت جدول های مرتبط با هم نگهداری می کند. مثل MySQL، PostgreSQL و SQL Server.
زبان استاندارد برای کار با پایگاه داده های رابطه ای است. با استفاده از SQL می توانید داده ها را جستجو، ویرایش یا حذف کنید.
ساختار کلی پایگاه داده شامل جدول ها، نوع داده ها و روابط بین آن ها.
مقداری که مشخص می کند یک فیلد خالی یا نامشخص است. به معنای صفر یا رشته خالی نیست.
قوانینی که روی داده ها اعمال می شوند تا مطمئن شویم اطلاعات وارد شده صحیح و معتبر هستند. مثل NOT NULL یا UNIQUE.
نوعی جدول مجازی است که نتیجه یک کوئری خاص را نشان می دهد. فقط برای مشاهده استفاده می شود و اطلاعات واقعی ندارد.
در فرآیند توسعه یک نرم افزار از مراحل اولیه طراحی و کدنویسی گرفته تا تست، انتشار و نگهداری، اصطلاحات خاصی وجود دارد که دانستن آن ها برای هر برنامه نویس یا توسعه دهنده ضروری است. این مفاهیم کمک می کنند بهتر با تیم کار کنید و چرخه کامل توسعه نرم افزار را درک کنید.
یک سیستم کنترل نسخه است که به شما کمک می کند تغییرات کد را دنبال کنید، برگردید به نسخه های قبلی، و به راحتی با دیگران همکاری کنید.
مکانی برای ذخیرهسازی کدهای پروژه است که ممکن است روی رایانه شخصی توسعهدهنده قرار داشته باشد یا از پلتفرمهای آنلاین مانند GitHub و GitLab برای این منظور استفاده شود.
سیستمی برای ثبت، مدیریت و پیگیری تغییرات فایل ها. باعث می شود بتوانید نسخه های مختلف پروژه را ببینید و در صورت نیاز برگردید.
فرآیند تبدیل کد خام به خروجی قابل اجرا. مثلاً کدی که نوشته اید به فایل اجرایی تبدیل می شود.
فرآیند انتقال نرم افزار از محیط توسعه به محیط واقعی یا سرور نهایی تا کاربران بتوانند از آن استفاده کنند.
روش های مدیریت پروژه چابک هستند که تیم ها را تشویق می کنند در بازه های زمانی کوتاه (اسپرینت) کار کنند، بازخورد بگیرند و پروژه را به صورت تدریجی کامل کنند.
تستی که روی بخش های کوچکی از برنامه (مثل توابع) به صورت جداگانه انجام می شود تا مطمئن شویم درست کار می کنند.
تستی که بررسی می کند بخش های مختلف برنامه بعد از اتصال به هم به درستی کار می کنند.
فرآیندهایی برای اتوماتیک کردن تست، ساخت و انتشار کد. کمک می کند تغییرات سریع و بدون خطا به نسخه نهایی برسند.
بازنویسی یا بهینه سازی کد بدون اینکه عملکرد آن تغییر کند. باعث خوانایی، کارایی و نگهداری بهتر برنامه می شود.
اشتباه یا مشکلی در کد که باعث می شود برنامه درست کار نکند.
امکانات و قابلیت هایی که در نرم افزار پیاده سازی می شوند.
در سیستم های مدیریت پروژه، هر مشکل، باگ یا درخواست جدید به صورت یک «تیکت» ثبت می شود و وضعیت آن پیگیری می شود.
در Git، وقتی کسی تغییری در کد می دهد و می خواهد آن را به شاخه اصلی اضافه کند، یک درخواست بررسی به تیم می دهد تا قبل از ادغام بررسی شود.
بازه زمانی مشخص (معمولاً دو هفته ای) در متد Scrum که در آن تیم روی تعدادی از وظایف تمرکز می کند.
لیست کامل وظایف، ویژگی ها یا اشکالاتی که باید در آینده روی آن ها کار شود.
نسخه ای از نرم افزار که برای استفاده عمومی یا مشتری منتشر می شود.
در دنیای برنامه نویسی فقط مفاهیم فنی نیست که جریان دارد. اصطلاحات جالب، بامزه و حتی عجیب بسیاری هم بین برنامه نویس ها رواج دارد که خیلی وقت ها در گفت و گوهای روزمره شنیده می شود. این اصطلاحات ممکن است در مستندات رسمی دیده نشوند، اما وقتی وارد فضای واقعی کار شوید، حسابی به دردتان می خورند.
وقتی بخشی از کد نشان می دهد که شاید یک جای کار درست نیست، ولی هنوز به طور واضح خراب نشده است. مثلاً کدی که بیش از حد پیچیده است یا متغیرها اسم مناسب ندارند.
کدی که خیلی درهم، بی نظم و سخت برای درک است. مثل یک بشقاب اسپاگتی که نخ ها به هم پیچیده اند! معمولاً وقتی پروژه بدون ساختار درست جلو می رود، این اتفاق می افتد.
یعنی وقتی می خواهید مشکلی را در کد پیدا کنید، شروع می کنید برای یک اردک پلاستیکی (یا هر چیز دیگری!) توضیح دادن که برنامه چه کاری انجام می دهد. همین توضیح دادن باعث می شود خودتان مشکل را متوجه شوید.
اشاره به وقتی که یک تابع آن قدر خودش را صدا می زند (بازگشتی بی پایان) که حافظه پشته پر می شود و برنامه کرش می کند. البته این اصطلاح به شوخی هم برای "سردرگمی کامل" استفاده می شود!
یعنی از تکرار بی مورد در کدنویسی پرهیز کنید. کدی که مدام تکرار شده باشد، نگهداری آن سخت می شود.
یعنی کد را تا جایی که ممکن است ساده و قابل فهم بنویسید. پیچیدگی بی دلیل باعث سخت شدن کار می شود.
یعنی چیزی را که الان به آن نیاز ندارید، ننویسید! خیلی وقت ها برنامه نویس ها چیزهایی را پیاده سازی می کنند که شاید هیچ وقت از آن ها استفاده نشود.
وقتی یک کد آماده یا کتابخانه خارجی را در زمان اجرا تغییر می دهید. یک جور وصله پینه عجیب که گاهی کمک می کند، گاهی هم دردسر درست می کند!
کلمه های فرضی که در مثال های برنامه نویسی استفاده می شوند. مثلاً foo = "hello" فقط یک نمونه است و معنی خاصی ندارد.
کدی که دیگر از آن استفاده نمی شود ولی همچنان در پروژه باقی مانده است. نه حذف شده، نه اجرا می شود... فقط یک جوری آنجاست!
برنامه نویسی که هر کاری دلش بخواهد انجام می دهد! بدون مستندات، بدون تست و بدون هماهنگی با تیم.
کلام آخر
برای اینکه در مسیر یادگیری برنامه نویسی به خوبی پیش بروید، شناخت اصطلاحات رایج این حوزه بسیار مهم است. این اصطلاحات به شما کمک می کنند بهتر مفاهیم فنی را درک کنید، سریع تر با ابزارهای مختلف آشنا شوید و راحت تر با دیگر برنامه نویس ها ارتباط بگیرید. خیلی از کسانی که تازه وارد این مسیر می شوند، ممکن است در ابتدا با این واژه ها سردرگم شوند. به همین دلیل یک مدرس برنامه نویسی حرفه ای همیشه تاکید دارد که ابتدا باید این پایه ها را به درستی یاد گرفت. اگر این اصطلاحات را به خوبی بشناسید و در تمرین های روزانه خود استفاده کنید، مسیر تبدیل شدن به یک برنامه نویس حرفه ای برایتان هموارتر می شود.