بيئة تطوير متكاملة

من ويكيبيديا، الموسوعة الحرة
اذهب إلى الملاحة اذهب الى البحث

Anjuta هو IDE لبرمجة C و C ++ في بيئة سطح مكتب جنوم .

بيئة التطوير المتكاملة ( IDE ) هي تطبيق برمجي يوفر تسهيلات شاملة لمبرمجي الكمبيوتر لتطوير البرامج . يتكون IDE عادةً من محرر شفرة المصدر على الأقل ، وأدوات أتمتة للبناء ومصحح أخطاء . تحتوي بعض IDEs ، مثل NetBeans و Eclipse ، على المترجم أو المترجم الفوري الضروري أو كليهما ؛ البعض الآخر ، مثل SharpDevelop و Lazarus ، لا يفعلون ذلك.

لم يتم تحديد الحدود بين IDE والأجزاء الأخرى من بيئة تطوير البرمجيات الأوسع بشكل جيد ؛ في بعض الأحيان يتم دمج نظام التحكم في الإصدار أو الأدوات المختلفة لتبسيط بناء واجهة المستخدم الرسومية (GUI). تحتوي العديد من IDEs الحديثة أيضًا على مستعرض فئة ومستعرض كائن ورسم تخطيطي للتسلسل الهرمي للفئة للاستخدام في تطوير البرامج الموجهة للكائنات .

نظرة عامة

Vim مع الإكمال التلقائي المتكامل والفحص من خلال مكون إضافي خارجي

تم تصميم بيئات التطوير المتكاملة لزيادة إنتاجية المبرمج إلى الحد الأقصى من خلال توفير مكونات متماسكة مع واجهات مستخدم مماثلة . تقدم IDEs برنامجًا واحدًا يتم فيه تنفيذ جميع عمليات التطوير. يوفر هذا البرنامج عادةً العديد من الميزات لتأليف البرامج وتعديلها وتجميعها ونشرها وتصحيحها. يتناقض هذا مع تطوير البرامج باستخدام أدوات غير ذات صلة ، مثل vi أو GDB أو GCC أو make .

يتمثل أحد أهداف IDE في تقليل التكوين الضروري لتجميع أدوات تطوير متعددة معًا ، بدلاً من ذلك ، فإنه يوفر نفس مجموعة الإمكانات كوحدة واحدة متماسكة. يمكن أن يؤدي تقليل وقت الإعداد إلى زيادة إنتاجية المطور ، خاصة في الحالات التي يكون فيها تعلم استخدام IDE أسرع من دمج وتعلم جميع الأدوات الفردية يدويًا. يمكن أن يؤدي التكامل الأكثر إحكامًا لجميع مهام التطوير إلى تحسين الإنتاجية الإجمالية بما يتجاوز مجرد المساعدة في مهام الإعداد. على سبيل المثال ، يمكن تحليل الكود بشكل مستمر أثناء تحريره ، مما يوفر ملاحظات فورية عند حدوث أخطاء في بناء الجملة ، مما يسمح للمطورين بتصحيح أخطاء التعليمات البرمجية بشكل أسرع بكثير وبسهولة أكبر باستخدام IDE.

يتم تخصيص بعض IDEs للغة برمجة معينة ، مما يسمح لمجموعة ميزات تتطابق بشكل وثيق مع نماذج البرمجة الخاصة باللغة. ومع ذلك ، هناك العديد من IDEs متعددة اللغات.

في حين أن معظم IDEs الحديثة رسومية ، فإن IDEs المستندة إلى النصوص مثل Turbo Pascal كانت شائعة الاستخدام قبل توفر أنظمة النوافذ مثل Microsoft Windows و X Window System (X11). يستخدمون عادةً مفاتيح الوظائف أو مفاتيح الاختصار لتنفيذ الأوامر أو وحدات الماكرو المستخدمة بشكل متكرر.

التاريخ

