کی‌دوالاپ کیست؟ توضیح بده.
کی‌دوالاپ یک نرم‌افزار آزاد محیط یکپارچه توسعه نرم‌افزار (IDE) برای کی‌دی‌ئی پلتفرم روی سیستم عاملهای شبه یونیکس است. کی‌دوالاپ محتوی هیچ کامپایلری نیست. در عوض، از کامپایلر خارجی مانند جی‌سی‌سی برای تولید کد اجرایی استفاده می‌کند.نسخه کنونی، ۴٫۳٫۰، به صورت رسمی در ۲۰ مارس ۲۰۱۲ منتشر شد. روی فناوری کی‌دی‌ئی ۴ می‌سازد و از سی، سی‌پلاس‌پلاس، پایتون و توسعه پی‌اچ‌پی پشتیبانی می‌کند.تاریخچه.KDevelop 0.1 در سال ۱۹۹۸ منتشر شد و نسخهٔ ۱.۰ در اواخر سال ۱۹۹۹ عرضه گشت. نسخه‌های ۱.x و ۲.x طی یک دورهٔ چهار ساله از روی کد اصلی توسعه یافتند.تصور می‌شود که سندی مایر آغازگر KDevelop باشد. همچنین، رالف نولدن نیز از توسعه‌دهندگان اولیهٔ این پروژه محسوب می‌شود. در سال ۱۹۹۸ سندی مایر کار روی KDevelop را شروع کرد و به مدت ۸ هفته به تنهایی روی آن کار کرد. از آن زمان، محیط توسعه یکپارچه (IDE) KDevelop تحت مجوز GPL به صورت عمومی در دسترس قرار گرفت و از زبان‌های برنامه‌نویسی متعددی پشتیبانی می‌کند.برند گهرمان یک بازنویسی کامل را آغاز کرد و KDevelop ۳.x را در مارس ۲۰۰۱ معرفی کرد. اولین انتشار آن همراه با محیط میزکار کِی ۳.۲ در فوریه ۲۰۰۴ بود و توسعهٔ KDevelop ۳.x تا سال ۲۰۰۸ ادامه داشت.KDevelop ۴.x، که یک بازنویسی کامل دیگر با مدل برنامه‌نویسی شیءگراتر بود، از آگوست ۲۰۰۵ توسعه یافت و در می ۲۰۱۰ به عنوان KDevelop ۴.۰.۰ منتشر شد. آخرین به‌روزرسانی ویژگی‌های این شاخه، نسخهٔ ۴.۷.۰ در سپتامبر ۲۰۱۴ بود، و انتشار نسخه‌های رفع باگ تا KDevelop ۴.۷.۴ در دسامبر ۲۰۱۶ ادامه یافت.توسعه KDevelop ۵ در آگوست ۲۰۱۴ به عنوان ادامه‌ای از کد ۴.x آغاز شد و به Qt5 و KDE Frameworks 5 منتقل گشت. تجزیه‌کنندهٔ سفارشی C++ که قبلاً استفاده می‌شد و پشتیبانی ضعیفی از C++11 داشت، با یک بک‌اند جدید مبتنی بر Clang جایگزین شد. مفسر یکپارچهٔ CMakeFile نیز حذف شد و به جای آن از فراداده‌های JSON که توسط ابزار اصلی CMake تولید می‌شوند، استفاده شد.پشتیبانی معنایی زبان برای QML و JavaScript با استفاده از تجزیه‌کنندهٔ Qt Creator و یک بک‌اند جدید مدیریت پروژه QMake اضافه شد.اولین نسخهٔ پایدار ۵.x، یعنی KDevelop ۵.۰.۰ در آگوست ۲۰۱۶ منتشر شد. در اکتبر ۲۰۱۶، بیلد‌های رسمی مایکروسافت ویندوز برای اولین بار عرضه شدند.ویژگی‌ها.KDevelop برای ویرایشگر متن از یک مؤلفهٔ جاسازی‌شده از طریق چارچوب KParts استفاده می‌کند. ویرایشگر پیش‌فرض ویرایشگر متن پیشرفتهٔ KDE (Kate) است که به صورت اختیاری می‌تواند با یک ویرایشگر مبتنی بر Qt Designer جایگزین شود. این فهرست بر ویژگی‌های خود KDevelop تمرکز دارد. برای اطلاع از ویژگی‌های مخصوص مؤلفهٔ ویرایشگر، به مقالهٔ مربوط به Kate مراجعه کنید.ویژگی‌های اصلی KDevelop شامل موارد زیر است:ویرایشگر کد منبع با قابلیت برجسته‌سازی نحو (Syntax Highlighting) و تورفتگی (Indentation) خودکار (که توسط Kate ارائه می‌شود).زبان‌های C/C++ اکنون با یک بک‌اند مبتنی بر Clang پشتیبانی می‌شوند (از نسخه KDevelop-5.0).مدیریت پروژه‌ برای انواع مختلف پروژه، مانند Automake، CMake، qmake برای پروژه‌های مبتنی بر Qt و Ant برای پروژه‌های مبتنی بر Java.مرورگر کلاس (Class Browser).طراح واسط کاربری گرافیکی (GUI Designer).واسط کاربری (Front-end) برای مجموعه کامپایلر گنو (GNU Compiler Collection) و اشکال‌یاب گنو (GNU Debugger).جادوگرها (Wizards) برای تولید و به‌روزرسانی تعاریف کلاس و چارچوب‌های برنامه‌نویسی.تکمیل خودکار کد (Code Completion) برای (C/C++).پشتیبانی داخلی از Doxygen.پشتیبانی از سیستم‌های کنترل بازبینی (Revision Control) که شامل CVS، Subversion، Perforce، ClearCase، Git، Mercurial و Bazaar هستند.معماری و قابلیت‌های پیشرفتهمعماری KDevelop نسخه ۴ کاملاً مبتنی بر پلاگین است. وقتی توسعه‌دهنده‌ای تغییری ایجاد می‌کند، فقط کافی است همان پلاگین را کامپایل کند. همچنین این امکان وجود دارد که چندین پروفایل مختلف ایجاد شود که هرکدام تعیین می‌کند کدام پلاگین‌ها بارگذاری شوند.KDevelop با یک ویرایشگر متن همراه نیست، بلکه برای این منظور نیز از یک پلاگین استفاده می‌کند.KDevelop مستقل از زبان برنامه‌نویسی و مستقل از سیستم ساخت است و از KDE، GNOME و بسیاری دیگر از فناوری‌ها مانند Qt، GTK+ و wxWidgets پشتیبانی می‌کند.KDevelop از زبان‌های برنامه‌نویسی متنوعی پشتیبانی کرده است، از جمله C، C++، Python، PHP، Java، Fortran، Ruby، Ada، Pascal، SQL و اسکریپت‌نویسی Bash.سیستم‌های ساخت پشتیبانی‌شده شامل GNU (automake)، cmake، qmake و make برای پروژه‌های سفارشی (KDevelop فایل‌های Makefile کاربران را حذف نمی‌کند) و پروژه‌های اسکریپتی که نیازی به سیستم ساخت ندارند، است.قابلیت تکمیل کد برای C و C++ در دسترس است. نمادها (Symbols) در یک فایل Berkeley DB برای جستجوهای سریع بدون نیاز به تجزیهٔ مجدد، نگهداری می‌شوند. KDevelop همچنین یک چارچوب توسعه برای کمک به نوشتن تجزیه‌کننده‌های جدید برای سایر زبان‌های برنامه‌نویسی ارائه می‌دهد.یک اشکال‌یاب (Debugger) یکپارچه امکان انجام تمام عملیات اشکال‌زدایی با نشانگرهای توقف (Breakpoints) و ردیابی معکوس (Backtraces) را به صورت گرافیکی فراهم می‌کند. این ابزار برخلاف GDB مبتنی بر خط فرمان، حتی با پلاگین‌هایی که به صورت پویا بارگذاری می‌شوند نیز کار می‌کند.قابلیت "باز کردن سریع" (Quick Open) امکان پیمایش سریع بین فایل‌ها را فراهم می‌کند.در حال حاضر، حدود ۵۰ تا ۱۰۰ پلاگین برای این محیط توسعه یکپارچه وجود دارد. پلاگین‌های اصلی شامل نشانک‌های دائمی کد در سطح پروژه، مخفف‌های کد (Code abbreviations) که امکان بسط سریع متن را می‌دهند، یک قالب‌بندی‌کنندهٔ منبع (Source formatter) که کد را قبل از ذخیره بر اساس یک راهنمای سبک قالب‌بندی می‌کند، جستجوی عبارات با قاعده (Regular expressions search) و جستجو/جایگزینی در سطح پروژه که به بازآرایی (Refactoring) کد کمک می‌کند.