هرکسی که وارد دنیای برنامه نویسی میشود روزانه با این اصطلاح های برنامه نویسی روبرو میشود. در کتابها، دورههای آموزشی، مقالهها و تمام منابع آموزشی در مورد این اصطلاحات صحبت میشود.
در هر حوزه یا مهارتی، یادگیری اصطلاحات اساسی مورد استفاده در آن حوزه قبل شروع تمرین ضروری است. دانستن اصطلاحات به شما کمک می کند درک بهتر و عمیقتری داشته باشید.
۱. Algorithm الگوریتم
مجموعهای از دستورات برای حل یک مسئله خاص.
برنامه نویسها برای حل مسائل هر قسمت از برنامه از الگوریتمها استفاده میکنند. بعضی مواقع این الگوریتمها مانند یک محاسبه عددی بسیار ساده و پیشپا افتاده هستند، بعضی مواقع مانند راهکارهای بهبود عملکرد سرعت برنامه، میتوانند پیچیده و سخت باشند.
در رشته مهندسی نرمافزار درسی با نام *طراحی الگوریتم* وجود دارد. الگوریتمهای مختلف بررسی و تست میشوند. اصول بهینه سازی از لحاظ زمان و مصرف منابع سختافزاری (رم، سیپییو، حافظه و …) آموزش داده میشوند.
اگر مایل به فراگیری بیشتر در این زمینه هستید این کتاب را مطالعه کنید:
Introduction to Algorithms – Third Edition
۲. Computer Program برنامه کامپیوتری
مجموعهای از دستورات که با یک زبان برنامه نویسی نوشته شدهاند و برای اجرا به کامپیوتر داده میشوند. هر برنامه یک کامپوننت یا قسمت از نرمافزارها است که احتمالا یک سند(داکیومنت document) برای توصیف آن برنامه نوشته میشود.
دستورات ما در قالب سورس کد source code که برای انسان قابل خواندن و فهمیدن است به کامپیوتر داده میشود.
کامپیوتر برای اینکه بتواند سورس کد را اجرا کند نیازمند یک برنامه جانبی است که سورس کد را میخواند و به دستورات ماشین machine instructions تبدیل میکند.
این اتفاقها توسط یک نرمافزار به نام کامپایلر میافتند.
کامپایلر سورس کد را میخواند، به زبان ماشین تبدیل میکند، نرمافزاری به نام assembler این فایل را میگیرد و به یک نسخه قابل اجرا executable تبدیل میکند.
۳. API
واسط برنامه نویسی یا application programming interface (API) ، واسط بین یک سرویس، سیستم عامل، کتابخانه یا … با برنامههایی است که از آن تقاضای خدمات دارند.
از API برای خدمات رسانی به بخشهای مختلف یک سیستم نرمافزاری استفاده میکنیم.
به زبان سادهتر واسطهای است که بین دو نرمافزار قرار میگیرد تا امکان ارتباط بین یکدیگر را فراهم کند.
معمولا APIها یک داکیومنت یا سند راهنما دارند برای اینکه دیگر توسعه دهندگان نرمافزار بدانند چطور از خدمات API استفاده کنند.
تصور کنید به رستوران رفتهاید. منو را مشاهده میکنید، یک غذا انتخاب میکنید. آشپزخانه رستوران چطور میتواند سفارش ما را دریافت و آماده کند؟
بین ما و آشپزخانه رستوران یک گارسون وجود دارد. سفارش را از ما میگیرد، به آشپزخانه میبرد. غذا پخته میشود و گارسون غذا را برای ما میآورد.
در این مثال گارسون نقش API را اجرا میکند. یک واسط بین ما و آشپزخانه. آنچه که نیاز داشتیم را به گارسون گفتیم، او به آشپزخانه رفت و غذای مورد نظر را آورد.
در سیستمهای نرمافزاری هم چنین چیزی وجود دارد. اگر دنبال بلیط قطار یا هواپیما باشید دیدهاید که وبسایتها اطلاعاتی مانند تعداد نفرات، روز پرواز، مقصد و … را از شما میگیرند.
آنها این اطلاعات را به یک API میدهند. این API به سرویسی که از قبل آماده شده و اطلاعات کل پروازها را دارد وصل میشود و بررسی میکند که با شرایط مورد نظر شما کدام هواپیماییها امکان رزرو دارند.
اگر هر روز آنلاین هستید و با کامپیوتر یا تلفن همراهتان کارها را انجام میدهید روزانه با دهها و صدها API در ارتباط هستید.
۴. Argument آرگومان
پارامتر یا آرگومان؟
افرادی که تازه با برنامهنویسی آشنا شدهاند معمولا این دو مفهوم را با هم اشتباه میگیرند. هرچند این دو مفهوم با هم متفاوتند اما تکمیل کنندهی هم هستند.
به ورودیهای یک تابع، پارامتر میگوییم. مقدار ندارند و اصطلاحا به عنوان place holder هستند. نشان میدهد که به عنوان ورودی تابع چه چیزهایی باید ارسال شود.
زمانی که میخواهیم یک تابع را فراخوانی کنیم مقادیری که برای تابع ارسال میکنیم آرگومان هستند.
به نوعی آرگومانها مکانی را که پارامترها برای آنها در نظر گرفتهاند پر میکنند.
۵. ASCII اَسکی
اَسکی یک استاندارد کُدگذاری کاراکترها است.
کامپیوتر با کُدهای باینری کار میکند. تمام اطلاعات با ۰ و ۱ کدگذاری میشوند. به هرکدام از ۰ و ۱ ها یک *بیت – bit* گفته میشود.
در گذشته هر کمپانی که تولید کننده کامپیوتر بود به شیوه خودش کاراکترها را کدگذاری میکرد. بعد از مدتی این قضیه باعث بروز مشکلاتی شد. به عنوان مثال کلمه گربه در هر کامپیوتر از یک برند خاص، به یک شیوه کدگذاری شده بود و این باعث بروز مشکلاتی در ارتباط برقرار کردن بین کامپیوترها شده بود.
در نهایت شرکتهای کامپیوتری تصمیم گرفتند که از یک استاندارد کدگذاری به نام ASCII – American Standard Code for Information Interchange استفاده کنند.
استاندارد اَسکی ۸ بیتی است. به هر ۸ بیت، یک بایت byte گفته میشود.
مثلا کلمه گربه با ۸ بیت در حافظه ذخیره میشود.
حروف انگلیسی، اعداد و سیمبُلها symbol هرکدام با استاندارد اَسکی به شکل یک کُد ۸ بیتی ذخیره میشوند.
حتی برای space یا فاصله هم یک کُد اَسکی داریم.
۶. Boolean بولییَن
بولییَن یک نوع داده است که میتواند فقط دو مقدار داشته باشد: صحیح True یا غلط False.
تلفظ صحیح: BOOL-ee-an.
۷. Bug باگ
اشکال، خطا یا نقص غیرمنتظره در سخت افزار یا نرم افزار که باعث اختلال در عملکرد آن می شود.
این خطاها میتوانند در هرکدام از مراحل ساخت مانند طراحی، توسعه و عملکرد اتفاق بیافتند.
به پروسه پیدا کردن و رفع کردن این خطاها اصطلاحا دیباگینگ debugging میگویند.
۸. Char
کاراکتر (char) واحد نمایش اطلاعاتی است که برابر با یک حرف یا نماد الفبایی است. مقدار یک متغیر char میتواند هر کدام از کاراکترهای «a»، «1»، «$» و «X» باشد.
کاراکتر میتواند به صورت اختصاری “chr” یا “char” نوشته شود.
char به عنوان مخفف کلمه کلیدی رزرو شده در زبان هایی مانند C، C++، C# و Java است.
۹. Object آبجکت (شیء)
یک آبجکت ترکیبی از متغیرهای مرتبط، ثابت ها و دیگر ساختارهای داده است که می توانند با هم انتخاب و دستکاری شوند.
معمولا در برنامههای استاندارد از زبانهای برنامه نویسی شیءگرا و اصول برنامهنویسی حرفهای استفاده میشود که یکی از این اصول، برنامه ریزی دقیق و درست درباره موجودیتهای داخل نرمافزار است.
مثلا هر کاربر سایت چندوجهی یک موجودیت است که میتواند حساب کاربری داشته باشد، در دورهها ثبت نام کند و اقدامات دیگری داشته باشد.
هر کدام از این موجودیتها میتوانند یک آبجکت داشته باشند و از طریق این آبجکت به اکثر اطلاعات آنها دسترسی داریم.
اگر بعد از ورود به سایت چندوجهی، نام و نام خانوادگی خود را مشاهده میکنید به این دلیل است که یک آبجکت از تمام اطلاعات شما در دسترس است و بعد از ورود، از این آبجکت نام و نام خانوادگی شما را خوانده و در بخش حساب کاربری نمایش میدهیم.
بعضی مواقع آبجکت، یک شکل روی صفحه (مثل مربع یا مثلث)، یک صفحه از یک نرمافزار و یا مقالهای در سایت است.
۱۰. Object-Oriented Program برنامه شیءگرا
یکی از مشکلات زبانهای برنامه نویسی در گذشته مشکلات پیچیدگی کد بعد از بزرگ شدن برنامه و زیاد شدن کدها بود. البته این مشکل هنوز هم پابرجاست اگر از OOP استفاده نکنیم.
مهندسین و گروههای مختلف توسعه دهندگان مدلی را ارائه کردند که با دسته بندی و به نوعی پکیج کردن، یک ساختار دادهای دلخواه، به همراه توابع و اطلاعاتش داشته باشیم.
با استفاده از برنامه نویسی شیگرا بخشهای مختلف یک نرمافزار از هم جدا و قابل توسعه و مدیریت هستند.
بخشها از جزئیات یکدیگر اطلاعی ندارند.
با توجه به نیاز، توابعی تعریف میکنیم تا بخشهای مرتبط بتوانند با هم اطلاعات رد و بدل کنند، بدون مشاهده جزئیات یکدیگر.
برنامه نویسی شی گرا (OOP) مدلی است که حول اشیا و داده ها می چرخد.
در OOP، نه تنها نوع داده یک ساختار داده، بلکه انواع توابع قابل اعمال بر روی آن نیز تعریف می شود. از این طریق، ساختار داده به یک شی تبدیل می شود که هم از داده ها و هم از توابع تشکیل شده است.
زبان هایی که از مفاهیم OOP استفاده می کنند جاوا، پایتون، سی پلاس پلاس و روبی هستند.
۱۱. Class کلاس
در برنامهنویسی شیءگرا، کلاس یک template یا قالب برای مجموعهای از متدها و متغیرها است.
کلاس و شی بلوکهای اساسی در زبانهای برنامهنویسی شیگرا هستند. مجموعه ای از ویژگی ها و روش هایی را تعریف میکند که برای همه اشیاء از یک نوع، مشترک است.
کلاس در برنامهنویسی شیءگرا، یک طرح(blueprint) است برای ساختن آبجکت از یک ساختار داده، مقداردهی اولیه به متغیرها و ویژگیهای آبجکت و پیادهسازی رفتارهای آبجکت توسط متدها(توابع).
اشیاء تعریف شده توسط ما با کلمه کلیدی class ایجاد میشوند.
کلاس یک طرح اولیه است که ماهیت آبجکت را تعریف میکند.
از کلاسها برای ایجاد و مدیریت آبجکتها و پشتیبانی از وراثت استفاده میشود.
مکانیزمی برای شیءگرایی و استفاده مجدد از کد.
۱۲. Code کُد
یک برنامه کامپیوتری چیزی به نام کُد یا سورس کُد است.
مجموعهای از دستورات که به کامپیوتر میگوید کارها را چگونه انجام بدهد. معمولا در فایل متنی نوشته و ذخیره میشود اما وقتی از زبان برنامه نویسی جاوا اسکریپت استفاده میکنیم میتوانیم کدها را در مرورگر هم بنویسیم.
برای نوشتن برنامهها به یک زبان و فرمت استاندارد نیاز داریم که به آن زبان برنامه نویسی یا اگر بخواهیم دقیقتر بگوییم سینتکس گفته میشود.
درست مانند زبان انگلیسی که گرامر دارد و قواعد زبان مشخص هستند، در زبانهای برنامه نویسی هم این قواعد مشخص شدهاند.
۱۳. Command-line interface
رابط کاربری خط فرمان یا CLI نرمافزاری است که هیچ بخش گرافیکی ندارد و فقط امکان نوشتن متن در آن وجود دارد.
در کامپیوترهای اولیه برای انجام کارهای روزمره فقط چنین نرمافزاری در دسترس بود. موس وجود نداشت و نرمافزارها ظاهر گرافیکی نداشتند. برای تمام دستورات، متن یا دستور(command) نوشته میشد.
الآن هم چنین چیزی وجود دارد. سیستمهایی هستند که به کل ظاهر گرافیکی ندارند، مانند سرورهای لینوکسی. برای مدیریت این سرورها از دستورات خط فرمان استفاده میشود.
در واقع وقتی یک نرمافزار گرافیکی را اجرا میکنیم و با موس روی دکمههای نرمافزار کلیک میکنیم و کارهایمان را انجام میدهیم، پشت پرده همین دستورات اجرا میشوند ولی ما آنها را نمیبینیم. با این کار پیچیدگی نرمافزارها برای استفاده همه مردم کمتر شد.
۱۴. Compilation فرآیند کامپایل
فرآیند ایجاد یک برنامه اجرایی از کُدهای نوشته شده با یک زبان برنامه نویسی را کامپایل کردن میگویند.
در زبانهای برنامهنویسی که کامپایلی هستند، برای اجرای یک برنامه، یکبار کُدها بررسی میشوند، اگر خطا(باگ) وجود نداشته باشد، کدها به زبان ماشین تبدیل میشوند تا برای کامپیوتر قابل فهم و اجرا شوند.
کامپایل یکبار اتفاق میافتد و کامپیوتر دیگر نیازی ندارد هربار که میخواهیم برنامه را اجرا کنیم تمام کدها را بررسی کند.
۱۵. Conditionals شرطها
برای تصمیمگیری و اعمال منطق خودمان، در زبانهای برنامه نویسی امکانی به نام Condition یا شرط قرار دادهاند.
میتوانیم تحت شرایط مختلف تعیین کنیم که برنامه چه رفتاری انجام دهد.
مثلا اگر کاربر نام خود را در فرم ورود به سایت وارد نکرد به او یک پیغام خطا نشان داده شود. برای این کار از کلمه if استفاده میکنیم.
if کاربر نام را وارد نکرده بود —> خطا: نام خود را وارد کنید.
شرطها برنامه مارا با منطق و قدرتمند میکنند. البته در استفاده از آنها نباید افراط کنیم.
شرطها میتوانند به صورت تو در تو هم استفاده شوند.
مثلا:
if کاربر وارد سایت شده است:
if در دوره طراحی سایت ثبت نام کرده است:
به او یک کوپن تخفیف ویژه برای عضویت الماسی ایمیل کن.
در مثال بالا اول بررسی میشود که کاربر وارد سایت شده باشد. سپس بررسی میشود که کاربر در دوره طرحی سایت حتما ثبت نام کرده باشد، سپس برای او یک ایمیل حاوی کوپن تخفیف ارسال میشود.
شرطها انواع مختلف دارند که در موقعیتهای متفاوت به کار میآیند. چند نمونه: ‘if’, ‘if-else’, ‘while’, و ‘else-if’ .
۱۶. Constants ثابتها
ثابت (همچنین به عنوان Const شناخته می شود) اصطلاحی است که برای توصیف مقداری استفاده میشود که برخلاف یک متغیر، در طول اجرای برنامه تغییر نمی کند. ثابت را نمی توان تغییر داد و ثابت می ماند.
ثابت می تواند یک عدد، کاراکتر و رشته باشد.
۱۷. Data types انواع داده
کامپیوتر نمیتواند مانند انسان تفاوت عدد و کاراکتر رشتهای را بفهمد. به عنوان مثال فرق بین عدد ۲۳ و کلمه *درخت* را نمیفهمد. ما باید این تفاوت را به طریقی به کامپیوتر بفهمانیم.
برای این کار، در زبانهای برنامهنویسی چیزی به نام *انواع داده یا Data Type* در نظر گرفته شد.
با وجود انواع داده، میتوانیم در برنامهها صراحتاً به کامپیوتر بگوییم که متغیری که قصد ذخیرهسازی و استفاده از آن را داریم از یک نوع خاص است. مثلا میخواهیم نام کاربر سایت را در یک متغیر داشته باشیم. باید آن را از نوع رشتهای انتخاب کنیم.
متداول ترین انواع داده ها شامل نوع صحیح Integer که اعداد هستند، نوع داده اعداد ممیز شناور floating-point که اعداد اعشاری هستند، مقادیر بولی که TRUE یا FALSE هستند و نوع داده کاراکتری که حروف است.
۱۸. Array آرایه
ساختار داده یا Data Structure یکی از اساسیترین مباحث در برنامهنویسی است.
قالبی از پیش تعریف شده برای ذخیره سازی، دسترسی و پردازش داده ها در یک برنامه کامپیوتری است که انواع مختلفی دارد.
آرایهها یکی از ساختارهای داده بسیار پرکاربرد هستند. بعضی مواقع نیاز داریم تعدادی از اطلاعات مشابه را در یک جا داشته باشیم. برای اینکار از ساختار داده آرایه میتوانیم استفاده کنیم.
۱۹. Declaration اعلان
عبارتی که نام و نوع داده یک متغیر یا عنصر دیگر را تعیین می کند.
یک declaration به کامپایلر یا مفسر کمک می کند تا کلمه را شناسایی کند و معنای آن را درک کند.
مثال:
let myName = 'Hamid';
در این مثال متغیر myName را اعلان (Declare) کردیم. مفسر میداند که محتوای این متغیر کلمه ‘Hamid’ است.
۲۰. Exception استثناء
وضعیت خاص و غیر عادی که در زمان اجرای برنامه ممکن است به هر دلیلی اتفاق بیافتد و باعث ایجاد خطا یا رفتار غیر منتظره در برنامه شود.
مثال: برنامه سعی می کند یک فایل را از هارد دیسک بارگذاری کند، اما فایل وجود ندارد. در این حالت یک Exception اتفاق افتاده است.
ما به عنوان برنامهنویس باید این حالت را مدیریت کنیم و نگذاریم برنامه اصطلاحاً کرشCrash کند و بسته شود.
۲۱. Expression عبارت
یک گروه بندی از حروف، نمادها و اعداد است که برای نشان دادن مقدار یک یا چند متغیر استفاده می شود.
یک expression میتواند اشاره به یک متغیر یا مقدار یا مجموعهای باشد از متغیرها و مقادیر که با اپراتورها ترکیب شدهاند.
برای مثال:
a = b * 2;
۲۲. Framework فریمورک
مجموعهای از امکانات و ابزارها که با استفاده از آنها میتوانیم برنامه یا یک سیستم نرمافزاری را پیادهسازی کنیم.
فریمورکها برای امنیت، یکپارچگی و بیشتر شدن سرعت توسعه نرمافزار بوجود آمدند.
فریمورک مجموعهای از ابزارهاست تا توسعهدهندگان بتوانند بدون درگیر شدن با پیچیدگیهای بخشهای مختلف یک سیستم نرمافزاری، با سرعت و اطمینان بیشتری کار ساخت نرمافزار و توسعه را انجام بدهند.
فریکورکها اجزاء (کامپوننت Componentهای) مختلفی برای هر هدفی دارند که برنامهنویسها تنها با نوشتن چند خط کد از آن امکانات استفاده کنند.
به عنوان مثال با استفاده از یک فرمورک میتوانیم بدون درگیر شدن با پیچیدگیهای دیتابیس(پایگاه داده Database) با نوشتن چند خط کد، اطلاعات را در دیتابیس ذخیرهسازی و بازیابی کنیم.
استفاده از فریمورک علاوه بر سرعت، امنیت سیستم نرمافزاری را بسیار بالا میبرد. معمولا کامپوننتهای فریمورکهای معروف و پرکاربرد، تست شدهاند و در مقابل نفود و خطاهایی که ممکن است در اجرای برنامه اتفاق بیافتد ایمنتر هستند.
فریمورکهای پرکاربرد:
💎 ASP.NET Core
💎 Express.js
💎 Laravel
💎 Angular.js
💎 Django
💎 Flask
💎 Ruby on Rails
💎 Vue.js
۲۳. Hardcode هاردکُد
وقتی میگوییم چیزی در برنامه ما hardcode شده است یعنی به صورت صریح و قطعی تعیین شده. توسط کاربر و اطلاعاتی که از بیرون میتواند وارد نرمافزار شود تغییر نمیکند.
به عنوان مثال فرض کنید یک نرمافزار داریم که برای سیستمهای ویندوزی نوشته شده است. کاربر میتواند توسط این نرمافزار از صفحه دسکتاپ اسکرینشات بگیرد. برنامهنویس در قسمتی از برنامه مسیر ذخیرهسازی اسکرینشاتها را هاردکُد کرده است و تصاویر را در این مسیر ذخیره میکند:
"C:\myscreenshots"
این مسیر توسط کاربر قابل تغییر نیست.
۲۴. Loop حلقه
اگر بخواهیم مجموعهای از دستورات را بارها و بارها تکرار کنیم از حلقهها استفاده میکنیم. این تکرار تا زمانی اتفاق میافتد که ما به عنوان برنامهنویس تعیین کردهایم. یک شرط تعیین میکنیم که اگر اتفاق افتاد حلقه متوقف شود.
در هربار اجرای حلقه، یک سوال پرسیده میشود: آیا به پایان حلقه رسیدهام؟ (شرط اجرای مجدد حلقه هنوز پابرجاست؟)
اگر آری —> حلقه مجدد اجرا میشود.
اگر خیر —> حلقه متوقف میشود.
حلقه ها یکی از اساسی ترین و قوی ترین مفاهیم در برنامه نویسی به حساب می آیند.
مثال از حلقه for :
for ( int i = 0 ; i < 1000 ; i++ )
{
\\ دستورات
}
۲۵. Endless loop حلقه بینهایت
در توضیح حلقه گفتیم دستوراتی که چندین بار پشت سرهم تکرار میشوند و یک شرط اتمام حلقه دارند.
اما اگر برنامهنویس شرط اتمام حلقه را به خوبی تعیین نکرده باشد یا در برنامه خطایی غیرمنتظره پیش بیاید، حلقه به حالت بینهایت میرود و مدام تکرار میشود.
در این حالت احتمالاً منابع سیستم (رم، سیپییو، هارد دیسک و …) بیش از حد مورد استفاده قرار میگیرد، سیستم کُند میشود و در نهایت کرَشcrash میکند.
البته با در نظر گرفتن منابع سیستم میتوانیم از این ویژگی در راستای هدفی خاص استفاده کنیم. اگر بخواهیم کاری پشت سر هم و بدون توقف انجام شود.
۲۶. Iteration تکرار
یکی از شکلهای iteration ، حلقهها هستند.
هر بار که کامپیوتر یک حلقه را اجرا می کند، به عنوان یک تکرار یا itration شناخته می شود.
این تکرار تا رسیدن به نتیجهای خاص انجام میشود.
۲۷. Keywords کلمات کلیدی
کلماتی که توسط یک زبان برنامه نویسی یا یک برنامه به دلیل داشتن معنای خاص رزرو شده اند به عنوان کلمات کلیدی شناخته می شوند.
این کلمات کلیدی برای انجام وظایف خاصی رزرو شده اند و می توانند دستور یا پارامتر باشند.
هر زبان برنامه نویسی دارای مجموعه ای از کلمات کلیدی رزرو شده ( نام های رزرو شده یا reserved names ) است که نمی توان از آنها به عنوان نام متغیر استفاده کرد.
برخی از کلمات کلیدی در زبان C عبارتند از:
‘return’, ‘while’, ‘if’, ‘static’, ‘continue’ و ‘default’.
۲۸. Null
از Null برای نبود (فقدان) یک مقدار استفاده میشود.
در دنیای کامپیوتر ۳ جا از Null استفاده شده است.
۱. Null (SQL) : یک نشانگر و کلمه کلیدی خاص در SQL که نشان می دهد چیزی ارزش یا مقدار ندارد.
۲. Null character : نشان میدهد یک کاراکتر هیچ مقداری ندارد. مثلا در کد زیر، متغیر yourName مقداری ندارد و Null است. اما متغیر myName مقدار دارد.
myName = "Hamid";
yourName = "";
۳. Null pointer : یک Refrence یا اشارهگر که فقط اعلان(declare) شده است اما به جایی ( به یک آبجکت معتبر ) اشاره نمیکند.
تلفظ صحیح:
نال --> شبیه nuhl
۲۹. Operand عملوند
عملوند هدف یک عملیات ریاضی یا برنامهنویسی است. هر عبارت که بین دو عملگر قرار بگیرد یا بعد از یک عملگر بیاید یک عملوند محسوب میگردد.
در عبارت A + F + Q ،
A ، F ، Q عملوند هستند. عملیات جمع روی آنها انجام میشوند.
۳۰. Operator اپراتور (عملگر)
در ریاضیات و برنامه نویسی، عملگر کاراکتری است که یک عمل را نشان می دهد، برای مثال x یک عملگر محاسباتی نشان دهنده ضرب است.
عملگرهای دیگر : جمع + ، تفریق – ، تقسیم / و…
۳۱. Variable متغیر
برای اینکه در طول اجرای برنامه، اطلاعات را نگهداریم و از آنها استفاده کنیم، متغیر تعریف میکنیم. متغیر یعنی نامگذاری مکانهایی در حافظه کامپیوتر.
اگر بخواهیم در قسمتی از برنامه نام و نام خانوادگی کاربر را بگیریم تا در دیتابیس ذخیره کنیم، میتوانیم از متغیرهای firstName و lastName استفاده کنیم، به این شکل:
var firstName = "Hamid";
var lastName = "Salehi";
در حافظه (هارد دیسک) ۲بخش در نظر گرفته و با نامهای firstName و lastName نامگذاری میشوند. مقادیر “Hamid” و “Salehi” در آنها نوشته میشود.
نکته: مقدار متغیرها در طول اجرای برنامه میتواند تغییر کند. مثلا با متغیر age سن کاربر را میگیریم و در این متغیر نگهداری میکنیم به این صورت: age = 65 ، در جایی از برنامه ممکن است کاربر سن خودش رو تغییر بدهد. متغیر مقدار جدید را در خود نگهداری خواهد کرد، به این شکل: age = 63 .
۳۲. Pointer اشارهگر
در برنامه نویسی، اشاره گر متغیری است که حاوی آدرس مکانی در حافظه است.
هدف از اشارهگر صرفهجویی در فضای حافظه و دستیابی به زمان اجرای سریعتر است.
مثلا فهرست یک کتاب را در نظر بگیرید:
هر کدام از عناوین فهرست یک اشارهگر به صفحهای از کتاب هستند. آدرس صفحهای از کتاب را دارند و میتوانند ما را به آن صفحه هدایت کنند.
مبحث اشارهگرها بیشتر در زبان C کاربرد دارند و بسیار پیشرفتهتر و پیچیدهتر از آن است که در چند پاراگراف بشود توضیح داد.
۳۳. High-level language زبانهای برنامهنویسی سطح بالا
زبانهایی که از زبان ماشین و سختافزار دور هستند و برای اجرا نیاز به برنامههای جانبی یا تفسیر دارند.
زبانهای سطح بالا به برنامهنویسها اجازه میدهند برنامهها را صرفنظر از نوع کامپیوتر یا سیستم عامل بنویسند.
برای اینکه برنامه ما در همه کامپیوترها کار کند آنرا توسط نرمافزارهای واسط به زبان ماشین تبدیل میکنیم. این تبدیل به دو شکل کامپایل compile و تفسیر interpret اتفاق میافتد.
زبانهای سطح بالا ساخته شدند تا به زبان انسان نزدیکتر باشند تا زبان ماشین. برنامهها راحتتر نوشته میشوند و درک و فهمشان برای دیگر توسعهدهندگان و برنامهنویسان بسیار راحتتر است.
در این زبانها پیچیدگیهای کامپیوتر کمتر قابل مشاهده هستند و اصطلاحا Abstraction بیشتر است. برنامهنویس پیچیدگیهای کار با لایههای نزدیک به زبان ماشین را نمیبیند. مثلا قسمت مدیریت حافظه یا memory management را با یک زبان سطح بالا به شکل اتوماتیک انجام میدهد و نیازی نیست تک تک موارد را خودش پیادهسازی کند.
سرعت نوشتن و توسعه برنامهها بالا میرود اما از آنطرف کنترل کمتری روی عملکرد کامل و ریز جزئیات برنامه خواهیم داشت.
از جمله زبانهای سطح بالا :
- Python پایتون
- JavaScript جاوا اسکریپت
- Java جاوا
- PHP پیاچپی
- #C سیشارپ
۳۴. Low-level language زبانهای برنامهنویسی سطح پایین
نزدیکترین زبانها به سختافزار کامپیوتر را زبانهای سطح پایین میگویند. با استفاده از این زبانها تقریبا میتوانیم روی تمام رفتارهای برنامه کنترل کامل داشته باشیم.
از زبانهای سطح پایین معمولا در برنامههای حساس، با پردازش دقیق و مهم استفاده میشود. مثل برنامههایی که برای تجهیزات نظامی یا ماهوارهای نوشته میشود. در صنعت بازیسازی هم بیشتر از این زبانها یا نزدیکترین زبانها به سختافزار استفاده میشود. (مانند زبان برنامهنویسی C )
کُد ماشین و زبان اسمبلی زبانهای سطح پایین هستند.
کد ماشین همان صفر و یک است. زبان اسمبلی هم شیوه نوشتن خاصی دارند مانند زیر: (این برنامه جمله Hello, world! را روی صفحه نشان میدهد)
section .text global _start ; _start: ; mov edx,len ; mov ecx,msg ; mov ebx,1 ; mov eax,4 ; int 0x80 ; mov eax,1 ; int 0x80 ; section .data msg db 'Hello, world!', 0xa ; len equ $ - msg ;
بعد از این دو، زبان برنامهنویسی C یکی از سطح پایینترین زبانها محسوب میشود.
۳۵. Machine language زبان ماشین
زبان ماشین در پایین ترین سطح است که از ارقام یا بیت های باینری (صفر و یک) تشکیل شده است.
زبان ماشین تنها زبانی است که توسط کامپیوترها قابل درک است.
فقط از اعداد تشکیل شده و انسان نمی تواند آنها را درک کند. بنابراین، برنامه نویسان کد را به زبان سطح بالا می نویسند سپس توسط یک کامپایلر به زبان اسمبلی یا زبان ماشین ترجمه می شود بعد از آن توسط اسمبلر به زبان ماشین تبدیل می شود.
۳۶. Markup language زبان نشانهگذاری
زبان سادهای که از کلمات کلیدی(keywords) و برچسبها (tags) ساخته شده است.
از زبان نشانهگذاری برای ساخت قالببندی، نمای کلی صفحه و محتوایمان استفاده میکنیم.
درواقع یک نوعی زبان توصیفی است برای زمانی که میخواهیم متن و اطلاعات اضافه که مربوط به متن هستند را با هم ادغام و نمایش دهیم.
در یک فایل متنی ساده نوشته میشوند.
زبانهای رایج برای نشانهگذاری عبارتند از HTML و XML و همچنین SGML که مخفف Standard Generalized Markup Language است.
۳۷. Package پکیج
برای توسعه بهتر و سریعتر، توانایی استفاده مجدد از کد و مدیریت آسان برنامههای بزرگ، کلاسها و اینترفیسهایی (interfaces) که به یک دسته تعلق دارند و مرتبط هستند را در یک پکیج قرار میدهیم.
۳۸. Runtime زماناجرا
مدت زمان واقعی که طول میکشد یک برنامه روی کامپیوتر اجرا شود.
زمان بین شروع اجرای برنامه تا بسته شدن توسط سیستم عامل یا کاربر.
۳۹. Backend بکاند
اصطلاحی است که برای Background Programming استفاده میشود.
در واقع هر عملیاتی که در پشت صحنه یک برنامه (اپلیکیشن، سایت و …) اتفاق میافتد. این عملیات ممکن است با دستور و اراده کاربر باشد، مثلا زمانی که کاربر روی یک دکمه کلیک کرده یا روی دکمه ثبتنام در سایت کلیک کرده است، یا عملیاتی به شکل خودکار و زمانبندی شده که در پشت صحنه اپلیکیشن اتفاق میافتد و از چشم دیگران پنهان است.
برنامه نویس بکاند شخصی است که برنامههایی طراحی میکند که دادهها (اطلاعات) را پردازش میکنند و کارهایی روی آن دادهها انجام میدهند که کاربران مستقیم نمیبینند.
۴۰. Front-end فرانتاند
رابط کاربری یک کامپیوتر، اپلیکیشن یا هر دستگاهی را فرانتاند میگوییم.
برای مثال سیستم عاملهای مطرح مثل ویندوز و مکاینتاش برای سهولت استفاده کاربران یک بخش فرانتاند طراحی کردهاند. از پنجرهها، دکمهها و … برای انجام کارها استفاده میکنیم که به این بخش از سیستمعامل UI یا همان Front-end گفته میشود.
در وبسایتها ظاهر یا همان قالب سایت و هرآنچه که کاربر میبیند به عنوان Front-end شناخته میشود.
برنامهنویسان و توسعهدهندگانی که وظیفه ساخت این بخش از برنامهها را به عهده دارند توسعهدهنده فرانتاند هستند.
۴۱. Server-side سمت سرور
وبسایتها و اپلیکیشنهایی که داینامیک(پویا) هستند و از طریق اینترنت با یک سرور در ارتباط هستند، بخشی از کارهایشان را بر روی سرور انجام میدهند.
به عنوان مثال وقتی در یک اپلیکیشن ثبت نام میکنیم اطلاعات ما به یک سرور ارسال میشود و پردازش انجام میشود.
به اینگونه کارها، عملیاتهای سمت سرور server-side میگوییم.
بخشی از این عملیاتها به صورت خودکار و بخشی به شکل دائم بر روی سرور در حال انجام هستند.
به عنوان مثال فرآیند گرفتن نسخه پشتیبان (بک آپ Backup) از سایت و اطلاعات کاربران یک فرآیند server-side و به شکل خودکار است که کاربران در انجام آن نقشی ندارند.
۴۲. Source data منبع داده
هر اپلیکیشن، سایت یا برنامهای برای سرویس دادن به کاربر و عملکرد درست، نیاز دارد که اطلاعاتی را از جایی بخواند و اطلاعات جدید و بروز شده را در جایی ذخیره کند.
معمولا اپلیکیشنها و سایتهای پربازدید از سیستمهای پایگاه داده (دیتابیس database) برای منبع داده خود استفاده میکنند.
اما برای این منظور از امکانات دیگر هم میتوانیم استفاده کنیم. به عنوان مثال از فایلها یا حتی یک فایل اکسل (spreadsheet) یا اطلاعاتی که به شکل hard-code شده در کدهای نرمافزار.
۴۳. Statement
در زبان برنامه نویسی به مجموعهای از کلمات، اعداد و اپراتورها که کاری را انجام میدهند Statement گفته میشود، مثال:
a = b * 2;
در statement بالا کاراکترهای a و b متغیر نامیده میشوند.
متغیرها جعبههایی هستند که میتوانیم مقاویر مختلف را در آنها ذخیره کنیم.
در برنامهها، متغیرها مقادیر را در خودشان ذخیره میکنند به عنوان مثال مقدار(value) عددی ۳۸. با این کار میتوانیم بعدا از این مقدار ذخیره شده استفاده کنیم.
در مقابل، به عنوان مثال، عدد ۲ به خودی خود یک مقدار است و به آن literal value گفته میشود. این مقدار در هیچ متغیری ذخیره نشده و به تنهایی استفاده میشود.
به مساوی = و علامت * میگوییم اپراتور.
از اپراتورها برای انجام اعمال روی متغیرها و مقادیر استفاده میکنیم. اعمالی مثل مقداردهی و محاسبات ریاضی.
در زبان جاوا اسکریپت عمدتاً جملهها را با یک سِمیکالُن ; به پایان میرسانیم.
در statement زیر:
a = b * 2;
تقریبا به کامپیوتر میگوییم، مقدار متغیر b را بگیر، ضربدر ۲ کن، و در متغیر a ذخیره کن.
برنامهها مجموعهای از همین statementها هستند که وقتی در کنار هم قرار میگیرند برنامه اصلی مارا تشکیل میدهند.
۴۴. Syntax سینتکس
سینتکس در زبانهای برنامهنویسی مانند گرامر است در زبان انگلیسی یا فارسی و هر زبان دیگری.
درست مانند زبانهایی که ما با آنها صحبت میکنیم و با یکدیگر ارتباط برقرار میکنیم، زبانهای برنامهنویسی هم قواعد و قوانینی دارند که توسط آنها پیادهسازی شدهاند.
سینتکس به مجموعه قوانینی گفته میشود که برای نوشتن یک زبان برنامهنویسی استفاده میکنیم تا یک برنامه درست، استاندارد و بدون خطای نحوی بنویسیم.
۴۵. Token توکن
کوچکترین واحد در کُد یک برنامه نوشته شده.
توکن در اینجا به بحث کامپایل شدن برنامه اشاره دارد. زمانی که کد برنامه نوشته شده ما توسط کامپیوتر مورد بررسی قرار میگیرد تمام جملات و کلمات نوشته شده توسط ما به کوچکترین واحد قابل تقسیم تبدیل میشوند که به هر کدام از این واحدها یک توکن میگوییم.
توکن در زبانهای برنامهنویسی با توجه به این لیست طبقهبندی میشوند: کلمات کلیدی(keywords)، شناسهها(identifiers)، اپراتورها(operators)، نقطهها و علامتهای نشانهگذاری(punctuators).
میانگین امتیاز 5 / 5. تعداد آرا: 1
اولین نفری باشید که امتیاز می دهید