GNU Emacs ، محرر قابل للتوسيع يُستخدم بشكل شائع كـ IDE على أنظمة شبيهة بـ Unix

أصبحت IDEs ممكنة في البداية عند التطوير عبر وحدة تحكم أو محطة طرفية . لم تتمكن الأنظمة القديمة من دعم أحدها ، حيث تم إعداد البرامج باستخدام المخططات الانسيابية ، وإدخال البرامج ببطاقات مثقبة (أو شريط ورقي ، وما إلى ذلك) قبل إرسالها إلى المترجم . كانت Dartmouth BASIC هي اللغة الأولى التي تم إنشاؤها باستخدام IDE (وكانت أيضًا أول لغة تم تصميمها للاستخدام أثناء الجلوس أمام وحدة تحكم أو محطة طرفية). [ بحاجة لمصدر ] كان IDE الخاص به (جزء من نظام Dartmouth Time Sharing System ) قائمًا على الأوامر ، وبالتالي لم يكن يشبه إلى حد كبير IDE الرسومية القائمة على القائمة بعد ظهورواجهة المستخدم الرسومية . ومع ذلك ، فقد دمجت التحرير وإدارة الملفات والتجميع والتصحيح والتنفيذ بطريقة تتفق مع IDE الحديث.

Maestro I هو منتج من Softlab Munich وكان أول بيئة تطوير متكاملة في العالم [1] للبرامج. تم تثبيت برنامج Maestro I لـ 22000 مبرمج حول العالم. حتى عام 1989 ، كان يوجد 6000 منشأة في جمهورية ألمانيا الاتحادية . يمكن القول إن المايسترو كان زعيم العالم في هذا المجال خلال السبعينيات والثمانينيات. اليوم يمكن العثور على واحد من آخر مايسترو الأول في متحف تكنولوجيا المعلومات في أرلينغتون في تكساس.

كانت Softbench واحدة من أولى IDEs مع مفهوم المكونات الإضافية . في عام 1995 ، علق Computerwoche على أن استخدام IDE لم يلق قبولًا جيدًا من قبل المطورين لأنه سيؤدي إلى تعزيز إبداعهم.

اعتبارًا من يناير 2021 ، كانت IDEs الثلاثة التي يتم البحث عن صفحات التنزيل الأكثر شيوعًا هي Visual Studio و Eclipse و Android Studio . [2]

المواضيع

تمييز بناء الجملة

يوفر محرر IDE عادةً تمييزًا لغويًا ، ويمكنه إظهار الهياكل والكلمات الأساسية للغة وأخطاء بناء الجملة بألوان مميزة بصريًا وتأثيرات الخط . [3]

استكمال الكود

يعد إكمال التعليمات البرمجية ميزة مهمة من سمات IDE ، تهدف إلى تسريع البرمجة. حتى أن IDEs الحديثة لديها إكمال ذكي للكود .

إعادة بناء ديون

توفر IDEs المتقدمة الدعم لإعادة البناء الآلي . [3]

التحكم في الإصدار

من المتوقع أن يوفر IDE تحكمًا متكاملًا في الإصدار ، من أجل التفاعل مع مستودعات المصدر. [3]

تصحيح

تُستخدم IDEs أيضًا لتصحيح الأخطاء ، باستخدام مصحح أخطاء متكامل ، مع دعم لتعيين نقاط التوقف في المحرر ، والعرض المرئي للخطوات ، إلخ. [4]

البحث عن كود

قد توفر IDEs دعمًا للبحث عن التعليمات البرمجية. البحث عن الكود له معنيان مختلفان. أولاً ، يعني البحث عن إعلانات الفئات والوظائف ، والاستخدامات ، والقراءة / الكتابة المتغيرة والحقلية ، وما إلى ذلك. يمكن أن تستخدم IDE أنواعًا مختلفة من واجهة المستخدم للبحث عن الكود ، على سبيل المثال الحاجيات القائمة على النموذج [5] والواجهات القائمة على اللغة الطبيعية. [6] ثانيًا ، يعني البحث عن تنفيذ ملموس لبعض الوظائف المحددة. يمكن القيام بذلك باستخدام تقنيات رسمية [7] أو تقنيات عصبية [8] .

