سؤال

ما هو أفضل بيئة تطوير متكاملة لـ C++ لبيئة *nix؟لقد سمعت أن وحدة C/C++ الخاصة بـ Eclipse مناسبة تمامًا مثل Notepad++ ولكن ليس لدي أي فكرة حقيقية عما هو أبعد من هذين.أي أفكار أو تعليقات؟

هل كانت مفيدة؟

المحلول

في Ubuntu، بعض بيئات التطوير المتكاملة المتوفرة في المستودعات هي:

يوجد ايضا:

  • كسوف (يوصى بعدم التثبيت من المستودعات، بسبب وجود مشكلات تتعلق بأذونات الملف/المجلد)
  • الكود::كتل

وبالطبع، محرري النصوص المفضلين لدى الجميع:

  • السادس/vim
  • ايماكس

صحيح أن vim وemacs أدوات قوية جدًا، لكن منحنى التعلم شديد الانحدار.

أنا حقا لا أحب كسوف إلى هذا الحد، أجدها عربات التي تجرها الدواب وقليلة للغاية.
لقد بدأت باستخدام جني باعتبارها عظام عارية ولكنها وظيفية و صالح للإستعمال بيئة تطوير متكاملة.يحتوي على ميزة إكمال التعليمات البرمجية الأساسية، وهو عبارة عن واجهة [Gnome] جميلة ونظيفة.
أنجوتا لقد حاولت لمدة يوم، لم يعجبني على الإطلاق.لم أجده مفيدًا مثل Geany.

كديفيلوب و الكود::كتل حصلت على مجموعة من التقييمات الجيدة، لكني لم أجرّبها.أستخدم جنوم، ولم أر بعد تطبيق KDE الذي يبدو جيدًا في جنوم (آسف، أنا متأكد من أنه برنامج رائع).

لو تم إصدار Bloodshed dev-c++ فقط في نظام التشغيل Linux.هذا برنامج رائع (ولكنه يعمل بنظام Windows فقط).يمكنك دائمًا تشغيله ضمن Wine ;)

إلى حد ما، يتعلق الأمر بالتفضيل الشخصي.نصيحتي هي التحقق من كتل Kdevelop وGeany وcode::blocks كنقطة بداية.

نصائح أخرى

باعتباري مبرمجًا يكتب التعليمات البرمجية في نظام التشغيل Linux لسنوات عديدة، لا يبدو أنني أستطيع الابتعاد عن استخدام Vim لكتابة التعليمات البرمجية.

بمجرد أن تتعلمه، وتتعلم بعض ميزاته الأكثر تقدمًا (طي التعليمات البرمجية، وكيفية استخدام علامات ctag، وكيفية العمل مع المخازن المؤقتة المتعددة بشكل فعال، وما إلى ذلك) يصبح الانتقال إلى محرر آخر أمرًا صعبًا للغاية - حيث يبدو أن كل شيء آخر يفتقد الميزات التي تحتاجها 'إعادة تستخدم ل.

المحرر الآخر الوحيد الذي يحتوي على مجموعة شاملة من ميزات vim هو emacs.أوصي بشدة بتعلم أحدهما أو الآخر - وإذا كانت لديك أسئلة، فلا تتردد في طرحها هنا أو في #emacs أو #vim على irc.freenode.net - هناك مجتمع كبير جدًا ومفيد سيساعدك على معرفة الامتدادات أو الأوامر تناسب بشكل أفضل مشكلات تحرير البرامج التي تواجهها.

[يحرر:أشار أحد التعليقات إلى أن "vim ليس IDE"، وأنا أوافق على ذلك.لا أحب لقب IDE لأنه يعني واجهة المستخدم الرسومية مع مدير المشروع ومجموعة من المربعات المنسدلة.أحب استخدام المصطلحات "أدوات جيدة".يرى تيد ليونج كتابات في هذا الشأن]

أنا مندهش لم يذكر أحد كيو تي الخالق, ، نظرًا لأنه متوفر في معظم المستودعات، فهو صغير الحجم جدًا ومع ذلك يقوم بمعظم الأشياء التي أحتاجها بشكل جيد للغاية.

أوصي CodeBlocks.

يسلط الضوء:

  • مفتوح المصدر!GPLv3، لا توجد تكاليف مخفية.
  • عبر منصة.يعمل على Linux وMac وWindows (يستخدم wxWidgets).
  • مكتوب في C++.لا حاجة إلى لغات مترجمة أو libs خاصة.
  • قابلة للتوسعة من خلال الإضافات

مترجم:

  • دعم مترجم متعددة:
    • دول مجلس التعاون الخليجي (MingW / GNU دول مجلس التعاون الخليجي)
    • MSVC++
    • المريخ الرقمي
    • بورلاند سي++ 5.5
    • افتح واتكوم
    • ...و اكثر

أنا فقط أستخدم إيماكس.

Emacs عبارة عن بيئة تطوير متكاملة (IDE) رائعة، تبقى بعيدًا عن طريقي ولكنها قادرة على القيام بكل شيء.انظر هذا السؤال الآخر ذي الصلة: استخدام Emacs باعتباره IDE

