اصطلاحات برنامه نویسی — ۲۰۵ اصطلاح و تعریف رایج که باید بدانید
اگر پیش از شروع برنامه نویسی، مثلاً قبل از شروع یک دوره آموزشی، آشنایی با اصطلاحات برنامه نویسی وجود داشته باشد، میتوان مفاهیم را خیلی بهتر درک کرد و فرآیند یادگیری سریعتر انجام خواهد شد زیرا دیگر اصطلاحات استفاده شده در آن دوره برای شخص ناآشنا نخواهند بود. بنابراین، بهتر است پیش از شروع یادگیری برنامه نویسی، آشنایی لازم با اصطلاحات برنامه نویسی یا در واقع اصطلاحات رایج برنامه نویسی به دست آید. به همین دلیل در این مقاله به معرفی بیش از ۲۰۰ اصطلاح رایج برنامه نویسی پرداخته شده است.
در این مقاله سعی شده است تا واژهنامه جامعی ارائه شود و رایجترین لغات و اصطلاحات برنامه نویسی در آن معرفی شوند. با مطالعه این مقاله پیش از شروع یادگیری برنامه نویسی و آشنایی با اصطلاحات رایج آن ، میتوان مسیر یادگیری را هموارتر کرد و این فرآیند آسانتر خواهد شد. در این نوشتار، ابتدا اصطلاحات پایه و مقدماتی معرفی شدهاند و سپس به شرح اصطلاحات تخصصیتر پرداخته شده است. پس از آن نیز برخی از اصطلاحات برنامه نویسی خاص مربوط به زبانهای پایتون و C# (سیشارپ) معرفی میشوند.
اصطلاحات برنامه نویسی پایه و مقدماتی
در این بخش به شرح چندین اصطلاح برنامه نویسی پایهای و مقدماتی پرداخته شده است. اصطلاحات برنامه نویسی معرفی شده در این بخش کاملاً ابتدایی هستند و ممکن است افراد با برخی از آنها آشنایی نسبی داشته باشند.
اما ضرورت دارد این اصطلاحات برنامه نویسی پایهای حتماً به درستی فرا گرفته شوند تا مشکلی در زمان شروع یادگیری برنامه نویسی به وجود نیاید.
۱. اصطلاح ورودی/خروجی (I/O) در برنامه نویسی به چه معناست؟
ورودی/خروجی (Input/Output) یا به اختصار I/O، به نحوه ارتباط بین یک سیستم کامپیوتری با جهان بیرونی گفته میشود. برای مثال، نمایش اطلاعات به کاربر، دریافت اطلاعات از کاربر، خواندن و نوشتن فایلها و همچنین ارسال و دریافت اطلاعات از طریق شبکه را میتوان به عنوان نمونههایی از ورودی/خروجی نام برد.
ورودیها، سیگنالها یا دادههای دریافت شده توسط سیستم به حساب میآیند. خروجیها نیز سیگنالها یا دادههایی هستند که از کامپیوتر به خارج ارسال میشوند. مثلاً دو تابع توکار ()print و ()input به منظور انجام عملیات ورودی و خروجی در پایتون مورد استفاده قرار میگیرند.
۲. بیت (Bit) از پایه ای ترین اصطلاحات برنامه نویسی یعنی چه؟
بیت (Bit) یک رقم دودویی (باینری) است که کوچکترین واحد داده در کامپیوتر و برنامه نویسی به حساب میآید. یک بیت میتواند مقدار ۰ یا ۱ را در خود ذخیره کند. اعداد ۰ و ۱ به ترتیب به مقادیر الکترونیکی «خاموش» و «روشن» مربوط میشوند. با توجه به کوچک بودن واحد بیت، به ندرت پیش میآید که برنامه نویس هر بار تنها با یک بیت سر و کار داشته باشد.
۳. بایت (Byte) در برنامه نویسی و علوم کامپیوتر چیست؟
بایت (Byte) واحد اساسی داده در ذخیرهسازی و محاسبات کامپیوتری به حساب میآید. یک بایت از ۸ بیت متوالی تشکیل شده است و مقدار هر بیت هم همانطور که پیشتر بیان شد، ۰ یا ۱ است.
در ابتدا، یک بایت به هر رشتهای گفته میشد که از بیش از یک بیت اطلاعات ساده مثل یک کاراکتر واحد تشکیل شده بود. هر ۱۰۲۴ بایت نیز یک کیلوبایت است.
۴. اصطلاح دودویی یا باینری (Binary) در برنامه نویسی یعنی چه؟
به سیستمی گفته میشود که از دو حالت مختلف صفر و یک تشکیل شده است. عملکرد کامپیوترها به صورت دودویی است. این یعنی کامپیوترها دادهها را با استفاده از صفرها و یکها ذخیره میکنند و محاسبات را بر اساس صفر و یک انجام میدهند.
وقتی با اعداد منفی سروکار داریم، یک علامت منها (-) قبل از آنها قرار داده میشود تا بتوان نشان داد که این اعداد مقدار منفی دارند و از عدد بیعلامت مثبت متفاوت هستند. اعداد باینری علامتدار نیز همینطور هستند. همچنین، در صورت نیاز، میتوان تبدیل اعداد باینری به دسیمال و برعکس را هم انجام داد.
۵. الفبای باینری (Binary alphabet)
الفبای باینری (Binary alphabet) ممکن است که به موارد زیر اشاره داشته باشد. به طور کلی اما الفبای باینری از اعداد صفر و یک تشکیل شده است.
- اعضای یک «مجموعه دودویی» در نظریه مجموعهها در ریاضیات که این مورد به اعداد صفر و یک (۰ و ۱) اشاره دارد که به آن الفبای باینری گفته میشود.
- الفبای دو عنصری در نظریه زبانها
- اسکی (ASCII)
۶. اعداد دودویی (Binary numbers)
اعداد باینری، روشی کامپیوتری برای نمایش اطلاعات هستند. کامپیوترها، میلیونها صفر و یک را در دقیقه با استفاده از قوانین مختلف پردازش میکنند تا آنها را به عنوان اعداد، حروف، عملگرها و هر چیز دیگری تفسیر کنند که در کامپیوتر قرار داده شده است.
به عبارت دیگر، اعداد باینری، ترکیبی از صفرها و یکها هستند که این ترکیب یک برنامه کامپیوتری را تشکیل میدهد. کامپیوترها از اعداد دودویی یا همان باینری (ارقام ۰ و۱) برای ذخیرهسازی دادهها استفاده میکنند. یک رقم دودویی کوچکترین واحد داده در محاسبات یعنی همان یک بیت محسوب میشود. اعداد باینری از ارقام صفر و یک (بیت) تشکیل شدهاند. به عنوان مثال، ۱۰۰۱، نمونهای از یک عدد دودویی است. به بیان دیگر، یک سیستم از دو حالت ممکن صفر و یک تشکیل شده است.
۷. زبان برنامه نویسی چیست ؟
به زبان قابل خواندن برای انسان که برای ساخت برنامههای کامپیوتری استفاده میشود، «زبان کدنویسی» (Coding languages) یا «زبان برنامه نویسی» (Programming Language) گفته میشود.
یک زبان برنامه نویسی به نوعی مشابه یک مترجم عمل میکند. این مترجم میتواند دستورالعملهای دریافتی به زبان انسان را به دستورالعملهای قابل تشخیص برای فردی تبدیل کند که به زبان دیگری صحبت میکند. میتوان زبانهای برنامه نویسی را چیزی بین زبان ماشین و زبان محاوره انسانها تصور کرد. به بیان دیگر، رایانهها، کاری که مردم میخواهند انجام دهند را با استفاده از زبانهای برنامه نویسی درک میکنند.
انواع زبانهای برنامه نویسی مختلفی وجود دارند که هر کدام دارای کاربرد مخصوص به خود هستند. زبانهای برنامه نویسی مثل پایتون (Python) و جاوا زبانهایی همهمنظوره به حساب میآیند که میتوان با استفاده از آنها وظایف محاسباتی گوناگونی را اجرا کرد. همچنین، زبانهایی مثل HTML ،Robot C یا CSS زبانهایی هستند که برای مقاصد خاصی مثل کنترل و طراحی ربات هوشمند یا ساخت وب سایتها (برنامه نویسی وب) طراحی شدهاند.
استفاده از زبانهای برنامه نویسی دقیقاً مانند نحوه ارتباط انسانها با یکدیگر به زبان انگلیسی یا ژاپنی است. یعنی انسانها هم به همین صورت از طریق زبانهایی مانند ++C یا جاوا با کامپیوترها ارتباط برقرار میکنند. بعضی از زبانهای برنامه نویسی مانند جاوا اسکریپت (javascript)، زبان برنامه نویسی اسکرچ (Scratch) و پایتون بهترین زبانها برای یادگیری کودکان و افراد تازه کار محسوب میشوند. دورههای آموزش زبانهای برنامه نویسی بسیاری بر روی سایت فرادرس وجود دارد که علاقمندان بسته به نیاز خود، میتوانند از آنها استفاده کرده و فرآیند یادگیری را آغاز کنند.
۹. کُد (Code) یکی دیگر از اصطلاحات برنامه نویسی
«کد» یا «کد منبع»، اصطلاحی است که برای توصیف مجموعهای از دستورالعملهای نوشته شده با استفاده از یک زبان برنامه نویسی خاص به کار میرود. برای نوشتن این دستورالعملها از پروتکلهای تعیین شده در آن زبان خاص مانند جاوا، C یا پایتون استفاده میشود.
کدها همچنین میتوانند به طور غیر رسمی برای توصیف متن نوشته شده به زبانی خاص استفاده شوند. به بیان سادهتر، کُد، محتوای نوشتاری یک برنامه کامپیوتری است که به کامپیوتر میگوید چه کاری انجام دهد، کجا اطلاعات را ذخیره کند و چه چیزی را به کاربر نشان دهد.
۱۰. مرور کُدها (Code Review)
«بازبینی کدها» یا «مرور کدها» (Code Review) به فرآیند بررسی و خواندن کدها برای پیدا کردن اشکالات و اشتباهات در آنها گفته میشود. در تیمهای برنامه نویسی، بازبینی کدها معمولاً در جلسات گروهی انجام میشود. در این جلسهها، کدهای هر شخص از نظر میزان اشتباهات به صورت مرتب به وسیله برنامه نویسان دیگر و به طور گروهی بررسی میشوند. بررسی گروهی کدها باعث میشود توان پیدا کردن خطاها و رفع مشکلات افزایش یابد و کار Code Review سریعتر پیش برود.
۱۱. برنامه نویسی (Coding)
«برنامه نویسی» یا «کد نویسی» (Coding) به معنی استفاده از یک زبان برنامه نویسی برای واداشتن کامپیوتر به اجرای عمل مورد نظر است. هر خط کد، مجموعهای از دستورالعملها برای کامپیوتر محسوب میشود.
به چند خط کد، معمولاً یک اسکریپت گفته میشود و یک مجموعه یا دهها مجموعه از اسکریپتها نیز یک برنامه را میسازند. به افرادی که برنامه نویسی یا همان کدنویسی را انجام میدهند هم برنامه نویس یا کدنویس میگویند.
۱۲. برنامه کامپیوتری (Computer Program)
«برنامه کامپیوتری»، مجموعه دستورالعملهایی است که برای پردازش به کامپیوتر داده میشوند. این دستورالعملها، معمولاً برای حل یک مساله یا کوتاهتر و آسانتر کردن مسئلههای طولانی برای انسانها استفاده میشوند.
تحلیلهای یک کامپیوتر توسط سیپییو (CPU) یا واحد پردازنده مرکزی انجام میشود. به عبارت دیگر، برنامه کامپیوتری، بستهای از کدها به حساب میآید. این کدها به کامپیوتر میگویند چه کاری را انجام دهد. برنامههای کامپیوتری همه نوع کاری را انجام میدهند. بعضی از آنها قادر هستند مسائل ریاضی را حل کنند، برخی هم موسیقی پخش میکنند. حتی بازیهای ویدیویی (Video Games) هم برنامه کامپیوتری محسوب میشوند.
اصطلاحات برنامه نویسی تخصصی و پیشرفته
اصطلاحات برنامه نویسی ارائه شده در این بخش، اصطلاحات تخصصیتری هستند. اکثر اصطلاحات شرح داده شده در این بخش برای بسیاری از زبانهای برنامه نویسی مشترک هستند.
۱۳. انتزاع (Abstraction)
«تجرید» یا «انتراع» (Abstraction) کد یا فناوری ساده شدهای محسوب میشود که استفاده از آن برای انسان آسان است. همچنین نیازی به دانستن نحوه عملکرد آن وجود ندارد یا نحوه درک آن برای انسان ساده خواهد بود.
انتزاع در برنامه نویسی برای پنهان کردن جزئیات پس زمینه یا هر نوع پیادهسازی غیرضروری در خصوص دادهها مورد استفاده قرار میگیرد تا اینکه کاربران بتوانند تنها اطلاعات مورد نیاز و ضروری را ببینند. انتزاع یکی از ویژگیها و مشخصههای بسیار مهم در برنامه نویسی شی گرا به حساب میآید. در شی گرایی به کلاسهایی که امکان نمونهسازی از آنها وجود نداشته باشد، «کلاس تجرید» (Abstract Classes) گفته میشود. توابع از پیش تعریف شده هم به نوعی مشابه انتزاع دادهها هستند.
۱۴. الگوی ثبت کُنِشوَر (Active Record Pattern)
«ثبت کُنِشوَر»، در واقع همان حرف M در معماری MVC یعنی «مُدل» است. Active Record، «مدل» یا لایهای از سیستم به حساب میآید که مسئول نمایش دادههای تجاری و منطقی است که برای ذخیرهسازی ثابت به یک پایگاه داده نیاز دارند.
بنابراین، ایجاد و استفاده از دادههای تجاری را میتوان با استفاده از رکوردهای کُنِشوَر تسهیل کرد. به بیان دیگر، رکورد فعال، اطلاعاتی در پایگاه داده است که به کاربر ارائه میشود.
۱۵. الگوریتم (Algorithm)
الگوریتمها، دستورالعمل حل مسئله هستند. به مجموعهای از دستورالعملهایی که برای حل یک مسئله یا انجام یک کار به صورت گامبهگام دنبال میشوند، «الگوریتم» (Algorithm) میگویند.
الگوریتم، فرآیند استدلال (تفکر) یک کامپیوتر به حساب میآید. هدف نهایی الگوریتم، حل یک مسئله خاص در حین حل مسائل کوچکتر در طول مسیر است. هر دستگاه کامپیوتری از الگوریتمهایی استفاده میکند که زمان لازم برای انجام کارها را نسبت به انجام آنها به صورت دستی کاهش میدهد.
۱۶. آپاچی (Apache)
«آپاچی» یا «Apache HTTP Server»، یک نرم افزار وب سرور رایگان و «اپن سورس» (منبع آزاد | Open-Source) به حساب میآید که درخواستها را پردازش میکند و داراییها و محتوای وب را از طریق HTTP ارائه میدهد. Apache، نقش مهمی در رشد اولیه اینترنت داشته و همچنین کلمه A در LAMP Stack، برگرفته از نام آپاچی است.
آپاچی کوردوا (Apache Cordova) به عنوان اولین پلتفرم متن باز برای ایجاد برنامههای موبایل با استفاده از HTML، CSS و JavaScript شناخته میشود. با رشد دادهها، امر مدیریت دادههای استریمینگ بزرگ و توانایی پردازش و اجرای دیگر عملیاتی مثل یادگیری ماشین، ضرورت پیدا کرده است و آپاچی اسپارک نیز این کار را به خوبی انجام میدهد.
۱۷. رابط برنامه نویسی اپلیکیشن (API)
«رابط برنامه نویسی اپلیکیشن» (Application Programming Interface) یا به اختصار «API» به عنوان واسطی برای دو برنامه به کار میرود تا بتوانند با یکدیگر ارتباط برقرار کنند.
همچنین از این طریق میتوانند سرویسهای وب را به هم متصل کرده و دادهها را به اشتراک بگذارند. APIها، پروتکلها، قواعد و روالهایی را بین برنامههای کاربردی فراهم میکنند. برای مثال با استفاده از API، یک برنامه کاربردی مثل فروشگاه آنلاین از ابتدا به ساخت تابع پرداخت نیاز نخواهد داشت.
چنین برنامهای میتواند به یک برنامه پرداخت موجود دیگر متصل شود تا آن سرویس را فعال کند. رابط برنامه نویسی اپلیکیشن، امکان تعامل بین چندین برنامه نرم افزاری را فراهم میکند تا برنامه نویسها به دادهها و خدمات نرم افزاری خارجی دسترسی داشته باشند.
۱۸. کارآموزی (Apprenticeship)
به قراردادی بین کارفرما و کارمند که در آن کارمند آموزش میبیند و در ازای کار حقوق میگیرد، «کارآموزی» (Apprenticeship) میگویند. کارآموز برنامه نویسی هم تقریباً مثل یک شغل واقعی در این حوزه به حساب میآید. اکثر افرادی که وارد حرفه برنامه نویسی میشوند، فعالیت حرفهای خود را با کارآموزی شروع میکنند.
۱۹. آرگومان (Argument)
آرگومان در برنامه نویسی، به مقداری میگویند که به یک روال (روتین) یا همان تابع ارجاع داده میشود. تابع میتواند در حین اجرا از این مقادیر مانند یک متغیر استفاده کند.
به عبارت دیگر، هنگامی که تابعی ایجاد میشود، میتوان دادهها را در قالب یک آرگومان به آن ارسال کرد. معمولاً به آرگومان پارامتر (Parameter) هم گفته میشود. اگرچه این دو اصطلاح کمی با هم متفاوت هستند و در برخی از زبانهای برنامه نویسی دو مفهوم مجزا به حساب میآیند.
۲۰. آرایه (Array)
آرایهها، بخشی از ساختارهای داده در یک کد محسوب میشوند. آنها محفظههایی هستند که متغیرها را در خود نگه میدارند. از آرایهها برای گروهبندی متغیرهای مشابه با نوع داده یکسان استفاده میشود.
آرایه نوعی ساختمان داده (Data Structure) برای ذخیره متغیرهایی (Variable) با نوع داده یکسان و مقادیر متفاوت به حساب میآید.
۲۱. عملگرهای حسابی (Arithmetic Operators)
تقریباً در هر برنامهای به خصوص در بازیها، استفاده از «عملگرهای حسابی» ضروری است. اگر یک شخصیت بازی، تجربه کسب کند، باید میزان آن به مجموع تجربیات کسب شده قبلی اضافه شود. اگر یک تیر به دشمن اصابت کند، خسارت دشمن یا کاهش جان آن، باید محاسبه شود. عملگرهای جمع، تفریق، ضرب، تقسیم و بسیاری موارد دیگر از جمله عملگرهای حسابی مهم در برنامه نویسی محسوب میشوند.
۲۲. عملگرهای نسبت دهی (Assignment Operator)
«عملگرهای انتساب» یا نسبتدهی، عملگرهایی هستند که تخصیص متغیر (=) را با عملگرهای حسابی ترکیب میکنند. «=+، =-، =* و =/» از جمله این عملگرها هستند. زمانی که برنامه نویسان باید عملیاتی انجام دهند که مقدار یک متغیر را تغییر میدهد، عملگرهای نسبتدهی به عنوان میانبر عمل میکنند. به عنوان مثال، اگر در بازی، سنگی روی سر بازیکن بیفتد، سلامتی باید از مجموع آنها کم شود.
۲۳. واقعیت افزوده (Augmented Reality)
«واقعیت افزوده» (Augmented Realit) با کلمه اختصاری «AR» نیز شناخته میشود. AR، تجربهای تعاملی است که در آن اشیاء دیجیتال در محیطی واقعی در زمان واقعی قرار میگیرند. واقعیت مجازی (Virtual Reality) یا VR، محیطی کاملاً مصنوعی ایجاد میکند در حالی که واقعیت افزوده از محیط موجود در دنیای واقعی استفاده میکند و اطلاعات جدیدی را به آن اضافه میکند.
Pokémon Go، نمونهای محبوب از واقعیت مجازی است که دنیای واقعی ثبت شده از طریق دوربین گوشی را با کاراکترهای مجازی ترکیب میکند. بنابراین خروجی به دست آمده، تصاویر دنیای واقعی به علاوه کاراکترهای مجازی است.
۲۴. خود مختار (Autonomous)
ربات خودران، ماشین خودران، و ربات تحویلدهنده، همگی اصطلاحاتی هستند که برای توصیف رباتهایی به کار میروند که بدون تعامل انسانی با استفاده از حسگرها (Sensor) در محیط خود حرکت میکنند.
به این نوع از رباتها، رباتهای خود مختار یا خودگردان گفته میشود. از هلی کوپترهای خودگردان گرفته تا روبات جاروبرقی رومبا (Roomba)، طیفی از نمونههای روباتهای خودمختار محسوب میشوند.
۲۵. CamelCase از دیگر اصطلاحات برنامه نویسی یعنی چه؟
«نگارش شتری» یا «CamelCase»، شیوه و سبکی از نگارش است که به حروف کوچک یا بزرگ بودن اول کلمات مرتبط است و برای نامگذاری موجودیتهای مختلف در برنامه نویسی از آن استفاده میشود. در این روش نامگذاری، اولین کلمه با حروف کوچک و هر کلمه جدید بعد از آن بدون فاصله و با حروف بزرگ نوشته میشود.
علت اینکه این روش CamelCase نامیده میشود، این است که حرف اول کلمات (به غیر از کلمه اول) بزرگ است که میتوان این حروف بزرگ را مثل کوهانهای شتر در نظر گرفت.
اسامی مثل iPhone ،eBay و YouTube مثالهایی برای این نوع نگارش در دنیای فناوری به حساب میآیند. از این شیوه در قراردادهای نامگذاری (Naming Conventions) اکثر زبانهای برنامه نویسی مثلاً برای انتخاب نام یک متغیر یا تابع، استفاده میشود.
۲۶. گزاره (Statement)
«گزاره» یا «عبارت»، روشی است که در آن از طریق ارائه دستورالعملها یا نوشتن عباراتی برای توضیح عمل موردنظر برای کامپیوتر گفته میشود تا عملی را انجام دهد.
گزاره شبیه به نوشتن جملات در زبان انگلیسی است اما کلمات، اعداد و علائم نگارشی بسته به زبان برنامه نویسی مورد استفاده به آن اضافه میشوند.
۲۷. عبارتهای شرطی (Conditional Statement)
گزارههای شرطی یا «عبارتهای شرطی» در همه زبانهای برنامه نویسی استفاده میشوند تا در صورت داشتن شرایط خاص، تصمیمگیری را برای کامپیوتر امکانپذیر سازند. بسته به کارهایی که برنامه نویس در ذهن دارد، این تصمیمات فقط در صورتی اتخاذ میشوند که شرایط از پیش اعلام شده درست یا نادرست باشند.
از عبارتهای شرطی برای چاپ اطلاعات در خروجی یا پیشبرد برنامهها در موقعیتهای مختلف استفاده میشود. اگر شرط درست باشد، دستور مرتبط با آن اجرا میشود در غیر این صورت، در برنامه، روند اجرای دستوری دیگری در پی گرفته میشود.
به عبارتی که به کامپیوتر کمک میکند برای گام بعدی چه تصمیمی بگیرد، «عبارت شرطی» (Conditional Statement) میگویند. قالب عبارتهای شرطی معمولاً به صورت If/Then است. برای مثال به عبارت زیر توجه شود:
1if a = 1, then add a to b
در عبارت فوق آمده است که اگر a = 1 بود در گام بعدی، مقدار a به b اضافه شود.
- مقالههای پیشنهادی:
۲۸. گزاره Else یا Else Statement
در برنامه نویسی، زمانی که شرط موجود در دستور if درست (True) نباشد از «گزاره Else» برای انجام کار دیگری (اجرای قطعه کد دیگری در برنامه) استفاده میشود.
یعنی عبارت else در زبانهای برنامه نویسی، عبارتی جایگزین است و در صورتی اجرا میشود که نتیجه شرط آزمون قبلی نادرست ارزیابی شود.
۲۹. پارامتر (Parameter)
«Parameter»، نوع خاصی از متغیر در زبان برنامه نویسی کامپیوتر است که برای انتقال اطلاعات بین تابعها یا رویهها استفاده میشود. به عبارت دیگر، پارامتر، مقداری است که هنگام فراخوانی یک تابع به آن ارسال میشود. تابع در کاری که انجام میدهد از این مقدار استفاده میکند. اطلاعات واقعی ارسال شده نیز آرگومان نامیده می شوند.
۳۰. تابع (Function)
«تابع»، بلوکی از کد است که میتوان چندین بار از طریق فراخوانی نام آن، کدهای موجود در آن را استفاده کرد. توابع باعث بهینه شدن برنامه نویسی میشوند، زیرا در صورت عدم استفاده و فراخوانی آنها، باید چندین بار یک قطعه کد را نوشت.
برنامه نویسان با استفاده از توابع میتوانند یک مساله را به تکههای کوچکتری تقسیم یا تجزیه کنند به نحوی که هر کدام از این تکهها وظیفه اصلی را انجام دهند.
۳۱. تابع Main
«تابع Main» یا «تابع اصلی» به عنوان نقطه شروع برای اجرای برنامه عمل میکند و اولین تابعی است که پس از شروع برنامه C یا ++C فراخوانی میشود.
این تابع، معمولاً از طریق هدایت فراخوانی به توابع دیگر در برنامه، اجرای برنامه را کنترل میکند. معمولاً اجرای یک برنامه در پایان تابع Main متوقف میشود، اگر چه میتواند به دلایل مختلف در نقاط دیگر برنامه به پایان برسد.
۳۲. فراخوانی تابع (Function Call)
«فراخوانی تابع» قطعه کدی کوتاه است که یک تابع را برای اجرا فعال میکند. در یک برنامه، هر زمان به فراخوانی تابعی نیاز باشد، Function Call انجام میشود. توابع فراخوانی شده به همراه آرگومانهای موردنیاز آنها، مشخص میشوند. در تابع ()main از یک برنامه به زبان برنامه نویسی C، فراخوانی تابع فقط با فراخوانی نام آن تابع انجام میشود. خروجی فراخوانی تابع، مقداری بازگشتی است.
۳۳. تکرار (Iteration)
«تکرار» عبوری واحد از مجموعهای عملیات است که با کد سر و کار دارد. حلقهها، فرمی از تکرار در برنامه نویسی کامپیوتر محسوب میشوند. حلقه، بخش خاصی از کد را تا زمان برآورده شدن شرط، تکرار میکند و ادامه میدهد. هر بار که کامپیوتر، حلقهای را اجرا میکند به عنوان یک تکرار در نظر گرفته میشود. به بیان ساده، تکرار به معنی فرایندی برای تکرار چند باره یک قطعه کد خاص برای انجام عملی خاص است.
۳۴. حلقه (Loop)
در برنامه نویسی کامپیوتری، «حلقه» دنبالهای از دستورات است که شرط را بررسی میکنند. سپس بر اساس نتیجه حاصل شده، یک قطعه (Block) از کد را اجرا خواهند کرد. حلقه تا زمانی که به یک شرط مشخص برسد به بررسی و اجرا ادامه خواهد داد.
۳۵. حلقه For
«حلقه For» یک گزاره جریان کنترلی (Control Flow) برای تعیین تکرار است که امکان اجرای مکرر یک بلوک را فراهم میکند. گزاره حلقه For دارای دو بخش است:
- بخش ابتدایی (Header) که تعداد تکرار را مشخص میکند.
- بدنهای که در هر تکرار، یک بار اجرا میشود.
غالباً، هدر یک شمارنده حلقه (Loop Counter) یا متغیر حلقه صریح دارد که بدنه از طریق آن متوجه میشود که تکرار چندم در حال اجرا است. معمولاً زمانی از حلقه For استفاده میشود که تعداد تکرار مشخص باشد. به عنوان مثال، دستور زیر یک حلقه For است:
1(For (counter = 0, counter < 5, counter += 1
2 Output "I love ice cream!"
۳۶. حلقه بی پایان (Endless Loop)
«حلقه بیپایان» (Endless Loop) یا «حلقه بینهایت» (Infinite Loop) به معنای تکرار پیوسته و همیشگی یک قطعه برنامه است که خروجی عملکردی ندارد. این تکرار به دلیل عملگرها و توابع شرطی رخ میدهد که کد را به قطعه کدها (Snippet) هدایت میکنند و باعث میشوند که به طور مداوم تکرار شود و تکرار حلقه را بیپایان میکند.
۳۷. گزاره If
«گزارههای if» بلوکهای منطقی هستند که در برنامه نویسی استفاده میشوند. آنها عبارات مشروطی هستند که بر اساس درست بودن یا نبودن یک شرط به رایانه میگویند با اطلاعات معین چه کاری انجام دهد.
به عبارت دیگر، If statement یک گزاره تصمیمگیری است که در حین اجرا، برنامه را برای تصمیم گیری بر اساس معیارهای مشخص راهنمایی می کند.
- مقاله پیشنهادی: حلقه if در متلب — به زبان ساده و با مثال
۳۸. متغیر (Variable)
«متغیر»، محفظه یا ظرفی محسوب میشود که یک عدد، کلمه یا اطلاعات دیگری را در خود نگه میدارد تا بتوان از آن در طول یک برنامه استفاده کرد. به عبارت دیگر، متغیر مانند جعبهای است که میتوان آن را با مقادیر مختلفی پر کرد و بسته به شرایط یا اطلاعات ارسال شده به برنامه، میتواند تغییر کند. سپس میتوان جعبهها را نام برد تا آنها را برای استفاده پیدا کرد. متغیرها دارای سه بخش نوع (Type)، مقدار و نام هستند.
- مقاله پیشنهادی: متغیر Integer چیست ؟ — اصول برنامه نویسی به زبان ساده
۳۹. نوع متغیر (Variable Type)
هنگام اعلام یک متغیر، نوع آن مشخص میشود. انواع متغیرهای پایه به صورت زیر هستند:
- string: نوع رشته است که کلمات و عبارات را شامل میشود.
- char: مخفف «character» است، یک حرف یا نمادی که میتوان آن را تایپ کرد.
- int: مخفف «integer» به معنی عدد صحیح که اعداد کامل را در برمیگیرد.
- double یا float: برای اعداد اعشاری است.
- bool: مخفف boolean و مقادیر true یا false را مشخص میکند.
۴۰. فراخوانی متغیر (Variable Call)
نام متغیر نشان میدهد که متغیر حاوی چه اطلاعاتی است. به این علت به آنها متغیر گفته میشود که اطلاعات گنجانده شده در متغیر میتوانند تغییر کنند، اما عملیات روی متغیر ثابت باقی میماند. فراخوانی یک متغیر به معنی استفاده از آن در جایی از برنامه است.
۴۱. حلقه While
حلقههای While، دقیقاً مانند گزارههای if تنظیم میشوند. در اکثر زبانهای برنامه نویسی، حلقه while یک گزاره جریان کنترلی است که یک شرط بولی را بررسی میکند و تا زمانی که شرط درست باشد، کد را اجرا خواهد کرد.
به بیان دیگر، حلقه while برای همیشه اجرا میشود تا زمانی که شرط نادرست باشد.
- مقالههای پیشنهادی:
۴۲. رمزگذاری (Encryption) یکی دیگر از اصطلاحات برنامه نویسی
«رمزگذاری»، روشی برای ایمنسازی اطلاعات در متن ساده است که برای این امر، آن را تبدیل به متن رمزی (Cipher) میکنند.
متنهای رمزی بدون کلید، قابل خواندن نیستند، اما میتوان آنها را رمزگشایی (Decrypted) کرد یا با کمک کلید رمزگشایی در فرمتی (قالبی) قابل خواندن نشان داد. رمزگذاری نقش مهمی در امنیت اطلاعات و علوم کامپیوتر ایفا میکند.
۴۳. محیط توسعه یکپارچه (Integrated Development Environment)
محیط توسعه یکپارچه (Integrated Development Environment) که به اختصار IDE خطاب میشود، یکی از پرکاربردترین و رایجترین اصطلاحات برنامه نویسی است که همواره برنامه نویسان با آن در ارتباط هستند.
نرم افزارهایی مانند ویژوال استودیو (Visual Studio) به عنوان یک IDE شناخته میشوند که در آن برنامه نویسان کد خود را تایپ و سپس برنامه را اجرا میکنند. اساساً، یک IDE یا محیط برنامه نویسی python نرم افزاری است که کدنویسی را سادهتر میکند.
در ادامه، برخی از معروفترین IDEها فهرست شدهاند:
- Visual Studio Code (ویرایشگر کدی که تقریباً مثل یک IDE عمل میکند)
- Eclipse (اکلیپس)
- اندروید استودیو
- Code::Blocks
- IntelliJ IDEA
- NetBeanse
- Xcode
۴۴. Jupyter Notebook
«ژوپیتر نوت بوک» (Jupyter Notebook)، نوعی محیط توسعه یکپارچه محسوب میشود که نام آن برگرفته از سرنام زبانهای برنامه نویسی Python ، Julia و R است و امکان استفاده مشارکتی، قابل بازتولید و مقیاسپذیر (Scalable) پروژه را فراهم میکند.
Jupyter Notebook، یکی از ابزارهای اصلی برای علم داده (Data Science) به حساب میآید و به طور خاص، زبان پایتون را مدیریت میکند.
۴۵. Micro:bit
Micro:bit، کامپیوتر قابل برنامه نویسی کوچکی است که به طور رسمی، بیشتر به عنوان برد توسعه میکروکنترلر شناخته میشود. میکرو: بیت را میتوان برای انجام کارهای مختلفی برنامه نویسی کرد. برای مثال، Micro:bit میتواند یک ساعت دیجیتال، ردیاب تناسب اندام یا یک کنسول بازی باشد.
«BBC Micro:bit» نیز یک کامپیوتر جیبی است که میتواند شخص را با نحوه کار نرم افزار و سخت افزار آشنا کند. Micro:bitها، دارای نمایشگر نور LED، دکمهها، سنسورها و بسیاری از ویژگیهای ورودی/خروجی دگیر هستند که وقتی برنامهنویسی میشوند، میتوانند با انسانها و دنیای بیرونی تعامل داشته باشند.
۴۶. اسکریپت (Script)
در برنامه نویسی کامپیوتر، مجموعهای از اسکریپتها (Script) یا مجموعهای از مراحل برای کامپیوتر نوشته میشود تا به واسطه آن، کاری را دنبال کند. به بیان سادهتر، اسکریپت، برنامه یا دنبالهای از دستورالعملها است که به جای پردازنده کامپیوتر، توسط برنامه دیگری تفسیر یا اجرا میشوند. هر مرحله از اسکریپت با نوشتن یک عبارت ایجاد میشود و مراحل کد نوشته شده، خط به خط از بالا به پایین پردازش خواهند شد.
۴۷. اسپرایت (Sprite) در اسکرچ
«اسپرایتها» کاراکتر یا شی اصلی برنامه یا عنصر گرافیکی کامپیوتری مستقلی محسوب میشوند که با فناوریهای گرافیک رایانهای مدرن تکامل یافتهاند و از طریق کد میتوان آنها را حرکت داد.
یک بازیکن دو بعدی که راه میرود، اسپرایتی متحرک (پویاسازی شده) است. اسپرایت اسکرچ، مقدمهای سرگرم کننده برای آشنایی با برنامه نویسی را برای کودکان فراهم میکند.
۴۸. Backbone.js ، از اصطلاحات برنامه نویسی
«Backbone.js»، یک کتابخانه جاوا اسکریپت است که بیشتر برای برنامههای کاربردی وب تک صفحهای استفاده میشود تا ساختار ارائه کند و ورودی و تعامل کاربر را مدیریت میکند. این کار از طریق ارائه مدلهایی با رویدادهای سفارشی و اتصال کلید-مقدار (Key-Value)، نماهایی (Views) با استفاده از مدیریت رویدادهای اعلانی و مجموعههایی با رابط برنامهنویسی برنامه کاربردی (API) غنی انجام میشود.
۴۹. مبتنی بر بلوک یا Block-based
«زبان برنامه نویسی مبتنی بر بلوک» (Block-based Programming Language)، زبانی بصری محسوب میشود. برنامه نویسی مبتنی بر بلوک به کاربران اجازه میدهد تا از طریق کشیدن و رها کردن بلوکهای کد، برنامههایی را بسازند. این نوع زبانها بر عکس زبانهای برنامه نویسی مبتنی بر متن، نیازی به نوشتن کد ندارند. به عنوان مثال، اسکرچ (Scratch) یک زبان برنامه نویسی بلوکی است که برای آموزش برنامه نویسی به کودکان استفاده میشود.
۵۰. بلوکی یا Blockly
«بلوکی»، یک زبان برنامه نویسی بلوکی به حساب میآید که به عنوان کتابخانهای رایگان و منبع باز برای جاوا اسکریپت، توسط گوگل طراحی شد. زبان Blockly، هم میتواند روی مرورگر وب و هم در برنامهها اجرا شود و امکان ایجاد ویرایشگرهای زبان برنامه نویسی بصری (VPL | Visual Programming Language) را برای توسعهدهندگان فراهم میکند.
۵۱. بولی یا Boolean
Boolean یا نوع داده بولی به سیستمی از تفکر منطقی اشاره دارد که برای ایجاد گزارههای درست یا نادرست استفاده میشود. به بیان دیگر، نوع داده بولی، یکی از دو مقدار ممکن True یا False را دارد.
عبارات بولی از عملگرهای AND ،OR ،XOR و NOT برای مقایسه مقادیر و برگرداندن یک نتیجه درست یا نادرست استفاده میکنند.
۵۲. باگ یا Bug
در فناوری کامپیوتر، «باگ» یا «اشکال»، یک خطای برنامه نویسی در برنامه کامپیوتری است. کد منقطع شدهای است که باعث اختلال در عملکرد برنامه میشود را میتوان به عنوان باگ در نظر گرفت.
باگها اغلب یک برنامه را از کار میاندازند یا باعث ظاهر شدن پیغام خطا میشوند.
۵۳. ساختن برنامه یا Build
ساختن یک برنامه به معنی آماده کردن آن برای استفاده کاربران است. برنامه نویسان ممکن است از ابزارهای خاصی برای ساخت یا تکمیل برنامههای کاربردی استفاده کنند.
برای ساخت اپلیکیشنهای کاربردی، ابتدا باید برنامه نویسی آن انجام شود، سپس آزمایش (Test) و اشکال زدایی (Debugging) صورت بگیرد. در واقع Build یکی از فازها و مراحل چرخه تولید نرم افزار به حساب میآید.
۵۴. کلاس در HTML و CSS
صفت (Attribute) کلاس، نام یک یا چند Class را برای یک عنصر HTML مشخص میکند.
از Class، بیشتر برای اشاره به یک کلاس در صفحه CSS استفاده میشود.
۵۵. شی یا Object
در زبانهای برنامه نویسی شی گرا، «اشیاء» با نمونههای واقعی یا انتزاعی مطابقت دارند. در OOP، شی و کاری که میتواند انجام دهد، توسط کلاس تعریف میشود.
معمولاً یک شی میتواند انواع دادهها، ویژگیهای مجموعه دادهها، متدها یا اشیاء دیگر را در خود نگه دارد. از سوی دیگر، متدها (Method) فعالیتهایی هستند که یک شی باید انجام دهد.
۵۶. برنامه نویسی شی گرا (OOP)
در برنامه نویسی شی گرا(Object-Oriented Programming | OOP)، برنامه نویسان میتوانند مسائل دنیای واقعی را به بخشهایی بشکنند و اشیاء دیجیتالی تعریف میکنند. سیستم برنامه نویسی شیگرا یک شیوه برنامه نویسی است که بر اساس اصول انتزاع، محفظهبندی (کپسولهسازی)، ارثبری و چندریختی (پُلیمورفیسم) عمل میکند.
شیگرایی به برنامه نویسان امکان میدهد تا اشیایی را که میخواهند تعریف و متدهایی (توابعی) را برای مدیریت این اشیا ایجاد کنند.
- مقالههای پیشنهادی:
۵۷. کلاس در برنامه نویسی شی گرا
در برنامه نویسی شیگرا، کلاس یک قالب برنامه نویسی قابل توسعه برای ایجاد اشیا به حساب میآید. کلاس مقادیر اولیه را برای «وضعیت» (یعنی متغیرهای عضو) و «پیادهسازی عملکرد» (یعنی همان توابع یا متدهای عضو) فراهم میکند.
در یک کلاس، مجموعهای از خصوصیتها (Property) و متُدهایی (Method) تعریف میشوند که برای همه اشیا از آن نوع خاص، مشترک هستند. هر عضوی از یک کلاس، یک شی (Object) نامیده میشود. برای یادگیری بیشتر این مضمون، مطالعه مقاله زیر پیشنهاد میشود:
- مقاله پیشنهادی: مفهوم کلاس در برنامه نویسی — همراه با نمونه مثال عملی
۵۸. ابر (Cloud)
ابر (Cloud)، محلی برای ذخیره کردن دادهها از راه دور است. مثلاً Dropbox یک سرویس ذخیرهسازی ابری به حساب میآيد. فضای ابری دارای دامنه گستردهای است که به خدمات عمومی ذخیرهسازی اینترنتی اشاره دارد.
از ابرها در رایانش ابری (Cloud Computing) استفاده میشود و به بیان ساده، رایانش ابری به معنی ذخیرهسازی و دسترسی به دادها و برنامهها از طریق اینترنت به جای هارددیسک کامپیوتر است.
محاسبات ابری یا همان رایانش ابری، ارائه خدمات کامپیوتری شامل سرورها، فضای ذخیرهسازی، بانکهای اطلاعاتی، شبکههای کامپیوتری، نرم افزار، تجزیه و تحلیل و هوشمندی از طریق اینترنت (فضای ابری) میشود تا از این طریق بتوان نوآوری را سریعتر انتقال داد، منابع انعطافپذیر را سادهتر در دسترس افراد قرار داد و به صرفهجوئیهاى ناشی از تولید انبوه جامه عمل پوشاند.
۵۹. چالش برنامه نویسی (Coding Challenge)
چالشهای برنامه نویسی، آزمونهایی هستند که برای کارمندان بالقوه (کارجویان) توسط یک شرکت نرمافزاری تهیه و ارسال میشوند. چالشهای برنامه نویسی معمولاً به عنوان گام اول یا صفرم مصاحبه برای دریافت اولین سیگنالهای فنی مربوط به برنامه نویسی از متقاضیان مورد استفاده قرار میگیرند.
این نوع چالشها اغلب برای ارزیابی متقاضیان جدید و کارآموزان به کار گرفته میشوند، اما به طور کلی هر شخصی ممکن است به هر دلیلی در چالشهای برنامه نویسی شرکت کند. چالشهای برنامه نویسی کارمندان را در محیطی مشابه فضای کاری قرار میدهند. ارائه مسائل جهان واقعی به متقاضیان، سطح و کیفیت عملکرد آنها را در حرفه برنامه نویسی بازتاب خواهد داد.
۶۰. دستور (Command)
در حوزه کامپیوتر، «دستور» (Command) به دستورالعملی برای یک برنامه کامپیوتری گفته میشود که برای اجرای وظیفه خاصی صادر میشود. صدور یک دستور ممکن است از طریق یک «رابط خط فرمان» (Command Line Interface) مثل شل (پوسته) انجام شود یا در قالب ورودی سرویس شبکه به عنوان بخشی از یک پروتکل شبکه نمود داشته باشد.
همچنین یک دستور میتواند به وسیله رویدادی در یک رابط کاربری گرافیکی (GUI) صادر شود که توسط کاربر به وسیله انتخاب یک گزینه در فهرست گزینههای رابط کاربری فعال شده است.
۶۱. خط فرمان (Command Line)
«خط فرمان» (command line) که به آن «ترمینال» (Terminal) یا «Command Prompt» هم گفته میشود، نوعی از برنامه نرم افزاری است که به صورت از پیش نصب شده در سیستم عاملهای ویندوز، لینوکس و مک OS (کامپیوترهای مک) در دسترس قرار دارد.
این برنامه، امکان اجرای دستورات، اجرای برنامهها و ورود به پوشههای مختلف داخل کامپیوتر را از طریق اجرای دستورات فراهم میکند.
۶۲. واسط خط فرمان (Command-Line Interface)
واسط خط فرمان (Command-Line Interface) که به اختصار CLI خطاب میشود، ارتباط و اتصال یک کاربر را با یک برنامه کامپیوتری یا سیستم عامل برقرار میکند. کاربران میتوانند از طریق CLI با یک سیستم یا برنامه کاربردی به وسیله وارد کردن دستورات متنی تعامل داشته باشند. هر CLI سینتکس دستوری مربوط به خودش را دارد، اما همه آنها به طور مشابهی عمل میکنند.
برای مثال، هر CLI یک «علامت آماده دریافت فرمان» (Command Prompt) دارد که در زمان آماده بودن واسط برای دریافت دستور، نمایش داده خواهد شد. وقتی که یک دستور وارد میشود، این دستور در کنار علامت خط فرمان ظاهر خواهد شد و زمانی که کاربر کلید اینتر را بزند، دستور مربوطه اجرا میشود.
۶۳. کامپایل (Compilation)
کامپایل به عملیاتی گفته میشود که در طی آن، برنامه نوشته شده به یک زبان سطح بالا که توسط انسانها قابل درک است و به وسیله برنامه نویسان نوشته میشود را به یک زبان دودویی (باینری) سطح پایین تبدیل میکند تا توسط کامپیوتر یا همان ماشین قابل درک باشند. به بعضی از زبانهای برنامه نویسی، زبانهای کامپایل شده (Compiled Language) گفته میشود. این زبانها، پیش از استفاده باید کامپایل شوند تا برای کامپیوتر قابل درک باشند.
۶۴. کامپایلر (Compiler)
«کامپایلر»، برنامه خاصی است که کدهای مبتنی بر متن نوشته شده در یک زبان برنامه نویسی خاص را به کد یا زبان ماشین تبدیل میکند. این زبان ماشین سطح پایین برای کامپیوتر قابل درک است. به طور معمول، یک برنامه نویس با استفاده از یک نرم افزار ویرایشگر، کدها را به زبانهای برنامه نویسی مانند پاسکال یا زبان C مینویسد و تبدیل خودکار آن به زبان ماشین توسط کامپایلر انجام میشود.
۶۵. تفکر محاسباتی (Computational Thinking)
تفکر محاسباتی به فرآیند قالببندی و حل مسئلهها به وسیله تجزیه کردن آنها به گامهایی ساده گفته میشود. تفکر محاسباتی یک روش قدرتمند حل مسئله است که انسان را برای حل مسائل پیچیده در دنیای مدرن تجهیز میکند. در واقع تفکر محاسباتی شیوهای است که پیش از شروع عملیات برنامه نویسی و پیادهسازی نرم افزار مورد استفاده قرار میگیرد.
۶۶. علوم کامپیوتر (Computer Science)
علوم کامپیوتر به مطالعه کامپیوترها و مفاهیم محاسباتی گفته میشود. علوم کامپیوتر هم شامل سختافزار و هم شامل نرمافزار میشود و همچنین شبکههای کامپیوتری و اینترنت هم بخشهایی از دنیای علوم کامپیوتر به حساب میآیند. جنبه سختافزاری علوم کامپیوتر با مهندسی برق تلاقی دارد. در این جنبه از علوم کامپیوتر، اساس طراحی کامپیوترها و نحوه عملکرد آنها پوشش داده میشود.
علوم کامپیوتر، شامل ایدههایی است که حل مسائل را با کامپیوترها ممکن میکنند. یک دانشمند کامپیوتر (Computer Scientist) در مورد بیتها، بایتها، کد و حافظه آگاهی دارد. در علوم کامپیوتر برای بسیاری از وظایف مانند فرمولبندی الگوریتمها، توسعه نرمافزار و سختافزار و هوش مصنوعی از اصول ریاضیات، مهندسی و منطق استفاده میشود.
- مقالههای پیشنهادی:
۶۷. ثابت ها (Constants)
ثابتها مقادیر دادهای هستند که در هر بار اجرای برنامه ثابت میمانند و تغییر نمیکنند. ثابتهای لفظی (Literal Constants) مقادیری هستند که در کد منبع تعبیه شدهاند. مقدار متغیرها میتواند افزایش یا کاهش پیدا کند، اما یک ثابت، همان مقدار میماند و تغییری نمیکند.
۶۸. انبوه سپاری (Crowdsourcing)
به عمل به کارگیری گروه بزرگی از مردم برای کار روی یک پروژه، «جمعسپاری» یا «انبوهسپاری» گفته میشود. ممکن است که این افراد به صورت رایگان و داوطلبانه یا با دریافت دستمزد روی پروژه کار کنند.
۶۹. استثنا (Exception)
حالتی خاص، غیرمنتظره و غیرعادی که در حین اجرای یک برنامه کشف میشود را به عنوان «استثنا» میشناسند. همچنین میتوان آن را خطا یا حالتی نامید که مسیر برنامه یا ریزپردازنده را به سوی دیگری منحرف میکند.
برای مثال میتوان گفت، برنامهای که سعی دارد فایلی را از دیسک بارگذاری کند، اما آن فایل وجود ندارد، یک استثنا به حساب میآید. برای جلوگیری از بروز هرگونه خطای ویرانگر، باید استثناها را در کد برنامه مدیریت کرد و آنها را از بین برد.
- مقالههای پیشنهادی:
۷۰. عبارت (Expression)
«عبارت»، به معنای گروهبندی قانونی حروف، نمادها و اعداد است که برای نشان دادن مقدار یک یا چند متغیر استفاده میشود. عبارات در تعدادی از زبانهای برنامه نویسی و بسیاری از برنامههای دیگر کاربرد دارند. البته هر کدام از آنها مجموعهای از عبارات قانونی و غیرقانونی خاص خود را دارند. هر عبارت شامل یک یا چند عملوند (اشیاء دستکاری شده) و عملگرها (نمادهایی که نشان دهنده عملیات هستند) است. به عنوان مثال، در عبارت A+B-C سه متغیر B ،A و C عملوند هستند در حالی که + و – عملگر محسوب میشوند.
۷۱. فریم ورک (Framework)
یکی از اصطلاحات رایج برنامه نویسی بسیار پرکاربرد که برنامه نویسان پس از شروع برنامه نویسی و انتخاب حوزه مورد علاقه خود با آن آشنا میشوند، «چارچوب نرم افزاری» (فریم ورک | Framework) است. فریم ورک در برنامه نویسی، اساس و پایهای با سطح پیچیدگی مشخص است که به برنامه نویسان کمک میکند تا برای پلتفرم خاصی برنامه بسازند.
فریم ورک میتواند شامل کتابخانههای نرم افزاری مختلف، APIها، کامپایلرها و موارد دیگر باشد. به طور خلاصه، فریم ورک محیطی مناسب را برای نوع و سطح خاصی از برنامه نویسی برای یک پروژه فراهم میکند. فریم ورک به توسعهدهندگان اجازه میدهد تا نیازهای متداول و قابل تعمیم را دور بزنند و روی جزئیات مرتبطتر با پروژه تمرکز کنند.
۷۲. کد سخت (Hardcode)
در برنامه نویسی کامپیوتر، اصطلاح «کد سخت» یا «Hard code» برای توصیف کدهایی استفاده میشود که احتمال تغییر آنها وجود ندارد. ویژگیهای «سخت کدگذاری شده» (Hard Coded) طوری در سختافزار یا نرمافزار تعبیه شدهاند که بعداً نمیتوان آنها را تغییر داد. به عنوان مثال، اگر اندازه فونت در نرم افزار هاردکد برابر با ۱۰ باشد، ممکن است برای مدت طولانی تغییر نکند.
۷۳. کلمه کلیدی (Keyword)
کلماتی که توسط یک زبان برنامه نویسی یا یک برنامه به دلیل داشتن معنای خاص رزرو شدهاند، «کلمات کلیدی» یا «کلید واژه» نامیده میشوند. فرمانها یا پارامترها میتوانند از جمله کلمات کلیدی باشند که برای انجام وظایف خاصی رزرو شدهاند. هر زبان برنامه نویسی، مجموعهای از کلمات کلیدی رزرو شده (نامهای رزرو شده) است که نمیتوان از آنها به عنوان نام متغیر استفاده کرد. بازگشت (return)، «while» ،«if» ،«static» ،«continue» و «default» برخی از کلمات کلیدی زبان C به حساب میآیند.
۷۴. برنامه نویسی دو نفره یا Pair programming
«برنامه نویسی دو نفره»، یک شیوه برنامه نویسی در توسعه چابک نرم افزار است که در آن دو برنامه نویس پشت یک کامپیوتر مینشینند. یک نفر از آنها کدها را تایپ و دیگری آنها را بررسی میکند. این روش منجر به افزایش بحث و همکاری میشود.
۷۵. سیستم مدیریت پایگاه داده رابطه ای (RDBMS)
یک پایگاه داده رابطهای (Relational Database)، دادهها را از طریق سازماندهی آنها در جداولی که با یکدیگر مرتبط هستند، ساختاربندی میکند.
«سیستم مدیریت پایگاه داده رابطهای» (Relational Database Management System) که به اختصار RDBMS خطاب میشود، امکان ایجاد و مدیریت یک پایگاه داده رابطهای را در سیستم ذخیرهسازی کامپیوتر فراهم میکند.
فیلم های آموزش برنامه نویسی
پس از آشنایی با اصطلاحات برنامه نویسی، میتوان این بار با اطمینان و آمادگی بیشتری به سراغ یادگیری این مهارت مهم و حیاتی رفت و وارد دنیای پر رمز و راز برنامه نویسی شد. برای شروع یادگیری این مهارت، میتوان از دورههای آموزش برنامه نویسی فرادرس استفاده کرد. در سایت فرادرس، دورههای آموزشی مرتبط با یک موضوع خاص در قالب مجموعههای آموزشی گردآوری شدهاند تا بتوان راحتتر به آنها دسترسی پیدا کرد.
یکی از جامعترین و کاربردیترین مجموعههای آموزشی در وب سایت فرادرس، مجموعه آموزش برنامه نویسی است که در زمان تدوین این مقاله، بیش از ۵۰ عنوان و دوره در آن جمعآوری شدهاند. سطح یادگیری بسیاری از دورههای آموزشی این مجموعه مقدماتی است و این دورهها برای شروع بسیار کاربردی هستند. دورههای متعددی برای یادگیری هر یک از زبانهای برنامه نویسی مطرح و پراستفاده در این مجموعه قابل دسترسیاند. در ادامه، برخی از کلیدیترین دورههای این مجموعه به طور خلاصه معرفی شدهاند. این دورهها برای شروع میتوانند مناسب باشند:
- آموزش برنامه نویسی C (طول زمان: ۱۳ ساعت و ۳۰ دقیقه، مدرس: دکتر سید مصطفی کلامی هریس): در این دوره، علاوه بر مسائل تئوری، مسائل عملی هم به صورت جامع آموزش داده شدهاند. برای مشاهده فیلم آموزش برنامه نویسی C + کلیک کنید.
- آموزش برنامه نویسی پایتون - مقدماتی (مدت زمان: ۱۹ ساعت و ۵۳ دقیقه، مدرس: مهندس پژمان اقبالی شمس آبادی): این دوره آموزشی به مفاهیم پایهای و نحوه برنامه نویسی پایتون میپردازد و برای افراد مبتدی مناسب است. برای مشاهده فیلم آموزش برنامه نویسی Python - مقدماتی + کلیک کنید.
- آموزش مقدماتی برنامه نویسی C# (طول زمان: ۸ ساعت و ۱۸ دقیقه، مدرس: مهندس وحید اسدزاده): در این دوره آموزشی، مباحث ابتدایی تا پیشرفتهترین موارد برنامه نویسی سیشارپ ارائه شده و برای مخاطبین مبتدی هم مناسب است. برای مشاهده فیلم آموزش مقدماتی برنامه نویسی سی شارپ + کلیک کنید.
- آموزش برنامه نویسی اندروید - مقدماتی (مدت زمان: ۱۶ ساعت و ۸ دقیقه، مدرس: مهندس محمد مهدی علیزاده): این آموزش به اصول برنامه نویسی اندروید در محیط اندروید استودیو و اجزای اصلی برنامه و فراخوانی آنها در برنامه میپردازد. برای مشاهده فیلم آموزش برنامه نویسی Android - مقدماتی + کلیک کنید.
- آموزش برنامه نویسی PHP (طول زمان: ۲۹ ساعت و ۵ دقیقه، مدرس: دکتر سید مصطفی کلامی هریس): در این دوره آموزشی، تمامی نکات و مهارتهای لازم برای ورود به دنیای برنامه نویسی PHP و پیادهسازی وبسایت به سبک پویا و سادهترین شیوه ممکن ارائه میشود. برای مشاهده فیلم آموزش برنامه نویسی PHP + کلیک کنید.
- آموزش مقدماتی برنامه نویسی روبی (مدت زمان: ۱۰ ساعت و ۴۴ دقیقه، مدرس: میر حسن شمس موسوی): در این آموزش، اصول برنامه نویسی و مفاهیم مرتبط با پیادهسازی شیگرا ارائه میشود. برای مشاهده فیلم آموزش مقدماتی برنامهنویسی Ruby + کلیک کنید.
۷۶. زبان اسکریپت نویسی (Scripting Language)
«زبان اسکریپتی» یا «زبان اسکریپت نویسی»، نوعی از زبان برنامه نویسی برای سیستمهای زمان اجرا (Real Time) محسوب میشود. یک زبان اسکریپت نویسی، اجرای وظایف مختلفی که باید توسط یک انسان انجام شوند را از طریق یک اسکریپت، خودکارسازی میکند. همچنین، یک زبان اسکریپت نویسی امکان در کنار هم قرار گرفتن این وظایف در برنامهها را ممکن میسازد. به طور معمول در برنامه نویسی اسکریپتی تنها یک فایل قرار دارد که در آن بیشتر از چند هزار خط کد قرار نمیگیرد.
۷۷. اسپرینت (Sprint)
«Sprint»، یک دوره زمانی در توسعه نرم افزار است که در آن وظایف خاصی باید تکمیل شوند. تیمهای توسعه نرم افزار، کارهایی که باید انجام دهند را از طریق اسپرینت سازماندهی میکنند.
۷۸. تهی (Null)
مفهوم null در برنامه نویسی به معنی عدم وجود مقدار برای یک موجودیت یا مرجع است. مقدار Null، فقدان هر مقدار را تعریف میکند. کاراکتر Null، یک کد برنامه نویسی است که کاراکتر بدون مقدار، مقدار از بین رفته یا انتهای یک رشته کاراکتر را نشان میدهد. اگر متغیرهای برنامه به صورت زیر باشند:
1""=val1$
2"1"=val2$
آنگاه $val1 مقدار Null دارد.
۷۹. عملوند (Operand)
«عملوند» اصطلاحی برای نشان دادن اشیایی است که میتوان آنها را با استفاده از عملگرهای مختلف دستکاری کرد. در عبارت «A+F+Q» سه متغیر B ،A و C عملوند هستند.
۸۰. اشاره گر (Pointer)
«اشاره گر» در برنامه نویسی، متغیری است که آدرس یک مکان در حافظه را شامل میشود. مکان، نقطه شروع شیی، مانند عنصر آرایه یا یک عدد صحیح است. استفاده از اشاره گرها، عملکرد برنامه را بهبود میبخشد. زیرا کپی کردن و عدم ارجاع اشاره گرها از نظر زمانی و فضا، بهینهتر از کپی کردن و دسترسی مستقیم به دادههایی است که اشاره گر به آنها اشاره میکند.
۸۱. زبان CSS
«زبان CSS»، نوعی کدنویسی است که به وسیله آن ظاهر سایت کنترل و مدیریت میشود. CSS، کلمه اختصاری «Cascading Style Sheets» به معنای برگههای آبشاری و تکمیلکننده زبان نشانهگذاری HTML است.
زبان CSS، کارهایی مانند فرمدهی به صفحات HTML، تنظیم فونتها، رنگها و چیدمان عناصر صفحه وبسایت و بسیاری موارد دیگر را شامل میشود. برای آشنایی بیشتر با مفاهیم CSS، مطالعه مقاله زیر پیشنهاد میشود:
- مقاله پیشنهادی: مفاهیم مقدماتی CSS — آموزش CSS (بخش اول)
۸۲. انواع داده (Data Type) یکی دیگر از اصطلاحات برنامه نویسی
«انواع داده»، طبقهبندی نوع خاصی از دادهها است. انسانها میتوانند تفاوت بین اعداد و رشته را درک کنند، اما کامپیوترها متوجه آن نمیشوند. کامپیوترها، کدهای داخلی خاصی را استفاده میکنند تا بین انواع مختلف دادههایی که دریافت و پردازش میکنند، تمایز قائل شوند.
رایجترین انواع داده به شرح زیر هستند:
- int: نوع integer که اعداد صحیح محسوب میشوند.
- float: نوع داده عددی ممیز شناور (Floating Point) که اعداد مبتنی بر اعشار را شامل میشود.
- Bool: مقادیر بولی که TRUE یا FALSE هستند.
- char: نوع داده کاراکتری که حروف الفبا را پوشش میدهند.
۸۳. توسعه چابک نرم افزار (Agile Software Development)
«توسعه نرم افزاری چابک»، فرایند ساخت نرم افزار به صورت مرحلهای است. در این فرایند، کار به بخشهای پیوسته کوتاهی تقسیم میشود که به آن اسپرینت (Sprint) میگویند.
تیمهای جداگانه ممکن است روی بخشهای مختلف یک پروژه کار کنند که به این امر، توسعه چابک نرم افزار گفته میشود. برای اطلاعات بیشتر میتوان مقاله منتشر شده در این خصوص را مطالعه کرد:
- مقاله پیشنهادی: روش توسعه چابک نرم افزار (Agile Software Development) چیست؟
۸۴. زبان نشانه گذاری (Markup Language)
«زبان نشانهگذاری»، یک زبان برنامه نویسی محسوب میشود که خواندن و نوشتن آن آسان است. HTML، کلمه اختصاری «Hypertext Markup Language» به معنی زبان نشانهگذاری فوق متن و رایجترین زبان نشانهگذاری به حساب میآید.
یادگیری HTML برای طراحی وبسایت و صفحات وب، نسبتاً راحت است. برای نوشتن کد در زبانهای نشانهگذاری، باید از کلمات کلیدی و برچسبهای (Tag) نشانهگذاری استفاده کرد.
۸۵. AJAX ، یکی دیگر از اصطلاحات برنامه نویسی
«ایجکس»، کلمه اختصاری جاوا اسکریپت غیر همزمان (Asynchronous Javascript) یا ناهمگام و XML است. Ajax، مجموعهای از روشهای توسعه وب محسوب میشود.
این تکنیکهای توسعه وب به صفحات سایت اجازه میدهد تا محتوا را بدون نیاز به بارگذاری مجدد کل صفحه به صورت خودکار، تغییر دهند. به منظور آشنایی بیشتر با جاوا اسکریپت ناهمگام مطالعه مقاله زیر به علاقهمندان پیشنهاد میشود:
- مقاله پیشنهادی: معرفی جاوا اسکریپت ناهمگام — به زبان ساده
۸۶. انگولار (Angular.js)
«انگولار» در لغت به معنی زاویهدار است. در اصل، انگولار جی اس، فریم ورک فرانت اند و منبع باز جاوا اسکریپت برای ساخت وبسایت و وب اپلیکیشنهای پویا محسوب میشود.
انگولار، مجموعهای از قالبها و کدهای از پیش نوشته شده است.
برای آشنایی بیشتر با انگولار، مطالعه مقاله آموزشی زیر پیشنهاد میشود:
- مقاله پیشنهادی: آموزش انگولار رایگان (Angular) | از مقدماتی تا پیشرفته
۸۷. IntelliJ
به منظور شروع کدنویسی در زبان برنامه نویسی جاوا، میتوان از «IntelliJ» استفاده کرد که یک IDE برای نوشتن و اجرای کدها به حساب میآید. از این محیط به طور ویژه برای توسعه برنامهها استفاده میشود. این IDE، توسط شرکتی به نام JetBrains توسعه یافته که به طور رسمی IntelliJ نامیده میشود.
۸۸. یادگیری ماشین (Machine learning)
«یادگیری ماشین»، یکی از زیر مجموعههای هوش مصنوعی است. از طریق یادگیری ماشین، بدون این که برنامه نویسی خاصی برای کامپیوتر انجام شده باشد، میتواند کار موردنظر را انجام دهد.
در این روش، ماشینها (عمدتاً کامپیوترها) اجازه دارند تا به طور مستقیم با دادهها ارتباط باشند. همچنین میتوانند از این Data برای آموزش خود استفاده کنند. در سایت فرادرس چندین آموزش ویدیویی برای یادگیری ماشین ارائه شده است.
۸۹. لینوکس (Linux)
«لینوکس»، سیستم عاملی منبع باز محسوب میشود که برای اجرا روی انواع مختلفی از دستگاهها مانند لپتاپ، تلفن، تبلت، ربات و بسیاری از ابزارهای دیگر طراحی شده است. در واقع سیستم عامل اندروید هم مبتنی بر لینوکس است.
۹۰. شبکه عصبی (Neural Network)
«شبکههای عصبی» با نامهای «شبکههای عصبی مصنوعی» (ANN | Artificial Neural Networks) یا «شبکههای عصبی شبیهسازی شده» (SNN) نیز شناخته میشوند. شبکههای عصبی مصنوعی، رفتار مغز انسان را منعکس میکنند و به برنامههای کامپیوتری امکان میدهند که الگوها را تشخیص دهند و مسائل رایج در زمینههای هوش مصنوعی، یادگیری ماشین و یادگیری عمیق (Deep Learning) را حل کنند.
ANN، زیرمجموعهای از یادگیری ماشین است و جزئی از الگوریتمهای یادگیری عمیق هم محسوب میشوند. نام و ساختار شبکههای عصبی از مغز انسانها الهام گرفته است و از روشی سیگنالدهی نورونهای بیولوژیکی به یکدیگر، تقلید م کند. شبکههای عصبی از یک لایه ورودی، یک یا چند لایه پنهان و یک لایه خروجی تشکیل شدهاند. هر گره یا نورون مصنوعی به دیگری متصل میشود و دارای وزن (Weight) و آستانه (Threshold) مرتبط است.
۹۱. زبان برنامه نویسی اسکرچ (Scratch)
«زبان برنامه نویسی اسکرچ» یک زبان برنامه نویسی گرافیکی محسوب میشود که توسط MIT توسعه داده شده است.
این زبان برای کودکان نیز مناسب است که در آن میتوانند با استفاده از کشیدن و رها کردن بلوکهای از پیش تعریف شده با اصول پایهای برنامه نویسی آشنا شوند. همچنین ایجاد داستانهای تعاملی و بامزه را یاد بگیرند.
۹۲. تنسورفلو (TensorFlow)
«تنسورفلو»، کتابخانهای محسوب میشود که توسط گوگل برای تسهیل آموزش و ایجاد مدلهای یادگیری ماشین و شبکههای عصبی توسعه داده شده است. این کتابخانه، یکی از کتابخانههای بسیار محبوب برای زبان برنامه نویسی پایتون به حساب میآید.
۹۳. آموزش (Training) در یادگیری عمیق
«آموزش»، فرآیندی است که مقادیر زیادی داده را به یک الگوریتم میدهد تا الگوریتم بتواند تنظیم و بهبود پیدا کند، گویی مانند انسانها در حال یادگیری (Learning) است.
۹۴. بوت استرپ (Bootstrap)
«Bootstrap» با نام مستعار توییتر بوت استرپ نیز شناخته میشود و فریم ورکی منبع باز است. فریم ورک بوت استرپ شامل گروهی از قالبها برای ساخت قسمت فرانت اند (ظاهر) وبسایت است. Bootstrap مجموعه بزرگی از فایلهای HTML، شیوهنامه CSS و جاوا اسکریپت را شامل میشود.
این فریم ورک به صورت رایگان برای استفاده در دسترس است و در عین حال الگوهایی آماده با زبانهای CSS ،HTML و جاوا اسکریپت برای تولید و نمایش فرمها، دکمهها، تبها و سایر عناصر مورد نیاز در طراحی وبسایت دارند.
۹۵. زبان برنامه نویسی C
C، یک زبان برنامه نویسی همهمنظوره و سطح بالا است. این زبان برنامه نویسی قدرتمند و انعطاف پذیر، میتواند برای انواع مختلفی از برنامههای کاربردی از برنامههای تجاری گرفته تا مهندسی استفاده شود.
زبان برنامه نویسی C، بین برنامه نویسان کامپیوتر شخصی محبوبیت خاصی دارد. برای آشنایی بیشتر با زبان برنامه نویسی C، مطالعه مقاله آموزشی زیر پیشنهاد میشود:
- مقاله پیشنهادی: آموزش زبان C با یک پروژه ساده — راهنمای مقدماتی
۹۶. زبان برنامه نویسی C++
«سی پلاس پلاس»، یک زبان برنامه نویسی قدرتمند، سطح پایین و در عین حال همه کاره است. از زبان ++C، برای ساخت برنامههای سریع استفاده میشود. ++C در دستگاههای الکترونیکی کامپیوتری به طور رایج استفاده شده است.
برای آشنایی و درک مفاهیم بیشتر زبان برنامه نویسی C++، مطالعه مقاله آموزشی زیر پیشنهاد میشود:
- مقاله پیشنهادی: آموزش ++C — راهنمای شروع یادگیری
۹۷. ساختار نحوی (Syntax)
یکی از رایجترین اصطلاحات برنامه نویسی Syntax است. برنامه نویسی هم مانند زبانهای انسانی، مجموعهای از ترتیب، ساختار و قواعد خاص خود را در مورد نحوه انتقال عبارات دارند به مجموعه این قواعد، «سینتکس» یا «ساختار نحوی» (Syntax) گفته میشود. بسیاری از زبانهای برنامه نویسی ویژگیها، توابع و قابلیتهای مشابه زیادی را به اشتراک میگذارند، اما از نظر ساختار نحوی با یکدیگر متفاوت هستند. بدون استفاده صحیح از ساختار نحوی، نمیتوان یک برنامه اجرایی نوشت. همچنین، یک ساختار نحوی اشتباه منجر به بروز خطاهای بسیار زیادی میشود.
۹۸. زبان ماشین (Machine language)
«زبان ماشین» یا «کد ماشین» (Machine Code)، پایینترین سطح زبان برنامه نویسی (حتی پایینتر از زبان سطح پایین) محسوب میشود.
این زبان برنامه نویسی، فقط از ارقام باینری (۰ و ۱) و بیتها تشکیل شده است. در نتیجه، فقط کامپیوترها قادر هستند که این زبان را بخوانند.
برنامه نویسان کدها را به زبان سطح بالا مینویسند و سپس برای درک کدها توسط رایانه به زبان ماشین تبدیل میکنند. به عنوان مثال، کد زیر برای «Hello World» است:
101001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100
۹۹. زبان سطح بالا (High-Level Language)
«زبان سطح بالا» (HLL | High-Level Language) یک زبان برنامه نویسی است که به توسعهدهنده اجازه میدهد برنامهها را صرف نظر از ماهیت یا نوع کامپیوتر مورد نظر بنویسد. اما برای این که کامپیوتر، زبان سطح بالا را درک کند، باید آن زبان برنامه نویسی به زبان ماشین کامپایل شود.
HLLها سطح بالا در نظر گرفته میشوند زیرا به زبان انسان نزدیک هستند و برای انسان قابل درکترند. همچنین از زبانهای ماشین دورتر هستند و نیاز به کامپایل دارند. زبانهایی مانند BASIC ،C++ ،C، پاسکال (Pascal)، پرولوگ (Prolog) و فرترن (FORTRAN) از جمله زبانهای برنامه نویسی سطح بالا محسوب میشوند.
۱۰۰. زبان سطح پایین (Low-Level Language)
«زبان سطح پایین» (LLL | Low-Level Language)، زبانی بسیار نزدیک به زبان ماشین است و انتزاع کمی از مفاهیم برنامه نویسی ارائه میکند. زبانهای سطح پایین به سخت افزار و زبان ماشین نزدیکتر هستند و با زبان انسان فاصله دارند. بنابراین درک این نوع از زبانها برای انسان سختتر است.
زبان اسمبلی (Assembly Language) و کد ماشین، رایج ترین نمونههای زبانهای برنامه نویسی سطح پایین محسوب میشوند. برای آشنایی بیشتر با زبان برنامه نویسی سطح بالا و سطح پایین، مطالعه مقاله آموزشی زیر پیشنهاد میشود:
- مقاله پیشنهادی: برنامه نویسی سطح بالا و پایین چیست؟ | به زبان ساده
۱۰۱. زبان سطح میانی (Middle-Level Language)
«زبان سطح میانی» (MLL | Mid-Level) بین زبانهای سطح پایین و سطح بالا قرار دارد. این نوع از زبان، یک زبان برنامه نویسی کامپیوتری محسوب میشود که با مقداری انتزاع با سیستم کامپیوتری در ارتباط است. زبان برنامه نویسی C، نمونهای از زبان سطح میانی به حساب میآید. با استفاده از زبان C، کاربر قادر به انجام برنامه نویسی سیستم برای نوشتن سیستم عامل و همچنین برنامه نویسی اپلیکیشن است. جاوا و ++C نیز از جمله زبانهای سطح میانی محسوب میشوند.
۱۰۲. پکیج (Package)
«پکیج» (Package | بسته) ماژولی سازمانیافته از رابطها و کلاسهای مرتبط است. پکیجها برای سازماندهی کلاسهایی استفاده میشوند که به یک دسته تعلق دارند یا عملکردهای مرتبطی را ارائه میدهند.
۱۰۳. زمان اجرا (Runtime)
«زمان اجرا» ( Execution Time| Runtime)، بازه زمانی است که در واقع در طی آن یک برنامه بر روی کامپیوتر اجرا میشود. زمان اجرا بخشی از چرخه عمر برنامه محسوب میشود و زمان بین شروع اجرای برنامه تا زمانی که برنامه توسط سیستم عامل یا کاربر بسته شود را Runtime میگویند.
۱۰۴. برنامه نویسی سمت کاربر (Client-Side Development)
Client-Side Development، یکی از اصطلاحات رایج برنامه نویسی است که حوزه کاری توسعه دهنده وب را به صورت دقیقتری مشخص میکند. «توسعه سمت کاربر» یا «توسعه سمت مشتری» که به آن «برنامه نویسی سمت کلاینت» میگویند، شامل برنامههایی میشود که روی دستگاه کاربر یا مشتری (Client) اجرا میشوند. توسعهدهندگان سمت کاربر روی ساخت بخشی از وبسایت تمرکز میکنند که کاربر میتواند با آن تعامل داشته باشد و آن را ببیند.
بعضی مواقع به برنامه نویسی سمت کلاینت، توسعه فرانت اند (Front End) هم گفته میشود، چون تمرکز آن روی بخش «جلوی» یک اپلیکیشن است که کاربر میتواند آن را ببیند. در ادامه به توسعهدهنده بک اند به عنوان یکی دیگر از اصطلاحات برنامه نویسی وب پرداخته میشود که تکمیلکننده توسعه سمت کاربر برای ارائه سایتی با قابلیتهای بالا است.
۱۰۵. بک اند (Back End) ، یکی دیگر از اصطلاحات برنامه نویسی
«بک اند» روی برنامه نویسی پشت صحنه تمرکز دارد. در این نوع توسعه، تعامل بین کاربران یا مرورگرهای وب با سرورهای وبسایت برقرار میشود. وظیفه Back-End، کاری است که در پشت صحنه با تعامل مستقیم کاربر انجام میشود.
به طور مشابه، توسعهدهنده بک اند، شخصی است که برنامههایی را طراحی میکند که دادهها را پردازش میکنند و کارهایی انجام میدهند که کاربران نمیتوانند مستقیماً آنها را ببینند. برای آشنایی بیشتر با وظایف و مهارتهای برنامه نویس فرانت اند، بک اند و توسعهدهنده فول استک مطالعه مقاله زیر پیشنهاد میشود:
۱۰۶. برنامه نویسی سمت سرور (Server-Side Programming)
«توسعه سمت سرور» یا برنامه نویسی سمت سرور، برنامههایی را شامل میشود که روی سرور اجرا شوند. هنگامی که پردازشها و فرایندها روی سرور انجام میشوند، آن توسعه، سمت سرور در نظر گرفته میشود. از سوی دیگر، توسعه سمت کاربر برای کاربر یا مشتری قابل دیدن است.
بسیاری از زبانهای برنامه نویسی مانند پرل (Perl)، PHP و ASP برای برنامه نویسی سمت سرور طراحی شدهاند. با گسترش اینترنت، تقریباً همه وبسایتها از پردازش سمت سرور و سمت کاربر استفاده میکنند. موتور جستجو (Search Engine)، مثالی عالی از اسکریپت سمت سرور است.
۱۰۷. داده منبع (Source Data)
«داده منبع» (Source Data) یا «منبع داده» (Data Source)، همان مکان اصلی است که دادهها از آن گرفته شدهاند و در برنامه استفاده میشوند. دادههای منبع میتوانند از یک پایگاه داده (Database)، صفحه گسترده (Spreadsheet) یا حتی مکان دادهای با کد سخت به دست بیایند. زمانی که برنامهای برای نمایش دادهها در یک جدول اجرا میشود، برنامه دادههای مورد نیاز خود را از منبع خود بازیابی میکند و سپس آن را به ترتیبی که در کد تعریف شدهاند، ارائه میدهد.
۱۰۸. رمز (Token)
توکن (رمز | Token) کوچکترین واحد منحصر به فرد در یک برنامه است که اغلب به بخشی از یک قطعه داده بسیار بزرگتر اشاره دارد. به عنوان مثال، اگر نام شخصی John Thomas Wood باشد، میتوان آن را به توکنهای «John»، «Thomas» و «Wood» تقسیم کرد. سپس برنامه نویس میتواند، فقط از بخش یا توکنی که میخواهد استفاده کند. توکنها به کلمات کلیدی، شناسهها (Identifier)، علائم و مقادیر (literal)، عملگرها و نشانهها (Punctuator) طبقهبندی میشوند.
۱۰۹. داده (Data)
«دادهها» یا «اطلاعات»، مجموعهای از یک واحد کوچک مجزا از اطلاعات محسوب میشوند که در شکلهای مختلفی مانند متن، اعداد، رسانه، بایت و موارد دیگر در دسترس هستند. Data، یکی از اصطلاحات برنامه نویسی است که در حوزههای مختلفی مانند پایگاه دادهها و حتی برای حوزههای کلیتری مانند علوم کامپیوتر کاربرد دارد.
دادهها را میتوان در تکههای کاغذ یا حافظه الکترونیکی رایانه یا جاهای دیگر ذخیره کرد. کلمه «Data» از «Datum» به معنای بخشی واحد از اطلاعات گرفته شده است. به عبارتی Data، جمع کلمه Datum به حساب میآید. در محاسبات کامپیوتری، دادهها اطلاعاتی هستند که برای پردازش و اقدامات کارآمد به شکل دیگری از اطلاعات تبدیل میشوند.
۱۱۰. پایگاه داده (Database)
«پایگاه داده» یا «بانک اطلاعاتی»، مجموعهای از دادههای سازمانیافته است که به راحتی قابل دسترسی و مدیریت هستند. در پایگاه داده، دادهها و اطلاعات در جدولها، ردیفها و ستونها سازماندهی و فهرستبندی (Index) میشوند.
سازماندهی و فهرستبندی دادهها باعث میشود که پیدا کردن اطلاعات مرتبط، آسانتر شود. کنترلکنندههای (Handler) پایگاه داده به نحوی پایگاه داده را ایجاد میکنند که فقط یک مجموعه برنامه نرم افزاری، دسترسی به دادهها را برای همه کاربران فراهم میکند. مدیریت اطلاعات ذخیره شده در دیتابیس به وسیله کاربر و از طریق سیستم مدیریت پایگاه داده (DBMS) صورت میگیرد.
هدف اصلی پایگاه داده این است که حجم زیادی از اطلاعات را از طریق ذخیره، بازیابی و مدیریت دادهها به کار گیرد. پایگاه دادههای Oracle ،SQL Server ،MySQL ،MongoDB و پایگاه داده PostgreSQL از جمله پایگاه دادههای رایج محسوب میشوند.
۱۱۱. دارت (Dart)
«دارت»، یک زبان برنامه نویسی سمت کاربر، مبتنی بر وب و منبع باز محسوب میشود که توسط گوگل ایجاد شده است و برای توسعه اپلیکیشنهای وب و موبایل به کار میرود. همچنین میتوان برای ساخت برنامههای کاربردی سرور و دسکتاپ از آن استفاده کرد.
دارت یک زبان شی گرا و مبتنی بر کلاس نیز هست. برای یادگیری زبان برنامه نویسی دارت، مطالعه مقاله آموزشی زیر پیشنهاد میشود:
- مقاله پیشنهادی: مفاهیم مقدماتی زبان برنامه نویسی دارت (Dart) – بخش اول
۱۱۲. اشکال زدایی (Debugging)
«اشکالزدایی» (Debugging | عیبیابی | خطایابی | دیباگ کردن)، یکی از اصطلاحات برنامه نویسی پایه محسوب میشود که به فرایندی تحلیلی برای حذف خطاها اشاره دارد. اشکال زدایی در برنامه نویسی و مهندسی کامپیوتر، فرآیندی چند مرحلهای است که شامل شناسایی یک مشکل، جداسازی منبع مشکل، و سپس درست کردن مشکل یا تعیین راهی برای حل آن است. مرحله پایانی عیبیابی، آزمون رفع خطا یا راه حل جایگزین و اطمینان از کارکرد صحیح آن محسوب میشود.
۱۱۳. اشکال یاب (Debugger)
اشکالیاب (Debugger | عیبیاب)، توسعهدهنده یا نرم افزاری رایانهای است که وظیفه پیدا کردن و رفع خطاها و مشکلات را بر عهده دارد.
۱۱۴. اعلان (Declaration)
«اعلان»، عبارتی است که یک متغیر یا تابع را توصیف میکند. هدف اعلان، شناسایی یک کلمه و معنی برای ادامه روند است. به عبارت دیگر، اعلان در برنامه نویسی کامپیوتر، نام و نوع داده یک متغیر یا عنصر دیگر را مشخص میکند. برنامه نویسان متغیرها را با نوشتن نام متغیر در کد، همراه با نشانگرهای هر نوع داده و دیگر ساختار نحوی مورد نیاز تعیین میکنند.
۱۱۵. تجزیه کردن (Decompose)
«تجزیه» یا «Decompose» کد، تمرینی عالی است که فرد در کد خود، کار بزرگی را به وظایف کوچکتری تقسیم میکند. این کار، امکان خوانایی بیشتر و استفاده مجدد از کد را فراهم میکند.
۱۱۶. HTTP
«HTTP» کلمه اختصاری «HyperText Transfer Protocol» است. «اچ تی تی پی»، پروتکلی کاربردی است که برای ساختاربندی درخواستها و پاسخها از طریق اینترنت استفاده میشود. پروتکل HTTP، پایه و اساس ارتباطات در سراسر اینترنت است! به عبارت دیگر این پروتکل، همه فایلها و دادهها را در شبکه جهانی وب توزیع میکند.
HTTP بر اساس مدل سرویس گیرنده-سرویسدهنده (Client-Server) کار میکند که مرورگر در حال تبدیل شدن به سرویس گیرنده HTTP است و اتصال ی را باز میکند. سپس یک پیام درخواست را به سرور HTTP ارسال میکند، سرور، پیام پاسخی را برمیگرداند که شامل منبع درخواست شده است.
۱۱۷. مفسر (Interpreter)
«مفسر»، برنامهای است که کد را اجرا میکند. کد منبع زبانهایی که کامپایل نشدهاند، مستقیماً از طریق مفسر اجرا میشود. به عبارت دیگر، تفسیر شده بودن یک زبان به این معناست که برای خواندن و اجرای کد منبع به برنامهای متفاوت (به نام مفسر) نیاز دارد. مفسرها از طریق هر خط برنامه اجرا میشوند. همچنین، آنها برای اطمینان از درست نوشته شدن کد، هر خط از کد را تایید میکنند. اگر مفسر با هر گونه خطایی در کد مواجه شود، پیامی را نشان میدهد که شامل نوع خطا و محل وقوع آن در کد است. به عنوان مثال، زبان برنامه نویسی پایتون، زبانی تفسیر شده است.
هنگام نصب نرم افزار پایتون روی کامپیوتر، مفسر پایتون نیز به همراه آن نصب میشود. با نوشتن کلمه python در «شل» (SHELL) یا «پوسته» میتوان به سادگی از مفسر استفاده کرد. اگر پس از انجام این کار، نماد (<<<) مشاهده شود به معنای این است که حالت تعاملی فعال شده است. همچنین پیام خوشآمدگویی نمایش داده میشود که نسخه پایتون نصب شده را نشان میدهد.
۱۱۸. جی کوئری (JQuery)
«جی کوئری»، کتابخانه چند پلتفرمی (Cross-Platform) جاوا اسکریپت است که برای آسانتر کردن اسکریپت نویسی سمت کاربر HTML استفاده میشود. امروزه، JQuery محبوبترین کتابخانه جاوا اسکریپت محسوب میشود که در آمار و بررسیها روی سیستم بیش از ۶۵٪ توسعهدهندگان نصب شده است.
۱۱۹. پشته (Stack)
«استک» یا «پشته»، لیست یا آرایهای از فراخوانیها و پارامترهای تابع استفاده شده در برنامه نویسی است.
۱۲۰. LAMP Stack
«پشته LAMP»، پلتفرم وب منبع باز محبوبی به حساب میآید که برای اجرای وبسایتها و سرورهای پویا (Dynamic) استفاده میشود. پشته LAMP در بین مشاغل کوچک و بزرگ وب محبوب است. شرکت تسلا هم از فناوری LAMP Stack استفاده میکند. LAMP کلمه اختصاری است و این پشته معمولاً از سیستم عامل لینوکس، سرور HTTP آپاچی، سیستم مدیریت پایگاه داده رابطهای MySQL و زبان برنامه نویسی PHP تشکیل میشود.
۱۲۱. MEAN Stack
یک پشته نرم افزاری جاوا اسکریپت منبع باز و رایگان است که وبسایتها و برنامههای کاربردی وب را در سطح بالایی ایجاد میکند. کلمه MEAN شامل Express.js ،MongoDB و Angular.js است که روی Node.js اجرا میشوند. تمام توسعهدهندگان MEAN Stack، توسعهدهندگان Full Stack هستند، اما عکس این قضیه صادق نیست. توسعهدهندگان Full Stack روی مهارتهای بسیاری تسلط دارند که در حوزه کاری توسعهدهندگان MEAN Stack نبوده است.
۱۲۲. MVC از جمله اصطلاحات برنامه نویسی سی شارپ
MVC، سرنامی برای عبارت «Model-View-Controller» است. MVC یک الگوی طراحی نرم افزاری است که برای پیادهسازی رابطهای کاربری (User Interface) استفاده میشود. الگوی MVC، نحوه ارتباط اشیاء را با یکدیگر در یک برنامه تعریف میکند. رابطهای MVC به خوبی تعریف شدهاند و قابل توسعه و قابل استفاده مجدد هستند.
۱۲۳. متن باز یا اپن سورس
نرم افزار «منبع باز» (Open Source) یا «متن باز»، نرم افزاری است که کد منبع اصلی آن در دسترس است. بنابراین هر کاربر میتواند بر اساس نیاز خود آن را تغییر دهد و مجدداً توزیع کند. هر برنامه نویس میتواند به طوری که برنامه یا اپلیکیشن بتواند کار کند، نرم افزار را دستکاری کند و تغییر دهد.
۱۲۴. سیستم عامل (Operating System)
«OS» عبارت اختصاری «سیستم عامل» (Operating System) است. سیستمعامل، مهمترین بخش از نرم افزار در یک کامپیوتر محسوب میشود، زیرا کارهای اساسی کامپیوتر مانند حافظه و پردازش را کنترل میکند.
در صورت تمایل به درک بیشتر مفاهیم سیستم عامل، مطالعه مقاله آموزشی زیر پیشنهاد میشود:
- مقاله پیشنهادی: مفاهیم سیستم عامل — راهنمای جامع
۱۲۵. زبان PHP
زبان «PHP» یا «Hypertext Preprocessor» یک زبان اسکریپتی محبوب سمت سرور است که برای ایجاد صفحات وب HTML پویا و تعاملی استفاده میشود.
پی اچ پی، قابلیتهای موردنیازی را اضافه میکند که به تنهایی با استفاده از زبان نشانهگذاری HTML قابل دستیابی نیست. زبان PHP، بسیار قوی است و سایتهایی مانند ویکیپدیا و فیسبوک از آن استفاده کردهاند.
۱۲۶. پایتون (Python)
پایتون یک زبان برنامه نویسی بسیار محبوب، سطح بالا و همهمنظوره (General-Purpose) است که برای توسعه نمونه اولیه، محاسبات علمی، کدنویسی وبسایتها و برنامههای کاربردی، یادگیری ماشین و هوش مصنوعی استفاده میشود. استفاده از پایتون آسان است، همچنین این زبان، سرعت بالا و پیچیدگی کمتری نسبت به روبی (Ruby) و سایر زبانهای برنامه نویسی شیءگرای مشابه دارد.
پایتون، زبانی منبع باز است و زبان پایه برای اکثر وبسایتهایی محسوب میشود که امروزه در بستر اینترنت کار میکنند. در سایت فرادرس، آموزشهای زبان برنامه نویسی پایتون و همچنین آموزشهای پروژه محور زیادی منتشر شده است که برای آشنایی بیشتر با زبان برنامه نویسی پایتون، مشاهده آنها پیشنهاد میشود.
۱۲۷. زبان برنامه نویسی R
«زبان برنامه نویسی R» برای محاسبات آماری و گرافیکی طراحی شده است و توسط تیم R Core و بنیاد R برای محاسبات آماری پشتیبانی می شود. R، یکی از ملزومات برای حوزههای علم داده (Data Sciences) و آمار به حساب میآید که برای تجزیه و تحلیل دادهها و توسعه نرم افزارهای آماری استفاده میشود.
۱۲۸. React
«ری اکت»، یک کتابخانه منبع باز جاوا اسکریپت است که نمایی برای رابطهای کاربری ارائه میدهد. این کتابخانه توسط فیسبوک نگهداری میشود. React.js، فناوری جدیدی است که امکان افزایش سریع توسعه را با جدیدترین فناوریها فراهم میکند.
۱۲۹. خواندن (Read)
به بازیابی دادههای ورودی از منابع خارجی مانند فایلها، عمل خواندن گفته میشود.
۱۳۰. مقدار بازگشتی (Return Value)
«مقدار بازگشتی»، مقداری است که از فراخوانی کامل تابع حاصل میشود. بازگشت به معنای توقف اجرای تابع است، بنابراین یک مقدار بازگشتی ارائه میکند.
۱۳۱. روبی (Ruby)
روبی، یک زبان برنامه نویسی همه منظوره، پویا و منبع باز محسوب میشود که ساده و بسیار کارآمد است. روبی برای ایجاد اپلیکیشنهای وب، وبسرورها، کتابخانههای گرافیکی، موتورهای شناسایی تصویر و موارد دیگر به کار میرود.
۱۳۲. Ruby on Rail
«Ruby on Rail» یا «RoR»، یک فریم ورک برنامه کاربردی Full-Stack وب است. این فریم ورک ساده و بسیار کارآمد روی زبان برنامه نویسی روبی کار میکند. RoR، یک فریم ورک مدل MVC محسوب میشود که ساختارهای پیشفرض برای دیتابیس سرور وب و صفحات وب ارائه میکند.
۱۳۳. سرور (Server)
«سرورها»، کامپیوترهایی هستند که برای ذخیره دادهها و مدیریت ارتباطات شبکه کنار گذاشته شدهاند. همه وبسایتها روی سرورهای وب میزبانی میشوند. به بیان دیگر، سیستمهایی که به سیستمهای دیگری سرویس میدهند، سرور نامیده میشوند. به سیستمهایی که از سرورها خدمات دریافت میکنند هم مشتری، کلاینت یا خدمات گیرنده (Client) گفته میشود.
۱۳۴. ایکس کد (Xcode)
«ایکس کد»، یک IDE است که طیف وسیعی از ابزارهای نرم افزاری اپل برای macOS ،iOS ،WatchOS و tvOS را در برمیگیرد.
۱۳۵. XML
«XML» به عنوان «زبان نشانهگذاری توسعهپذیر» (Extensible Markup Language) شناخته میشود. این زبان، مجموعهای از دستورالعملها را برای رمزگذاری اسناد در قالبهای (Format) قابل خواندن برای ماشین و انسان تعریف میکند. برخلاف HTML، زبان XML این امکان را فراهم میکند که اسناد در انواع فرمتهای اضافی در خارج از مرورگر وب نمایش داده شوند.
۱۳۶. مقدار (Value)
«مقدار»، قطعهای از داده است که در یک متغیر قرار دارد. Value، نشاندهنده اطلاعاتی است که کد میتواند روی آن کار کند.
۱۳۷. برنامه نویسی دسکتاپ (Desktop Programming)
«توسعه دسکتاپ» یا «برنامه نویسی کامپیوتر» به معنی توسعه هر نوع نرم افزار کامپیوتری است که به طور مستقیم روی سیستم عامل کامپیوتر اجرا شود. این نوع از برنامهها برای اجرا به مرورگر نیازی ندارند.
۱۳۸. برنامه های کاربردی بومی (Native App)
«اپلیکیشنهای بومی» (Native App| برنامههای کاربردی اختصاصی)، اپلیکیشنهایی هستند که برای سیستم عامل خاصی ایجاد شدهاند و امکان استفاده از آنها روی دستگاههای دیگر وجود ندارد. به عنوان مثال، اپلیکیشنهای ساخته شده برای سیستم عامل اپل را نمیتوان برای اندروید استفاده کرد.
۱۳۹. علم داده (Data Science)
«علم داده» شامل آمادهسازی دادهها (Data Preparation) برای تجزیه و تحلیل از جمله پاکسازی (Cleansing)، جمعآوری و دستکاری دادهها (Data Manipulation) برای تجزیه و تحلیل پیشرفته دادهها است. سپس دانشمندان داده میتوانند نتایج را برای پیدا کردن الگوها و توانمندسازی سازمانها بررسی کنند.
۱۴۰. همه منظوره (General-Purpose)
در نرم افزار کامپیوتر، زبان برنامه نویسی «همهمنظوره»، زبانی است که برای ساخت نرم افزار در طیف گستردهای از حوزههای کاربردی طراحی شده است. به عبارت دیگر، این نوع از زبانهای برنامه نویسی در حوزههای مختلفی کاربرد دارند.
۱۴۱. پلتفرم (Platform) ، از دیگر اصطلاحات برنامه نویسی
«پلتفرمها»، گروهی از فناوریها هستند که به عنوان پایهای برای توسعه اپلیکیشنها، فرآیندها یا فناوریهای دیگر استفاده میشوند.
۱۴۲. چند پلتفرمی (Multi Platform)
اصطلاح «چندپلتفرمی»، معمولاً به معنی قابلیت اجرای برنامه روی دو یا چند پلتفرم سخت افزاری مختلف است. به عنوان مثال، وقتی نسخههایی از یک نرمافزار برای محیطهای دسکتاپی ویندوز و مک قابل استفاده باشند، یعنی آن نرم افزار چندپلتفرمی است. همچنین نرمافزاری که هم برای گوشیهای موبایل مبتنی بر iOS و هم برای اندروید ارائه میشود نیز برنامه چندپلتفرمی محسوب میشوند. «مفسر» (Interpreter) معمولاً چندپلتفرمی است.
۱۴۳. متلب (Matlab)
متلب، یک زبان برنامه نویسی چند پارادایمی (Multi Paradigm) اختصاصی و محیط محاسبات عددی است که توسط MathWorks توسعهیافته و برای پردازش اطلاعات ریاضی به کار میرود. Matlab، نرم افزاری منبع باز است که پیادهسازی توابع ماتریسی، الگوریتمها و مدلسازی دادهها را آسانتر میکند.
۱۴۴. تو در تو (Nested)
توابع یا اشیایی که در یک تابع یا شی دیگری قرار دارند به عنوان تابع یا شی «تو در تو» (NESTED) شناخته میشوند. بنابراین تابعی که به طور کامل در تابع دیگری قرار دارد یک تابع تو در تو به حساب میآید.
۱۴۵. کامنت (Comment)
«کامنت»، متنی دلخواه است که اطراف کد نوشته میشود. این متن بههیچوجه اجرا نخواهد شد و توسط کامپیوتر نادیده گرفته میشود. این متن معمولاً برای خوانایی بیشتر کد در زمان نیاز به مرور مجدد یا به عنوان یادداشتی برای افرادی استفاده میشود که بعداً میخواهند کد را بخوانند.
۱۴۶. موتور جستجو (Search Engine)
«موتور جستجو»، برنامهای است که مواردی که با کلمات کلیدی یا کاراکترهای مشخص شده توسط کاربر مطابقت دارد را در یک پایگاه داده، جستجو و شناسایی میکند. موتورهای جستجو به طور خاصی برای پیدا کردن سایتهای خاص در بستر وب جهانی کاربرد دارند.
۱۴۷. قابل اجرا (Executable)
به برنامهای که معمولاً در یک فایل واحد وجود دارد و آماده اجرا است، «قابل اجرا» (Executable) گفته میشود.
۱۴۸. کوبول (COBOL)
«زبان برنامه نویسی Cobol»، مخفف عبارت «Common Business Oriented Language» به معنی «زبان مشترک تجارت محور» است. COBOL برای امور مالی، منابع انسانی و برنامههای کامپیوتری تجاری دیگر طراحی شده است. اگرچه کوبول یک زبان کامپیوتری سطح بالا محسوب میشود، اما از کلمات و عبارات انگلیسی برای کمک به کاربران تجاری خود استفاده میکند.
۱۴۹. براکت (Bracket)
«براکتها»، کاراکترهایی هستند که برای احاطه کردن متن استفاده میشوند. دو نوع براکت باز و بسته «{}» وجود دارد که به ترتیب برای باز و بسته کردن کد استفاده میشوند. به این براکتها، براکتهای پیچشی یا مجعد گفته میشود. انواع مختلف براکتها در ادامه فهرست شدهاند:
- پرانتز یا براکت گرد: ( )
- براکتهای زاویهای: < >
- براکت مربع: [ ]
۱۵۰. گیت (Git)
«گیت»، نرم افزاری رایگان است که امکان ردیابی تغییرات در هر مجموعهای از فایلها را ممکن میکند. Git، سیستم کنترل نسخه (Version Control System) توزیع شده متنبازی محسوب میشود که از پروژههای کوچک گرفته تا پروژههای گسترده، میتواند همه چیز را را با سرعت و کارایی مدیریت کند. یکی از کاربردهای سیستم کنترل نسخه Git، هماهنگ کردن کارها بین برنامه نویسانی است که کد منبع را به صورت مشارکتی در طی توسعه نرم افزار توسعه میدهند.
۱۵۱. گیت هاب (GitHub)
«گیت هاب»، یک سرویس اشتراکگذاری فایل یا کد است که به کاربران امکان میدهد تا با دیگران همکاری کنند. گیت هاب، پلتفرمی پیچیده است که توسعهدهندگان را به همکاری و ارتباط تشویق میکند. سرویس گیت هاب، ویژگیهای زیادی دارد که اجازه میدهند این همکاریها اتفاق بیفتد. تیمهای توسعهدهندگان میتوانند در یک پروژه همکاری کنند و به راحتی نسخه جدیدی از نرم افزار را بدون تداخل با نسخههای موجود ایجاد کنند.
۱۵۲. برنامه نویسی مبتنی بر بلوک (Block-Based)
«در برنامه نویسی مبتنی بر بلوک»، کاربران میتوانند برنامههایی را از طریق کشیدن و رها کردن بلوکهای کد برنامه ایجاد کنند. این نوع برنامه نویسی، یک زبان برنامه نویسی بصری محسوب میشود. به عنوان مثال، اسکرچ یک زبان برنامه نویسی مبتنی بر بلوک است.
۱۵۳. برنامه نویسی مبتنی بر متن (Text-Based)
«برنامه نویسی مبتنی بر متن» بر خلاف برنامه نویسی مبتنی بر بلوک، عمدتاً با متن انجام میشود. این زبانهای برنامه نویسی از بلوک استفاده نمیکنند و به جای آن با استفاده از صفحه کلید، تایپ و به عنوان فایل متنی ذخیره میشوند.
۱۵۴. هوش مصنوعی (Artificial Intelligence)
«هوش مصنوعی» (AI)، هوش انسان را از طریق اقداماتی مانند یادگیری و حل مسئله در کامپیوتر شبیهسازی میکند.
AI در حوزههایی مانند سیستمهای توصیهگر (سامانههای پیشنهادگر | Recommendation Systems)، ماشینهای خودران و پردازش زبان طبیعی کاربرد دارند.
۱۵۵. زبان های برنامه نویسی آسنکرون (Asynchronous)
در حالت معمول، کد برنامه به طور خطی و مستقیم اجرا میشود و در هر لحظه فقط یک وظیفه در حال انجام است. به عنوان مثال در صورتی که تابعی برای اجرا به نتیجه تابع دیگری احتیاج داشته باشد، باید تا زمانی که تابع دیگر کار را تمام کند و نتیجه را برگرداند، منتظر بماند. ولی در «زبانهای برنامه نویسی ناهمگام» یا «ناهمزمان»، امکان وقوع رویدادها به موازات برنامه اصلی وجود دارد. این ویژگی، باعث افزایش سرعت فرایندها میشود. برای آشنایی بیشتر با مفهوم برنامه نویسی ناهمگام مطالعه مقاله زیر پیشنهاد میشود.
۱۵۶. ساختمان داده (Data structure)
«ساختار داده» یا «ساختمان داده (Data structures)» روشهایی برای سازماندهی اطلاعات هستند تا بتوان از آنها به طور مؤثرتری در کد خود استفاده کرد. آرایههایی که دادههای مرتب شده یا دیکشنریهایی که یک کلید را به یک مقدار نگاشت میکنند را در پایتون ذخیره میکنند، نمونهای از ساختمان داده محسوب میشوند.
۱۵۷. لاراول (Laravel)
یکی از اصطلاحات برنامه نویسی نامآشنا برای توسعهدهندگان سمت سرور، فریم ورک «لاراول» است. لاراول، محبوبترین چارچوب نرم افزاری رایگان جهان است. از طریق این فریم ورک میتوان اپلیکیشنهای پیچیده وب را به صورت ایمن و با سرعت بیشتری نسبت به فریم ورکهای دیگر راهاندازی کرد. این فریم ورک معمولاً برای زبان PHP استفاده میشود.
۱۵۸. کدایگنایتر (CodeIgniter)
«کدایگنایتر» یکی از فریم ورکهای PHP است که برای توسعه وبسایتهای پویا به کار میرود. این فریم ورک با استفاده از ماژولهای از پیش ساخته شده به ایجاد مولفههای قوی و قابل استفاده مجدد کمک میکند.
۱۵۹. کتابخانه (Library)
فایلی، شامل دستهای کد که به عنوان میانبر برای انجام چیزهای پیچیده استفاده میشود را «کتابخانه» (Library) میگویند. استفاده از کتابخانهها روشی کوتاه محسوب میشوند که به برنامه نویس امکان میدهد که راحتتر کار کنند. برای آشنایی بیشتر با مفهوم کتابخانه در برنامه نویسی مطالعه مقاله آموزشی زیر پیشنهاد میشود:
۱۶۰. DevOps
«دواپس» مخفف «Development Operations به معنای عملیات توسعه است. مهندسان DevOps روی چیزی تمرکز میکنند که صفحات وب به اینترنت ارائه میکنند.
به بیان دیگر، آنها با زیرساخت کلی یک محصول کار میکنند. این مهندسان با ابزارهای AWS ،Kubernetes، آژور (Azure) یا Google Cloud Platform کار میکنند تا برای یک محصول، میزبانی وب ایجاد کنند و مطمئن شوند که هر کاربر میتواند در صورت نیاز با وبسایت در تعامل باشد.
۱۶۱. کیوی (Kivy)
«کیوی» یک کتابخانه توسعه GUI چند پلتفرمی منبع باز برای پایتون است و میتواند روی ویندوز، اندروید، iOS ،OS X و GNU/Linux اجرا شود. این کتابخانه به توسعه اپلیکیشنهایی که رابط کاربری چند لمسی (Multi Touch) و ابداعی دارند، کمک میکند.
ایده اصلی Kivy، این است که توسعهدهنده را قادر کند تا فقط یک بار برنامهای را بسازد و از آن در همه دستگاهها استفاده کند. این ابزار، کد را قابل استفاده مجدد و قابل استقرار میکند. همچنین امکان طراحی تعاملی سریع و آسان و نمونهسازی اولیه سریع را فراهم میکند. به طور خلاصه، کیوی، ابزاری است که امکان ساخت اپلیکیشنهای موبایل را با پایتون میسر میکند.
۱۶۲. برنامه نویسی قطعه محور (Component-Oriented)
«برنامهنویسی کامپوننت-محور» یا «COP» به معنی قرار دادن کامپوننتهایی در کنار هم با قابلیت استفاده مجدد است. این نوع از برنامه نویسی، ممکن است دارای امکانات زبانهای برنامه نویسی شی گرا باشد یا از این قابلیت بهرهمند نباشد. مولفهها را میتوان در هر پارادایم، ماژولار (Modular)، تابعی، رویهای، شی گرا و موارد دیگر طراحی کرد. همچنین میتواند موجودیت مستقلی باشد و اجزای آن با یکدیگر جایگزین شوند.
۱۶۳. رشته (Thread)
«Thread» (نخ | رشته)، جریان متوالی منحصر به فردی از کنترل در یک برنامه است. رشته، واحدی اساسی در بهرهبرداری از واحد پردازنده مرکزی (CPU) یا واحد اساسی اجرایی محسوب میشود.
۱۶۴. فلاتر (Flutter) از جمله اصطلاحات برنامه نویسی
«فلاتر (Flutter)» جعبه ابزار رابط کاربری (UI) برای ایجاد اپلیکیشنهای سریع، زیبا، اختصاصی کامپایل شده برای تلفنهای همراه، وب و دسکتاپ با یک زبان برنامه نویسی و پایگاه کد واحد است. فلاتر، رایگان و منبع باز است و اپلیکیشنهای آن از زبان برنامه نویسی دارت برای ایجاد اپلیکیشن استفاده میکنند.
۱۶۵. جنگو (Django) در اصطلاحات برنامه نویسی
«جنگو (Django)» یک فریم ورک توسعه وب است که به ساخت و نگهداری با کیفیت برنامههای کاربردی وب کمک میکند.
Django با حذف کارهای تکراری فرایند توسعه، تجربهای آسان و صرفهجویی در زمان را فراهم میکند.
۱۶۶. شبه کد (Pseudocode) از جمله اصطلاحات برنامه نویسی
«شبه کد (Pseudocode)،» توصیف متنی ساده از یک قطعه کد یا یک الگوریتم است. در واقع شبه کد، کد نویسی نیست زیرا هیچ اسکریپت یا فایل و برنامه نویسی وجود ندارد. همانطور که از نام آن مشخص است، شبکه کد یک «کد جعلی» (Fake Code) محسوب میشود.
Pseudocode به هیچ زبان برنامه نویسی خاصی نوشته نمیشود و از زبان انگلیسی ساده واضح و قابل فهم پیروی میکند. با این وجود، حاوی کلمات کلیدی است که به مفاهیم رایج کدنویسی اشاره دارد و با حروف بزرگ نوشته میشوند. نمونهای از شبه کدها کلمات زیر هستند:
- START
- INPUT
- READ/GET
۱۶۷. برنامه نویسی تابعی (Functional) در اصطلاحات برنامه نویسی
در علوم کامپیوتر، «برنامه نویسی تابعی (Functional Programming)» یک الگوی (Paradigm) برنامه نویسی است که در آن برنامهها از طریق به کارگیری و ترکیب توابع ساخته میشوند. برنامه نویسی تابعی یک الگوی برنامه نویسی اعلانی (Declarative) است که در آن تعاریف، تابع درختهایی از عبارات هستند که مقادیری را به مقادیر دیگری نگاشت میکنند. بنابراین آنها دنبالهای از گزارههای دستوری نیستند که وضعیت اجرای برنامه را بهروزرسانی کنند.
۱۶۸. برنامه نویسی پروتکل محور (Protocol Oriented)
اگر چه نام «برنامه نویسی پروتکل محور» (Protocol Oriented Programming) مشابه با زبان برنامه نویسی شی گرا یا OOP است ولی جایگزین یا رقیبی برای آن نیست. در واقع، برنامه نویسی پروتکلمحور، روشی برای تفکر در مورد مجموعهای از مسايل خاص است که کمک میکند تا کدی انعطافپذیر، قابل نگهداری و با خوانایی بالا ایجاد کرد. برنامه نویسی شی گرا نیز چندین مورد از ایدههای اساسی برنامه نویسی Protocol Oriented را شامل میشود.
۱۶۹. React Native
«ری اکت نیتیو» فریم ورکی نرم افزاری برای طراحی UI و منبع باز است که توسط Meta Platforms ایجاد شد. این فریم ورک در توسعه برنامههای کاربردی برای اندروید، TvOS Web ،MacOS ،iOS ،Android TV ،UWP و ویندوز استفاده میشود.
React Native به توسعهدهندگان امکان میدهد تا چارچوب React را به همراه قابلیتهای پلتفرم اختصاصی استفاده کنند. همچنین این چارچوب برای توسعه اپلیکیشنهای واقعیت مجازی در Oculus استفاده شده است.
۱۷۰. ردیابی اشکال (Bug Tracking) از اصطلاحات برنامه نویسی
به فرایند ثبت و نظارت باگها یا خطا در طول تست نرم افزار، «ردیابی اشکال» گفته میشود. ردیابی اشکالهای برنامه، توسط نرم افزاری جداگانه برای پیگیری باگهای ثبت شده و حل آنها انجام میشود.
۱۷۱. توسعه دهنده جوان (Junior Developer)
یک برنامه نویس سطح ابتدایی یا پایینترین سمت تیم توسعه محسوب میشود. «توسعهدهندگان جوان» بیتجربه هستند. برخی از آنها به تازگی فارغالتحصیل شدهاند و اولین تجربه کاری تمام وقت خود را شروع کردهاند. ذهنیت توسعهدهندگان جوان این است که فقط روی کد کار کنند. برنامه نویسی کدها ساخت برای این نوع از توسعهدهندگان کار سختی است و اغلب توسط توسعهدهندگان ارشد (Senior) راهنمایی میشوند. توسعهدهندگان جوان به یادگیری و کسب مهارتهای جدید تمایل دارند.
۱۷۲. توسعه دهنده ارشد (Senior Developer)
«توسعه دهنده ارشد» به عنوان مهندس نرم افزار (Software Engineer) هم شناخته میشود. این توسعهدهنده، وظایف مختلفی مانند کدنویسی و توسعه وب را انجام میدهد. ممکن است که توسعهدهندگان ارشد در یک زمینه خاص تخصص داشته باشند، روی پروژهها نظارت کرده و توسعهدهندگان جوان را مدیریت کنند.
توسعهدهندگان Senior بسیار ساده کد مینویسند به نحوی که حین مواجهه، باور این که تمام کد همین باشد، سخت است. همچنین ذهنیت آنها با برنامه نویسان جوان متفاوت است و هنگام کد نویسی، قابلیت نگهداری و مقیاسپذیری کد را در نظر میگیرند. برنامه نویس ارشد به این فکر میکند که چه افرادی باید روی کد کار کنند. در مقابل، توسعهدهنده جوان به این میاندیشد که باید کد نوشته شده به خوبی روی کامپیوتر اجرا شود.
۱۷۳. توسعه دهنده فول استک (Full Stack Developer)
«برنامه نویس فول استک»، شخصی است که روی بک اند (برنامه نویسی سمت سرور) اپلیکیشن و همچنین فرانت اند (توسعه سمت کاربر) کار میکند. توسعهدهندگان فول استک برای این که بتوانند به خوبی کار را انجام دهند، باید مهارتهایی را در طیف گستردهای از زمینههای کدنویسی از پایگاه داده گرفته تا طراحی گرافیکی و مدیریت UI/UX داشته باشند.
۱۷۴. طراحی تجربه کاربری (User Experience)
«طراحی تجربه کاربری» (UX | User Experience)، روی درک عمیق در مورد کاربران، آنچه که نیاز دارند و میخواهند، تواناییها و همچنین محدودیتهای آنها تمرکز دارند. علاوه بر این طراح UX، اهداف تجاری و اهداف گروهی که پروژه را مدیریت میکنند نیز در نظر میگیرند.
۱۷۵. خراب شدن برنامه (Crash کردن)
«خرابی» در حوزه محاسبات، اتفاقی است که در آن سیستم عامل یا یک برنامه کامپیوتری به درستی کار نمیکند. Crash، اغلب در موارد زیر رخ میدهد:
- سخت افزار به صورت غیر قابل بازیابی (Non-Recoverable) از کار افتاده باشد.
- دادههای سیستم عامل خراب شده باشند.
- بازیابی یک خطا که بدون از دست دادن اطلاعات تقریباً ممکن نیست. به طور معمول مقداری از دادهها از بین میرود.
۱۷۶. اسکی (ASCII)
«اسکی»، استانداردی است که از طریق آن کاراکترهای انگلیسی و بعضی از کاراکترهای رایج نوشته و نمایش داده میشود. برای آشنایی بیشتر با مفهوم ASCII مطالعه مقاله زیر پیشنهاد میشود:
۱۷۷. چاپ (Print)
«Print»، یکی از اصلیترین اصطلاحات برنامه نویسی و توابع زبانهای برنامه نویسی است. هر توسعهدهنده خیلی زود یاد میگیرد که از آن استفاده کند. زیرا از طریق این دستور میتوان نتیجه کد نوشته شده را نشان داد. تابع Print به معنای واقعی کلمه، نتیجه را روی صفحه چاپ میکند.
اصطلاحات برنامه نویسی پایتون
در این بخش از مقاله اصطلاحات برنامه نویسی به برخی از لغات رایج در زبان برنامه نویسی پایتون پرداخته شده است. تمامی اصطلاحات مطرح شده در این قسمت برای فراگیران زبان پایتون حائز اهمیت هستند.
البته برخی از این اصطلاحات فقط مختص پایتون نیستند و احتمال دارد که برای زبانهای برنامه نویسی دیگر نیز قابلیت استفاده داشته باشند.
اصطلاح رایج دیکشنری در پایتون چیست ؟
«دیکشنری» پایتون، نوعی داده است که مجموعهای از مقادیر داده را در خود ذخیره میکند. برخلاف نوع دادههای دیگر پایتون که معمولاً از مقادیر تکی تشکیل شدهاند، نوع داده دیکشنری در پایتون جفتهای کلید-مقدار (Key : value) را شامل میشوند.
جفتهای کلید-مقدار دیکشنری به صورت زیر هستند:
1'Key': 'Value'
جهت آشنایی بیشتر مثال دیگری از دیکشنری در ادامه آمده است:
1'Country': 'Capital city'
برای دسترسی به مقادیر دیکشنری، به جای شاخصها (Index) از کلیدها استفاده میشود. به همین دلیل، کلیدهای دیکشنری منحصر به فرد و غیر قابل تغییر هستند و نمیتوان آنها را تغییر داد. مقادیر ذخیره شده در دیکشنریها میتوانند شامل هر نوع دادهای، حتی دیکشنریهای دیگر باشند. در بخش زیر مثالی برای دیکشنری پایتون ذکر شده است:
1capitals = {'Czechia':'Prague', 'Lithuania': 'Vilnius', 'France':'Paris', 'Germany':'Berlin', 'Italy':'Rome', 'Poland':'Warsaw'}
برای دسترسی به یکی از مقادیر دیکشنری هم باید کلید انتخاب شده را در پرانتز نوشت. در ادامه مثالی برای دسترسی به یکی از مقادیر ذکر شده است:
1>> print(capitals['Italy'])
پاسخ قطعه کد فوق، مقدار Rome خواهد بود.
۱۷۹. ()Input در اصطلاحات برنامه نویسی پایتون
«()Input»، یکی از توابع داخلی پایتون است. این دستور از طریق نمایش یک اعلان، امکان دریافت ورودی را از کاربر فراهم میکند. سپس این تابع، دادههای وارد شده توسط کاربر را در قالب رشته برمیگرداند.
تابع Input، هر چیزی را که از کاربر دریافت میکند را در قالب رشته میبیند. پس این که کاربر عدد «۴۲» را نوشته است یا عبارت «من قهوه دوست دارم» برای آن از لحاظ نوع داده تفاوتی ندارد. برای آشنایی بیشتر با دستور ()Input در پایتون، مطالعه مقاله آموطشی زیر پیشنهاد میشود:
- مقاله پیشنهادی: ورودی و خروجی در پایتون — به زبان ساده
۱۸۰. لاندا (lambda) از اصطلاحات رایج برنامه نویسی Python
«lambda»، کلمه کلیدی است که امکان ایجاد توابع lambda را فراهم میکند. توابع lambda، توابعی ناشناس هستند که برای انجام محاسبات ساده استفاده میشوند. مثالی از تابع lambda در ادامه ذکر شده است:
1>>> x = lambda a, b: a + b
2>>> x(5, 6)
در قطعه کد بالا، x تابعی است که دو آرگومان a و b را میگیرد و مجموع آنها را خروجی میدهد. برای آشنایی بیشتر با تابعهای lambda در پایتون، مطالعه مقاله آموزشی زیر پیشنهاد میشود:
- مقاله پیشنهادی: تابعهای لامبدا (Lambda) در پایتون — یک راهنمای مقدماتی
۱۸۱. لیست list در پایتون
لیستها یکی از اصطلاحات برنامه نویسی هستند که برای زبانهای مختلف کاربرد دارند ولی ممکن است ساختار نحوی متفاوتی داشته باشند. نوع داده لیست در پایتون، مجموعهای از اشیاء مرتب شده و قابل تغییر است.
این اشیاء میتوانند انواع مختلفی داشته باشند. در ادامه، مثالی از لیست معتبر در پایتون مطرح میشود:
1list1 = [‘Techvidvan’, 2, 9.0]
۱۸۲. List comprehension در برنامه نویسی پایتون
«List comprehension در پایتون»، به معنی روشی برای ایجاد لیستها به شیوهای مختصر است. این کار برای نوشتن عبارتی در داخل کروشه و اختصاص آن به یک متغیر انجام میشود.
برای درک بیشتر این مفهوم در ادامه مثالی ذکر شده است:
list1 = [i for i in range(10)]
خروجی قطعه کد فوق به صورت زیر است:
1>>> list1
2[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
۱۸۳. Literal (لیترال) در مطلب اصطلاحات برنامه نویسی پایتون
«لیترالها» اقلام دادهای هستند که مقدار ثابتی دارند. پایتون انواع مختلفی از لیترالها را مانند رشته، عدد، مقدار بولی و موارد دیگر ارائه میدهد. برای آشنایی بیشتر با متغیرها در پایتون، مطالعه مقاله آموزشی زیر پیشنهاد میشود:
- مقاله پیشنهادی: انواع متغیرها در پایتون — به زبان ساده
۱۸۴. طول لیست (List length) در اصطلاحات برنامه نویسی Python
«طول لیست» به اندازه یک لیست به عبارت دیگر، تعداد عناصر موجود در لیست اشاره دارد.
۱۸۵. بارگذار (loader) در اصطلاحات برنامه نویسی Python
«بارگذار»، شیئی است که ماژول وارد شده را بارگذاری میکند.
۱۸۶. پایتونیک (Pythonic) در اصطلاحات برنامه نویسی پایتون
اگر یک قطعه کد، علاوه بر ساختار نحوی صحیح از دستورالعملها (Guidelines) و قراردادهای انجمن پایتون هم پیروی کند به آن «پایونیک» گفته میشود.
۱۸۷. تاپل (Tuple) در اصطلاحات برنامه نویسی پایتون
«تاپل»، مجموعهای مرتب و تغییرناپذیر از دادهها است. نوع داده تاپل در پایتون، یک بار تعریف میشود و مقدار عناصر آن نمیتواند در طول اجرای برنامه تغییر کند.
۱۸۸. اصطلاح Zen of Python
دستور «import this» اصول کلی یا فلسفهای که پایتون به آن اعتقاد دارد را چاپ میکند. در صورتی که در پوسته (شل) پایتون دستور import this وارد شود، خروجی زیر نشان داده خواهد شد:
۱۸۹. distutils در اصطلاحات برنامه نویسی Python
«distutils»، بسته موجود در کتابخانه استاندارد پایتون برای نصب، ساخت و توزیع کد پایتون است.
۱۹۰. شاخص بسته پایتون (Python Package Index)
«Python Package Index» یا به اختصار «PyPI»، منبع رسمی نرم افزار سوم شخص برای پایتون است. فهرست یا شاخص بسته پایتون، شامل هزاران بسته نرم افزاری مختلف است که بنا به نیاز میتوان از آن برای پروژههای مختلف استفاده کرد.
فیلم آموزش برنامه نویسی پایتون Python - مقدماتی
زبان برنامه نویسی همهمنظوره و محبوب پایتون در زمینههای گوناگونی چون: توسعه نرم افزار، توسعه وب، ریاضیات، System Scripting و بسیاری از حوزههای دیگر قابل استفاده است. با توجه به اهمیت زبان برنامه نویسی Python، مشاهده این دوره آموزشی از فرادرس به علاقمندان پیشنهاد میشود.
مدت زمان این فرادرس به صورت تقریبی ۲۰ ساعت و مدرس آن مهندس پژمان اقبالی شمس آبادی است. این دوره آموزشی در ۵ فصل، تمامی مطالب مقدماتی لازم برای برنامه نویسی با پایتون را ارائه میکند. این آموزش برای افراد مبتدی مناسب است و شامل مباحثی مانند آشنایی با پایتون، ساختمان داده در پایتون، توابع و ماژولها، کلاس و خواندن و نوشتن فایلها میشود.
- برای مشاهده فیلم آموزش برنامه نویسی پایتون Python - مقدماتی + اینجا کلیک کنید.
اصطلاحات برنامه نویسی جاوا
این بخش از مقاله آموزشی اصطلاحات برنامه نویسی به برخی از لغات پرکاربرد زبان برنامه نویسی جاوا و مفاهیم آن میپردازد.
۱۹۱. جاوا (Java) در مطلب اصطلاحات برنامه نویسی
جاوا، یک زبان برنامه نویسی چند پلتفرمی محسوب میشود. این زبان برنامه نویسی برای بسیاری از برنامههای کاربردی حرفهای و تجاری از جمله خود سیستم عامل اندروید به کار میرود. بازی ماینکرافت (Minecraft) توسط Markus Persson و به طور کامل در زبان برنامه نویسی جاوا توسعه یافته است.
از آنجایی که جاوا نرخ عملکرد عالی دارد و فریم ورک خوبی برای وب محسوب میشود، Gmail نیز در جاوا توسعه داده شد. زبان برنامه نویسی جاوا علاوه بر بزرگسالان میتواند برای بچهها نیز مناسب باشد و از طریق آن میتوانند طیف وسیعی از بازیها و برنامهها را تولید کنند.
- برای مشاهده فیلم آموزش برنامه نویسی جاوا Java + اینجا کلیک کنید.
۱۹۲. آرشیو جاوا (JAR)
«JAR» کلمه اختصاری «Java Archive» محسوب میشود. آرشیو جاوا، مکانیزم بستهبندی پیشفرض جاوا برای جمعآوری چندین فایل در فرمتی شبیه به «zip.» است. برای یادگیری زبان برنامه نویسی جاوا، مطالعه مقاله آموزشی زیر پیشنهاد میشود:
۱۹۳. هسته جاوا (Java Core)
یکی دیگر از اصطلاحات برنامه نویسی زبان جاوا، Java Core است. هسته جاوا، ویژگیهای اصلی جاوا که «ویرایش استاندارد جاوا» (Java EE | Java Standard Edition) هم نامیده میشود را ارائه میدهد.
اصطلاح JDK در برنامه نویسی جاوا چیست ؟
«کیت توسعه جاوا» (JDK | Java Development Kit) شامل محیط اجرای جاوا و کتابخانههای اصلی و بنیادی آن است که برای نوشتن برنامهها و اپلیکیشنهای جاوا استفاده میشود. به عبارت دیگر، JDK، محیط توسعه نرم افزاری برای نوشتن اپلتها و برنامههای کاربردی به زبان برنامه نویسی جاوا است.
۱۹۵. ماشین مجازی جاوا (JVM)
«ماشین مجازی جاوا» (JVM | Java Virtual Machine) ماشینی انتزاعی است که بایت کد کامپایل شده جاوا در آن اجرا میشود. به عبارت دیگر، JVM، پلتفرمی است که برنامههای نوشته شده و کامپایل شده به زبان برنامه نویسی جاوا را اجرا میکند. برای آشنایی بیشتر با مفهوم JVM، مطالعه مقاله آموزشی زیر پیشنهاد میشود:
- مقاله پیشنهادی: JDK ،JRE و JVM چه تفاوتهایی با هم دارند؟
۱۹۶. JavaFX
جعبه ابزار جدید برای برنامههای کاربردی رابط کاربری گرافیکی (GUI) است که به رویکردی ایدهآل برای برنامه نویسی رابط کاربری گرافیکی در جاوا ۸ تبدیل شده است.
برای آموزش JavaFX، مطالعه مقاله آموزشی زیر پیشنهاد میشود:
- مقاله پیشنهادی: آموزش JavaFX | کامل و رایگان — از مبتدی تا حرفه ای
۱۹۷. فریم ورک مجموعه جاوا (JCF)
«فریم ورک مجموعه جاوا» (JCF | Java Collection Framework) مجموعهای از کلاسهای استاندارد محسوب میشود که ساختمان دادههای عمومی به عنوان مثال، ArrayList و TreeSet را پیادهسازی میکند.
۱۹۸. Applet در اصطلاحات برنامه نویسی جاوا
«جاوا اپلتها»، نوعی از برنامههای جاوا هستند که بر خلاف یک برنامه مستقل، روی یک صفحه وب در مرورگر اجرا میشوند. اپلتها معمولاً در ماشین سرویس گیرنده (Client) اجرا میشوند. فایلهای فلشی که در صفحات وب قرار میگیرند و روی مرورگر اجرا میشوند، نوعی از اپلتها هستند.
۱۹۹. گراف صحنه (Scene Graph) در اصطلاحات برنامه نویسی Java
«گراف صحنه» در JavaFX، ساختمان دادهای سلسله مراتبی است که تمام مولفههای GUI را شامل میشود و محتوای یک صحنه را بازنمایی میکند.
۲۰۰. JSON در اصطلاحات رایج برنامه نویسی جاوا
جیسون (JSON) کلمه اختصاری «JavaScript Object Notation»، یک فرمت فایل مبتنی بر جاوا است که دادهها را در قالبی (فرمتی) قابل خواندن ارسال میکند. دادهها را میتوان با استفاده از JSON به جاوا اسکریپت تبدیل کرد. همچنین میتوان قالب آنها را مجدداً از جاوا اسکریپت به JSON تغییر داد.
اصطلاحات برنامه نویسی سی شارپ
در این بخش از مقاله اصطلاحات برنامه نویسی برای به برخی از واژگان رایج برنامه نویسی سی شارپ مانند WPF ،ASP.NET و موارد دیگر پرداخته شده است.
۲۰۱. فریم ورک دات نت (NET Framework.)
یکی از پایهایترین اصطلاحات برنامه نویسی زبان سی شارپ، «NET Framework.» است. NET Framework. کتابخانه استاندارد #C است که در حقیقیت، تمام چیزهای لازم برای انجام بیشتر کارهای رایج را ارائه میکند.
به بیان سادهتر، این فریم ورک کدهایی آمادهای را در اختیار توسعهدهندگان قرار میدهد که میتوانند از آنها برای انجام پروژه خود استفاده کنند. استفاده از این کتابخانه باعث افزایش سرعت و راحتتر شدن توسعه برنامه میشود. همچنین، این فریم ورک، APIهایی را ارائه میکند که میتوان از طریق آنها با سرویسهای مختلفی تعامل داشت.
۲۰۲. WPF از جمله اصطلاحات برنامه نویسی #C
«WPF» سرنام «Windows Presentation Foundation»، یک فریم ورک رابط کاربری گرافیکی (GUI) است که فقط برای ویندوز کاربرد دارد و برنامههای کاربر دسکتاپ را ارائه میدهد.
پلتفرم توسعه WPF، مجموعه گستردهای از ویژگیهای توسعه برنامه شامل مدل برنامه، منابع، کنترلها، گرافیک، طرحبندی (Layout)، اتصال دادهها، اسناد و امنیت را پشتیبانی میکند. WPF از XAML استفاده میکند تا مدلی اعلامی برای برنامه نویسی اپلیکیشن ارائه کند. XAML مخفف ( Extensible Application Markup Language) یا «زبان نشانهگذاری برنامه قابل توسعه» و زبان مبتنی بر XML است.
۲۰۳. C# 7 در اصطلاحات برنامه نویسی سی شارپ
هفتمین نسخه از مشخصات زبان برنامه نویسی #C است. این نسخه، ساختار نحوی زبان را شامل میشود اما خود NET Framework. در آن وجود ندارد.
۲۰۴. ASP.NET در اصطلاحات برنامه نویسی سی شارپ
یک فریم ورک وب رایگان برای ساخت وبسایتها و برنامههای وب عالی با استفاده از CSS ،HTML و جاوا اسکریپت است. همچنین، میتوان با استفاده از آن، Web API ایجاد کرد و از فناوریهای بلادرنگ (Real-Time) مانند Web Sockets استفاده کرد.
۲۰۵. NET Core. در اصطلاحات رایج برنامه نویسی سی شارپ
«NET Core.» نسخع جدیدی از NET Framework. است که پلتفرم توسعه رایگان، منبعباز و همهمنظوره محسوب میشود. این فریم ورک، چند پلتفرمی است و روی سیستم عاملهای ویندوز، macOS و لینوکس اجرا میشود.
فریم ورک «NET Core.» را میتوان برای ساخت انواع برنامههای کاربردی مانند موبایل، دسکتاپ، وب، ابر (Cloud)، اینترنت اشیا (IoT)، یادگیری ماشین، میکروسرویسها، بازیها و موارد دیگر استفاده کرد. فریم ورک مذکور با هدف ماژولار، سبک وزن، سریع و فریم ورک چند پلتفرمی کردن NET Framework. ایجاد شده است. این فریم ورک، شامل ویژگیهای بنیادی است که یک اپلیکیشن پایهای NET Core. را اجرا میکند. برای آموزش NET Core. مطالعه مقاله آموزشی زیر پیشنهاد میشود:
- مقاله پیشنهادی: راهنمای مقدماتی NET Core. | به زبان ساده
معرفی فیلم های آموزش اصطلاحات برنامه نویسی
برنامه نویسی یکی از شغلهای محبوب و پردرآمدی محسوب میشود که در آن امکان کارآفرینی وجود دارد. به همین علت، ورود به آن بسیار مورد توجه سایرین قرار گرفته است. به علت اهمیت حوزه برنامه نویسی، مانند بسیاری از حوزههای دیگر در سایت فرادرس آموزشهای زیادی برای برنامه نویسی منتشر شده است. همچنین آموزشهای پروژه محور زیادی برای انواع زبانهای برنامه نویسی ارائه شدهاند که به تسلط بیشتر علاقمندان کمک میکند.
علاوه بر این، برای آموزشی برنامه نویسی به کودکان و نوجوانان هم آموزشهایی در سایت فرادرس وجود دارد. در این بخش پایانی از مقاله اصطلاحات برنامه نویسی، تعدادی از دورههای آموزش زبانهای برنامه نویسی فرادرس به علاقهمندان معرفی شدهاند. اولین دورهای که به معرفی آن پرداخته میشود، دوره آموزش «اصول و مبانی برنامه نویسی» است.
فیلم آموزش برنامه نویسی C
زبان برنامه نویسی C، یکی از مهمترین زبانهای برنامه نویسی است که به طور مستقیم برای پیادهسازی انواع نرم افزارها و برنامهها روی انواع سیستمهای سخت افزاری و سیستم عاملها استفاده میشود. این زبان برنامه نویسی، منشا ایجاد زبانهای جدیدتر مانند C++ ،C# و جاوا به حساب میآید. بسیاری از مفاهیم مورد استفاده در ساختار زبان C به موضوعات اساسی و پایهای علوم کامپیوتر تبدیل شده است. برای همین، زبان برنامه نویسی C دارای ارزشهای نظری بسیار بالایی است.
طول مدت دورهآموزش برنامه نویسی C فرادرس به صورت تقریبی ۱۳ ساعت و ۳۰ دقیقه و مدرس آن دکتر سید مصطفی کلامی هریس است. این دوره آموزشی در ۱۲ درس مباحثی مانند آشنایی با زبان برنامه نویسی C، آشنایی با اجزای سازنده این زبان، توابع، آرایهها، اشارهگرها و بسیاری از موارد دیگر را پوشش میدهد و میتواند به عنوان یک مرجع کاملاً علمی و عملی، مورد استفاده قرار گیرد.
- برای مشاهده فیلم آموزش برنامه نویسی C + اینجا کلیک کنید.
فیلم آموزش برنامه نویسی تصویری به کودکان با زبان اسکرچ Scratch
زبان برنامه نویسی اسکرچ تا حدودی در مقاله اصطلاحات برنامه نویسی معرفی شد. زبان برنامه نویسی اسکرچ برای آموزش اصول برنامه نویسی به کودکان در آزمایشگاه رسانه دانشگاه MIT طراحی و ساخته شده است. این زبان برنامه نویسی جدید و به روز، طرفداران زیادی در سراسر جهان دارد. اسکرچ محیط کاری جذاب و بسیار سادهای دارد و دستورات و عملیات آن قابل درک است. از طریق Scratch میتوان برنامه، بازی و انیمیشن ساخت و برای یادگیری آن به هیچ پیشنیازی احتیاج نیست. با وجود این که زبان برنامه نویسی اسکرچ برای آموزش به کودکان ۸ الی ۱۶ سال طراحی شده اما همچنین زبانی بسیار مفید برای بزرگسالانی است که قصد فراگرفتن مفاهیم برنامه نویسی را دارند.
مدت زمان دوره آموزش اسکرچ به صورت تقریبی، ۶ ساعت و مدرس آن مهندس حمیده نگهدار است. این دوره آموزشی به ۱۳ فصل تقسیمبندی شده و به مفاهیم عمیق و کاربردی برنامه نویسی از قبیل شیگرایی، دستورات شرطی و حلقه، تابع نویسی، ورودی و خروجی، متغیر، انتشار (Broadcasting) و بسیاری موارد دیگر پرداخته میشود.
- برای مشاهده فیلم آموزش برنامه نویسی تصویری به کودکان با زبان اسکرچ Scratch + اینجا کلیک کنید.
فیلم آموزش HTML اچ تی ام ال برای طراحی وب - مقدماتی
HTML، یک زبان نشانهگذاری محسوب میشود و نام اچ تی ام ال کلمه اختصاری Hyper Text Markup Language به معنی زبان نشانهگذاری فوق متن است. بخشهای مختلف صفحه وب از طریق تگهای (برچسب) این زبان جدا میشوند و مرورگر از طریق اين برچسبها متوجه میشود که هر بخش از صفحه چه نوع عنصری است و بايد به چه صورتی نمايش داده شود. با توجه به این که HTML پیشنیازی برای شروع طراحی سایت محسوب میشود، مشاهده این دوره آموزشی پیشنهاد میشود.
مدت زمان این فرادرس به صورت تقریبی ۳ ساعت و مدرس آن مهندس محمد عبداللهی است. این دوره آموزشی در ۱۲ درس به مباحثی مانند مقدمات HTML، تگهای Text Formatting، ساخت لینک، عکسها در صفحه وب، مروری بر CSS، لیستها، جدول، تگ div، فرمها و بسیاری از مباحث دیگر میپردازد. ادامه این دوره آموزشی در قالب بخش تکمیلی بر روی سایت در دسترس است.
- برای مشاهده فیلم آموزش HTML اچ تی ام ال برای طراحی وب - مقدماتی + اینجا کلیک کنید.
فیلم آموزش برنامه نویسی پی اچ پی PHP
همانطور که در مقاله آموزشی اصطلاحات برنامه نویسی گفته شد، PHP، یکی از زبانهای برنامه نویسی سمت سرور است که در پیادهسازی وبسایتهای دینامیکی (پویا) کاربرد دارد. زبان PHP از نظر نحوه گرامر و پیادهسازی از زبانهای برنامه نویسی سی، جاوا و پرل تأثیر گرفته است. علاوه بر پروژههای سفارشی نوشته شده با PHP، بسیاری از سیستمهای مدیریت محتوای متن باز و عمومی هم توسط این زبان پیادهسازی شدهاند. با توجه به اهمیت این زبان، مشاهده این دوره آموزشی پیشنهاد میشود.
مدت زمان این فرادرس به صورت تقریبی ۲۹ ساعت و مدرس آن دکتر سید مصطفی کلامی هریس است. این دوره آموزشی، تمام اصول و مهارتهای عملی موردنیاز برای ورود به دنیای برنامه نویسی تحت وب و پیادهسازی وبسایتهای دینامیکی را به سادهترین شکل ممکن ارائه میکند. علاوه بر این شامل پیادهسازی پروژههای عملی و واقعی نیز هست.
- برای مشاهده فیلم آموزش برنامه نویسی پی اچ پی PHP + اینجا کلیک کنید.
جمعبندی
برنامه نویسی، پر از کلمات کلیدی است و یادگیری تمام آنها در حین شروع برنامه نویسی یا یادگیری مهارتهای جدید، میتواند بسیار سخت باشد. یادگیری اصطلاحات هر حوزه، میتواند به درک بهتر و بیشتر آن کمک کند. این مقاله، واژه نامه مفیدی از رایجترین اصطلاحات برنامه نویسی را برای سطوح پایه و تخصصی ارائه میدهد. در این مطلب، رایج ترین اصطلاحات در حوزههایی مانند علوم کامپیوتر، برنامه نویسی وب، توسعه علم داده، برنامه نویسی اپلیکیشن و بازی و بسیاری موارد دیگر ارائه شد. امیدواریم که مطالعه این مقاله آموزشی کارآمد و موثر واقع شود.
سلام؛
از زحماتی که می کشید، ممنونم.
خیلی مفید و عالی است.
سوال: آیا قبل از اینکه کامپیوتر ها مانیتور داشته باشند، چاپگر داشته اند؟ یعنی کدوم دستگاه زودتر ساخته شده؟
ممنون میشم به این سوال پاسخ دهید.
سلام
بسیار عالی بود
کاش درمورد
پیش پردازنده
و
لینکر
و وظیفشون در c و c++ توضیح میدادید.
با سلام و احترام؛
صمیمانه از همراهی شما با مجله فرادرس و ارائه بازخورد سپاسگزاریم.
برای شما آرزوی سلامتی و موفقیت داریم.
زحمات و تلاشتون قابل تقدیره…مچکرم…مطالب بسیار کاربردی بود.