البرمجة المرئية

البرمجة المرئية هي سيناريو استخدام يكون فيه IDE مطلوبًا بشكل عام. يسمح Visual Basic للمستخدمين بإنشاء تطبيقات جديدة عن طريق تحريك البرمجة أو كتل الإنشاء أو عقد التعليمات البرمجية لإنشاء مخططات انسيابية أو مخططات هيكل يتم تجميعها أو تفسيرها بعد ذلك. غالبًا ما تستند هذه المخططات الانسيابية إلى لغة النمذجة الموحدة .

تم تعميم هذه الواجهة مع نظام Lego Mindstorms ويتم الاطلاع عليها بنشاط من قبل عدد من الشركات التي ترغب في الاستفادة من قوة المتصفحات المخصصة مثل تلك الموجودة في Mozilla . يدعم KTechlab رمز التدفق وهو IDE و Simulator مفتوح المصدر شهير لتطوير برامج لوحدات التحكم الدقيقة. البرمجة المرئية مسؤولة أيضًا عن قوة البرمجة الموزعة (راجع برنامج LabVIEW و EICASLAB ). تم تصميم نظام البرمجة المرئية المبكر ، Max ، على غرار تصميم المركب التناظري ، وقد تم استخدامه لتطوير برامج أداء الموسيقى في الوقت الفعلي منذ الثمانينيات. كان المثال المبكر الآخرPrograph هو نظام قائم على تدفق البيانات تم تطويره في الأصل لنظام التشغيل Macintosh . تُستخدم بيئة البرمجة الرسومية "Grape" لبرمجة مجموعات الروبوت qfix .

يستخدم هذا النهج أيضًا في البرامج المتخصصة مثل Openlab ، حيث يريد المستخدمون النهائيون مرونة لغة برمجة كاملة ، دون منحنى التعلم التقليدي المرتبط بواحدة.

دعم اللغة

تدعم بعض IDEs لغات متعددة ، مثل GNU Emacs على أساس C و Emacs Lisp ؛ IntelliJ IDEA أو Eclipse أو MyEclipse أو NetBeans ، استنادًا إلى Java ؛ MonoDevelop ، على أساس C # ؛ أو رمز التشغيل.

غالبًا ما يتم توفير الدعم للغات البديلة عن طريق المكونات الإضافية ، مما يسمح بتثبيتها على نفس IDE في نفس الوقت. على سبيل المثال ، يعد Flycheck امتدادًا حديثًا للتحقق من بناء الجملة لـ GNU Emacs 24 مع دعم 39 لغة. [9] يحتوي Eclipse و Netbeans على مكونات إضافية لـ C / C ++ و Ada و GNAT (على سبيل المثال AdaGIDE ) و Perl و Python و Ruby و PHP ، والتي يتم تحديدها تلقائيًا بناءً على امتداد الملف أو البيئة أو إعدادات المشروع.

المواقف عبر منصات الحوسبة المختلفة