تصويتي هو KDevelop (أتمنى لو كان لدي المزيد من النقاط حتى أتمكن من "التصويت لصالح"، حتى أتمكن من الاتفاق مع الآخرين بشكل غير مباشر بدلاً من التعليق).

لقد كنت أستخدم Eclipse منذ عامين تقريبًا للاستخدام الشخصي، وأقنع نفسي أنه "منذ تبرعت شركة IBM به، يجب أن يكون جيدًا"، ولكن بعد ذلك اكتشفت KDevelop ولم أتراجع أبدًا.نظرًا لأنني مدلل تمامًا باستخدام Microsoft Visual Studio للاستخدام الاحترافي، فقد شعرت بأن KDevelop هو الأكثر راحة بالنسبة لي.

أريد أن أستمتع بالبرمجة كهواية، وليس قضاء الوقت في البحث عن شيء ما كنترول-ك-ك و كنترول-ك-ب يفعل.كما ذكر الآخرون، فإن كل ما "يبدو صحيحًا" بالنسبة لهم هو أفضل بيئة تطوير متكاملة (IDE).بالنسبة لي، أشعر براحة أكبر في KDevelop لأنني أستطيع التركيز على البرمجة (ربما يمكنني إعادة تعيين مفاتيح IDE الأخرى لأجعلها تبدو وكأنها VS، ولكن كما ذكرنا، أفضل استثمار وقتي في البرمجة، وهو أكثر متعة).

إذا كنت قادمًا من Windows وVisual Studio، فقد تجد أن Code::Blocks يلبي توقعاتك.

كانت تلك تجربتي.لقد جربت عددًا قليلًا من الآخرين أولاً، ولكن يبدو أنهم جميعًا يتوقعون مني أن أقوم ببرنامج تعليمي مطول قبل أن أتمكن من البدء في القيام بأي شيء مثير للاهتمام - ومع وجود عشرات من بيئات التطوير المتكاملة (IDEs) التي يجب تجربتها، قد يستغرق ذلك أيامًا.

مع Code::Blocks لم يكن هناك أي عوائق يمكن القفز من خلالها، وكان هناك القليل جدًا كروت إلزامية لأتعلم قبل أن أكون منتجًا.ما زلت أفضّل Visual Studio، لكن Code::Blocks يمكنها فتح مشاريع Visual Studio الخاصة بي، ولا يبدو أنها تريد مني أن أضيع أي وقت، لذا فهي بيئة التطوير المتكاملة الأكثر ربحًا بالنسبة لي.

أستخدم البرنامج الإضافي NetBeans C++ وهو رائع.لقد جئت من خلفية Visual Studio وإدارة مشروع Netbeans متشابهة جدًا.لقد قمت بتجربة KDevelop لكني وجدته غير مستقر بعض الشيء (كان ذلك قبل 12 شهرًا، لذا ربما يكون أفضل الآن).

لقد كافحت أيضًا مع التبعيات باستخدام KDevelop - أي.حيث يتطلب البرنامج إنشاء مجموعة كبيرة من libs أولاً - لكن Netbeans جعل ذلك أمرًا بسيطًا.

الشكوى الوحيدة هي أنه كونه تطبيق Java، فهو ليس سريعًا بشكل خاص - وهو ملحوظ جدًا عند تشغيله ضمن برنامج VMWare.

ببساطة، نتبيانز.عليك أن تجرب ذلك.انه جيد جدا.إنه أفضل بكثير من Eclipse مع البرنامج الإضافي CDT.

ك ديفيلوب أمر جميل، خاصة إذا كنت تقوم بتشغيل KDE.وهو يدعم العديد من اللغات، كمكافأة إضافية.لقد وجدت المحطة المضمنة الخاصة بها مفيدة حقًا.

حصلت Netbeans على بعض التقييمات الجيدة جدًا لدعمها لـ C++: http://www.netbeans.org/features/cpp/

لم أستخدم Netbeans أو Eclipse مطلقًا لتطوير C++، لكن الأمر يستحق النظر إليه.

لقد كنت أحد مستخدمي VisualStudio + VA-X قبل أن أتحول إلى نظام التشغيل Ubuntu، وكنت بحاجة إلى ميزات جيدة للإكمال التلقائي والتنقل بين الوظائف في أي بيئة تطوير متكاملة (IDE).

لقد جربت Netbeans وEclipse CDT وCodeBlocks وGeany وAnjuta وKDevelop واستقرت أخيرًا على KDevelop نظرًا لأن ذلك كان أقرب ما يمكنني الوصول إليه من VS+VA-X.

Eclipse وNetBeans ثقيلان جدًا وبطيئان بالنسبة لذوقي.تحتوي معظم بيئات التطوير المتكاملة الأخرى على أخطاء في الإكمال التلقائي/غير مكتمل/غبي وميزات أخرى؛أو أنهم يريدون التحكم في التعليمات البرمجية الخاصة بك ويحتاجون إلى استيرادها إلى المشاريع؛أو يضعون 101 ملفًا في المجلد المصدر الخاص بك.فقط KDevelop سمح لي بالحصول على رابط بسيط لمجلد src الخاص بي والسماح لي بالعمل.الإكمال التلقائي ليس رائعًا، ولكنه أفضل من الآخرين.

KDevelop لا يندمج بشكل جيد مع جنوم الخاص بي، لكن يمكنني التعايش معه؛)

انا فعلا احب كود لايت.تحقق من ذلك صفحة مميزة.

أنا شخصياً أتفق مع جمهور kDevelop أيضًا.شعر Eclipse بأنه ضخم بعض الشيء وغير مستقر إلى حد ما.هناك شيء يتعلق بـ kDeveloper يشعرك دائمًا أنه على ما يرام.

في نهاية المطاف ++ [http://www.ultimatepp.org/index.html]

[يحرر]
إنه يحتوي على مكتبات فئة C++ خاصة به (كما يشير هيرنان)، ولكن لا شيء يمنعك من استخدام أي مكتبات فئة أخرى مثل SDL، أو يمكنك إنشاء مكتباتك الخاصة.يمكنك حتى استخدام التعزيز إذا أردت، ولكن يجب أن أقول إنني أجد بعض الفئات والتقنيات المتوفرة أكثر فائدة.

أكثر ما أقدره هو تكامله الرائع مع مصحح الأخطاء والمحرر الكامل للغاية الحساس للسياق.يستخدم المترجم والمصحح القياسي (gcc، g++، gdb) على Linux والمترجم/مصحح الأخطاء MS على هذا النظام الأساسي.

المشكلة الوحيدة (الصغيرة جدًا) التي أواجهها هي الأسماء محلية الصنع للمشاريع (تسمى Nest's وما إلى ذلك).هذا غير ضروري وربما يكون منفرًا للمطورين الجادين، لكنها مجرد أسماء وأجد أنه يمكنني تجاهلها بسهولة.

لقد طرحت هذا السؤال من قبل لتجربة مستخدمي Linux وهم دائمًا يقولون Vim وautomake.أستخدم Vim كمحرر افتراضي في Linux وبعد فترة يصبح الأمر بديهيًا.لقد تعلمتها من خلال العمل على بعض الأمثلة الصغيرة أثناء تعلم لغة C++ حتى أتمكن من تعلم كليهما في نفس الوقت.

في وظيفتي القديمة كنا نستخدمها تحرير سليك لتطوير C++ في دبيان.إنها منصة مشتركة وقوية جدًا.

إنها ليست مجانية، رغم ذلك.

المشكلة في معظم بيئات التطوير المتكاملة هي أنهم يريدون الحصول على درجة معينة من التحكم في كيفية تنظيم المشروع، وقد يكون هذا مشكلة إذا كان عليك العمل على هذا المشروع مع أشخاص آخرين.في تجربتي، يؤدي هذا إلى سلسلتين من المشاكل ذات الصلة:

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

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

السبب وراء عدم وجود مشكلة في نظام التشغيل Windows هو أن Visual Studio عبارة عن برنامج دي المعيار الفعلي.في إطار *nix، هناك ميل إلى عدم فرض أدوات/محررين معينين عند تطوير مشروع بشكل تعاوني، وهذا هو سبب ظهور مشاكل "الاتصال عبر IDE".

كملاحظة أخيرة، إذا تعلمت، على سبيل المثال، kdevelop أو netbeans، فقد تواجه مشكلات إذا اضطررت في يوم من الأيام إلى العمل على جهاز يمثل تثبيته مشكلة (على سبيل المثال.قد لا يتوفر لديك وقت تشغيل Java وقد لا يُسمح لك بتثبيته).إذا تعلمت (على سبيل المثال) Vim + plugins، فأنت أكثر أمانًا:يمكنك الاحتفاظ بالتكوين الخاص بك كملف .zip على خادم الويب الخاص بك والتأكد من أن Vim سيكون متاحًا دائمًا في كل مكان.

لا أستطيع حقًا أن أضمن وحدة Eclipse، ولكن قد يُعزى ذلك إلى حقيقة أنني أستخدم Windows وليس لدي أي فكرة تقريبًا عما أفعله.

لا يمكن أن تخطئ في استخدام محرر النصوص المفضل لديك.

Eclipse ليس سيئًا، ولكن عليك أن تفعل الأشياء بطريقة Eclipse.يحتوي Eclipse على بعض الأفكار المضمنة حول تخطيط الدليل.بالنسبة لمشروع جديد، يعد Eclipse خيارًا معقولًا.قد يتطلب استيراد مشروع موجود إلى Eclipse بعض إعادة الهيكلة.

اعتدت على استخدام Eclipse ضمن QNX لـ C++.قام موظفو QNX بالفعل بتطوير قدرة C++، لذلك سيكون لدى QNX IDE.

يعمل Emacs في أشياء بسيطة ولكنني أستخدم Eclipse لأي مشروع أكبر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top