يمكن لمبرمجي Unix الجمع بين أدوات POSIX لسطر الأوامر في بيئة تطوير كاملة ، قادرة على تطوير برامج كبيرة مثل Linux kernel وبيئتها. [10] بهذا المعنى ، فإن نظام Unix بأكمله يعمل كـ IDE. [11] أدوات GNU البرمجية المجانية ( GNU Compiler Collection (GCC) و GNU Debugger (GDB) و GNU make ) متوفرة في العديد من الأنظمة الأساسية ، بما في ذلك Windows. [12] فلسفة يونكس الشائعة "كل شيء هو تدفق نصي" تمكن المطورين الذين يفضلون سطر الأوامرأدوات موجهة لاستخدام المحررين مع دعم العديد من أدوات بناء يونكس وجنو القياسية ، وبناء بيئة تطوير متكاملة مع برامج مثل إيماكس [13] [14] [15] أو فيم . يهدف Data Display Debugger إلى أن يكون واجهة أمامية رسومية متقدمة للعديد من الأدوات القياسية لمصحح الأخطاء المستند إلى النص. يفضل بعض المبرمجين إدارة ملفات makefiles ومشتقاتها على أدوات بناء الكود المماثلة المضمنة في IDE الكامل. على سبيل المثال ، يستخدم معظم المساهمين في قاعدة بيانات PostgreSQL make و GDB مباشرةً لتطوير ميزات جديدة. [16] حتى عند إنشاء PostgreSQL لـMicrosoft Windows باستخدام Visual C ++ ، يتم استخدام البرامج النصية Perl كبديل للماكينة بدلاً من الاعتماد على أي ميزات IDE. [17] تحاول بعض IDEs الخاصة بـ Linux مثل Geany توفير واجهة أمامية رسومية لعمليات الإنشاء التقليدية.

نادرًا ما تُستخدم أدوات سطر الأوامر للتطوير على أنظمة Microsoft Windows المختلفة . تبعا لذلك ، هناك العديد من المنتجات التجارية وغير التجارية. ومع ذلك ، فإن لكل منها تصميمًا مختلفًا يؤدي عادةً إلى عدم التوافق. لا يزال معظم بائعي المترجمين الرئيسيين لنظام التشغيل Windows يقدمون نسخًا مجانية من أدوات سطر الأوامر الخاصة بهم ، بما في ذلك Microsoft ( Visual C ++ ، و Platform SDK ، و .NET Framework SDK ، و nmake Utility).

لطالما كانت IDE شائعة في نظامي Mac OS و macOS الكلاسيكيين من Apple Macintosh ، ويعود تاريخهما إلى بيئات Macintosh Programmer's Workshop و Turbo Pascal و THINK Pascal و THINK C في منتصف الثمانينيات. يمكن لمبرمجي macOS حاليًا الاختيار بين IDEs الأصلية مثل Xcode والأدوات مفتوحة المصدر مثل Eclipse و Netbeans . ActiveState Komodo هو IDE متعدد اللغات مملوك ومدعوم على macOS.

الذكاء الاصطناعي

يمكن لبعض ميزات IDEs الاستفادة من التطورات في الذكاء الاصطناعي . [18] على وجه الخصوص ، يمكن للمرء جمع معلومات من إجراءات IDE عبر المطورين من أجل زيادة ميزات IDE. [19] على سبيل المثال ، يؤدي النهج القائم على البيانات لإكمال الكود إلى إكمال الكود الذكي .

بيئة تطوير الويب المتكاملة

بيئة تطوير الويب المتكاملة (Web IDE) ، والمعروفة أيضًا باسم IDE عبر الإنترنت أو Cloud IDE ، هي بيئة تطوير متكاملة تعتمد على المستعرض وتسمح بتطوير البرامج أو تطوير الويب. [20] يمكن الوصول إلى IDE للويب من مستعرض ويب يسمح ببيئة عمل محمولة. لا يحتوي IDE على الويب عادةً على جميع الميزات نفسها مثل IDE التقليدي أو المكتبي ، على الرغم من أن جميع ميزات IDE الأساسية ، مثل تمييز بناء الجملة ، موجودة عادةً.

انظر أيضا

المراجع

  1. ^ "Interaktives Programmieren als Systems-Schlager" من Computerwoche ( الألمانية )
  2. ^ "TOP IDE Top Integrated Development Environment Index" . pypl.github.io .
  3. ^ أ ب ج "دورة CS350 بيئات التنمية المتكاملة" . cs.odu.edu . جامعة أولد دومينيون . تم الاسترجاع 10 أكتوبر 2018 .
  4. ^ "برمجة و IDE" . بي بي سي بايتسيز . تم الاسترجاع 10 أكتوبر 2018 .
  5. ^ "Eclipse Cookbook - رمز البحث" . أورايلي .
  6. ^ كيميج ، ماركوس. مونبيروس ، مارتن ؛ ميزيني ، ميرا (2011). "الاستعلام عن شفرة المصدر بلغة طبيعية" . 2011 المؤتمر الدولي السادس والعشرون IEEE / ACM حول هندسة البرمجيات الآلية (ASE 2011) . ص 376 - 379. arXiv : 1205.6361 . دوى : 10.1109 / ASE.2011.6100076 . رقم ISBN 978-1-4577-1639-3. S2CID  6898947 .
  7. ^ ستولي ، كاثرين ت. إلباوم ، سيباستيان ؛ دوبوس ، دانيال (2014). "حل البحث عن شفرة المصدر" . معاملات ACM في هندسة البرمجيات ومنهجيتها . 23 (3): 1–45. دوى : 10.1145 / 2581377 . ISSN 1049-331X . 
  8. ^ قو ، جيان ؛ تشن ، زيمين ؛ مونبيروس ، مارتن (2021). "التمثيل متعدد الوسائط للبحث عن الشفرات العصبية" . المؤتمر الدولي لعام 2021 IEEE حول صيانة البرامج وتطورها (ICSME) . لوكسمبورغ: IEEE: 483-494. دوى : 10.1109 / ICSME52107.2021.00049 . رقم ISBN 978-1-6654-2882-8.
  9. ^ "مقدمة - Flycheck 0.18-cvs" . اقرأ المستندات . مؤرشفة من الأصلي في 10 مارس 2014 . تم الاسترجاع 10 مارس 2014 .
  10. ^ رحمن ، كريستوفر بول ، كريستوفر ر. بول. "منصة تطوير Linux: تكوين بيئة برمجة كاملة واستخدامها والحفاظ عليها". 2002. ISBN 0-13-009115-4 
  11. ^ "UnixIsAnIde" .
  12. ^ ""استخدم Emacs مع Microsoft Visual C ++ ... استخدم Emacs باعتباره IDE"مؤرشفة من الأصلي في 4 يوليو 2013.
  13. ^ "إيماكس: بيئة تطوير البرمجيات الحرة | لينكس جورنال" . www.linuxjournal.com .
  14. ^ "The Common Lisp Cookbook - استخدام Emacs كـ Lisp IDE" . cl-cookbook.sourceforge.net .
  15. ^ "Emacs as a Perl IDE" . سبجيانروك.كوم .
  16. ^ PostgreSQL "الأسئلة الشائعة للمطورين - PostgreSQL wiki" . wiki.postgresql.org . {{cite web}}: تحقق من |url=القيمة ( مساعدة )
  17. ^ "الفصل 18. التثبيت من رمز المصدر على Windows" . توثيق PostgreSQL . 29 سبتمبر 2021.
  18. ^ وليامز وكريستينا ميرسر وهانا. "أدوات الذكاء الاصطناعي التي يحتاج جميع المطورين إلى تجربتها" . عالم التكنولوجيا .
  19. ^ بروش ، مارسيل. بودن ، إريك مونبيروس ، مارتن ؛ ميزيني ، ميرا (7 نوفمبر 2010). IDE 2.0: الذكاء الجماعي في تطوير البرمجيات . فيسر '10. ص 53 - 58. دوى : 10.1145 / 1882362.1882374 . رقم ISBN 9781450304276. S2CID  7637561 .
  20. ^ "الأدوات المستندة إلى الويب مقابل الأدوات المستندة إلى سطح المكتب - EclipseSource" . eclipsesource.com . 19 يونيو 2018.
0.084512948989868