การเปรียบเทียบ IDEs สำหรับการพัฒนา C ++ และ C บน Linux: KDevelop, Eclipse, NetBeans, CodeBlocks และ Anjuta [ปิด]


49

ฉันต้องการบันทึกประสบการณ์การใช้งาน IDE แบบเต็มรูปแบบบน Linux

โดยส่วนตัวแล้วฉันมักทำงานด้วยvimกัน แต่โปรแกรมเมอร์คนอื่น ๆ ต้องการเห็น IDE จริง ๆ ดังนั้นฉันต้องการฟังความเห็นส่วนตัวของคุณเกี่ยวกับ IDE ที่แตกต่างกันและการเปรียบเทียบระหว่างพวกเขาในบริบทต่อไปนี้:

  • C ++ และบางทีการพัฒนา C (ไม่ใช่ Java, Python และอื่น ๆ )
  • การเขียนโปรแกรมฝั่งเซิร์ฟเวอร์ (ไม่จำเป็นสำหรับการพัฒนา GUI)
  • ทำงานบน Linux ไม่ใช่การพัฒนา "ข้ามแพลตฟอร์ม"

ความเห็นจำเป็นต้องคำนึงถึง:

  1. มันเสถียรแค่ไหน? ถ้า IDE ขัดข้องฉันไม่ต้องการมัน
  2. สะดวกสบายในการใช้
  3. มีประสิทธิภาพสำหรับการแก้ไขข้อบกพร่อง
  4. บูรณาการกับระบบการสร้างต่างๆ
  5. ความสามารถปรับขยายได้สำหรับโครงการขนาดใหญ่ (โครงการที่มีโค้ดหลายแสนบรรทัด)

ฉันเคยทำงานกับ KDevelop และเป็น IDE ที่ดีมากและดูเหมือนว่า KDevelop 4 เป็นความก้าวหน้าที่ยิ่งใหญ่ ดูเหมือนว่าหลายคนใช้ Netbeans และ Eclipse


9
ฉันสนใจคำตอบที่คุณจะได้รับและฉันยินดีเป็นอย่างยิ่งกับผู้ที่ให้คำตอบหากพวกเขาสนับสนุนเกี่ยวกับอีกสองประเด็นที่ฉันสนใจความสามารถในการปรับขนาดของโครงการต่างๆในไฟล์ 50,000 ไฟล์ / 30 ล้านบรรทัด ความสามารถในการปรับตัวเข้ากับโครงสร้างโครงการซึ่งไม่ใช่สิ่งที่ IDE ใช้เป็นค่าเริ่มต้น การทดลองของฉันมีอายุหลายปี แต่ในเวลานั้นทุกสิ่งที่ฉันพยายามทำล้มเหลวในด้านนั้น
AProgrammer

@ AProgrammer - จุดดีมากเพิ่มลงในรายการ
Artyom

นอกจากนี้คุณยังสามารถดูที่ CodeLite- codelite.org น่าเสียดายที่ฉันไม่มีประสบการณ์มากในการใช้กับโปรเจ็กต์ขนาดใหญ่ อย่างไรก็ตามมันอาจจะคุ้มค่าที่จะลองดู
rsc

ด้วยโปรเจ็กต์และปลั๊กอินclang_completeและ make ที่กำหนดค่าอย่างเหมาะสมกลุ่มจะให้ IDE เกือบทุกอย่างที่คุณต้องการ (ยกเว้นการดีบัก) กับคนที่ฉันสงสัยว่าคุณจะอยู่กับกลุ่มต่อไป; ฉันทำอย่างแน่นอน
Jan Hudec

ฉันแค่สงสัยเกี่ยวกับมันด้วยตัวเอง ขอบคุณที่โพสต์คำถามนี้
ถูกระงับ

คำตอบ:


39

นี่คือประสบการณ์ส่วนตัวของฉันกับ IDEs ฉันติดตั้ง IDE ทั้งหมดที่ฉันสามารถหาได้และเล่นกับพวกเขาทั้งหมด (นั่นคือสิ่งที่ฉันแนะนำให้คุณทำ):

  • kdevelop

ฉันใช้มันเป็นการส่วนตัว เวอร์ชันที่ฉันติดตั้งล่ม แต่ฉันดาวน์โหลดเวอร์ชันล่าสุดจากเว็บไซต์ของพวกเขาและใช้งานได้ดี มันง่ายในการกำหนดค่าและใช้งานได้ดี พวกเขาสนับสนุนระบบการสร้างที่กำหนดเองผ่านทางปลั๊กอิน คุณอาจพบคุณลักษณะแปลก ๆ บางอย่าง (เช่นการแยกวิเคราะห์เฉพาะส่วนหัวที่รวมโดยตรง) แต่โดยทั่วไปแล้วจะใช้งานได้ดีสำหรับโครงการขนาดใหญ่

  • คราส

Super ซับซ้อนในการกำหนดค่า แต่มันช่วยให้ทุกอย่างแท้จริง หากคุณมีเวลามากพอที่จะค้นหาการกำหนดค่าที่ถูกต้องที่ทำให้ทุกคนพอใจ แต่การพยายามเปลี่ยนอะไรก็ตามมันน่ารำคาญมากเพราะมันมีตัวเลือกมากมาย

  • แอนจูตาและโคบล็อกบล็อค

ฉันลองมันในไม่ช้าและมันก็ไม่ดีเท่าสองตัวก่อนหน้านี้ Codeblocks นั้นดีสำหรับโครงการระยะสั้น แต่ไม่ใช่สำหรับขนาดกลางและใหญ่

  • NetBeans

IDE ที่ดีอีกอันหนึ่ง แต่เนื่องจากบ้านของฉันอยู่บนเครือข่ายที่ใช้ร่วมกันและโครงการที่ฉันทำงานค่อนข้างใหญ่มันช้ามาก มันแยกวิเคราะห์ตลอดเวลา

  • qtcreator

ง่ายต่อการกำหนดค่า แต่ไม่มีตัวเลือกมากมาย ตัวอย่างเช่นสิ่งที่แปลกประหลาดที่สุดคือมันไม่สามารถแยกวิเคราะห์และทำให้คลาส qt สมบูรณ์แบบอัตโนมัติ รองรับระบบสร้างที่กำหนดเอง


สรุป :

  • หากคุณอดทนพอ (หรือหากคุณพบว่ามีการกำหนดค่าที่ดี) ไปกับ eclipse มันเป็น IDE ฟรีที่ดีที่สุด
  • หากคุณต้องการตั้งค่าง่าย ๆ ให้ไปกับ kdevelop

อีกทางเลือกหนึ่งคือการติดตั้งทั้งสองและให้นักพัฒนาของคุณเลือกสิ่งที่เหมาะสมกับพวกเขาดีกว่า


16
Eclipse เป็นชิ้นส่วนที่ช้าของ Java .... ไม่มีเหตุผลที่จะใช้อย่างใดอย่างหนึ่งเว้นแต่จะไม่มีทางเลือกอย่างแน่นอน บนพีซีของฉันเพิ่งเริ่มทำงานในไม่กี่นาที นัฟพูดแล้วไม่เหรอ?
Coder

10
@Coder ดีคุณจะเริ่มครั้งเดียวและใช้มันทั้งวันโดยไม่ต้องเริ่มต้นใหม่ นั่นเป็นความคิด 1 นาทีไม่มีอะไรเทียบกับระยะเวลาที่คุณจะใช้ในหนึ่งวัน
BЈовић

6
@VJovic: การสลับระหว่างแท็บใช้เวลาตั้งแต่ 18 วินาทีถึง 1 วินาทีขึ้นอยู่กับแท็บและการชะลอตัวไม่ได้ใช้เพียงการชะลอตัวครั้งแรกเท่านั้น แม้แต่ Visual Studio ก็ดูไร้สาระเมื่อเทียบกับสิ่งนั้น
Coder

7
@Coder ดังที่ Edison กล่าวว่าการติดตั้งหรือสภาพแวดล้อมของคุณไม่ดี อุปราคาของฉันเร็วมาก การสลับแท็บเกือบจะทันที
BЈовић

4
Ecilpse หน่วยความจำรั่วไหลเหมือนตะแกรง กล่อง Linux ผู้ใช้หลายคนที่มี 16 Gig RAM หมด RAM ที่มี Eclipse (CDT) ไม่กี่อินสแตนซ์ที่ใช้งานนานกว่าสองสามวัน ดังนั้นการเริ่มต้นช้าเป็นปัญหาตามที่คุณต้องการเริ่มต้นใหม่อย่างน้อยวันละครั้งหรือช้าลงจากนั้นเข้าร่วมทีม dev Eclispe RAM ใช้งาน - 600Meg / อินสแตนซ์เพิ่มขึ้นที่ 100 / วัน IDE 50Meg / อินสแตนซ์ที่เติบโตอย่างเต็มที่ที่ 0 / วัน, VIM, 10Meg เติบโตที่ 0 / วัน IDE เชิงพาณิชย์หนึ่งตัวที่มีป้ายราคา $ US250 ต่อที่นั่งแสดงผลตอบแทนจากการลงทุนน้อยกว่า 1 ปีจากการสูญเสียผลผลิตในการโหลด Eclipse วันละครั้ง
mattnz

13

ดูที่ Qt Creator

  • มันค่อนข้างเสถียร ฉันจำไม่ได้ว่าเกิดปัญหาขึ้นกับมัน
  • อาจใช้เวลาสักครู่เพื่อทำความคุ้นเคยกับการไม่มีแท็บ แต่อินเทอร์เฟซโดยรวมดี
  • มันใช้ gdb การดีบักไม่ดีเท่าใน Visual Studio แต่ก็ยังค่อนข้างดี นอกจากนี้ยังทำงานร่วมกับ profiler (Valgrind) ได้ทันที
  • มันทำงานร่วมกับ qmake และ CMake แต่คุณสามารถเรียกใช้คำสั่งที่กำหนดเองได้ดังนั้นจึงควรใช้เกือบทุกอย่าง
  • ไม่สามารถพูดอะไรเกี่ยวกับโครงการขนาดใหญ่ได้ แต่มันถูกสร้างและใช้โดยคนเดียวกันกับผู้เขียน Qt ดังนั้นความต้องการจึงสูง
  • ดูเหมือนจะไม่มีข้อสมมติฐานเกี่ยวกับโครงสร้างโครงการ

ฉันลอง KDevelop 4 มาแล้ว แน่นอนว่ามันเคลื่อนที่ไปในทิศทางที่ถูกต้อง แต่ก็ค่อนข้างบั๊กเล็กน้อย คุณอาจต้องการลองต่อไป

ฉันใช้ CodeBlocks เป็นเวลาสั้น ๆ แต่ฉันจำได้ว่าฉันไม่ชอบเพราะส่วนต่อประสานนั้นน่าเกลียด


8

นักพัฒนา GCC หลายคน (และ GCC มี 5-9 ล้านบรรทัดของรหัสที่มาขึ้นอยู่กับวิธีการที่คุณนับพวกเขา) เพียงแค่ใช้emacs หรือviกับสาธารณูปโภคเช่นgrep, ctagsหรือetags, make, svn, gccฯลฯ )

คุณไม่จำเป็นต้องมี IDE เพื่อพัฒนาซอฟต์แวร์ขนาดใหญ่

หากซอฟต์แวร์ของคุณมีขนาดใหญ่พอ (เช่นอย่างน้อย 0.3 ล้านบรรทัด) คุณสามารถพิจารณากำหนดปลั๊กอิน GCC ผ่านหรือส่วนขยายMELTเพื่อวัตถุประสงค์ในการวัดซอฟต์แวร์การนำทางซอฟต์แวร์คำเตือนเฉพาะกฎการเข้ารหัส ฯลฯ


10
นั่นไม่ใช่คำถาม ตามที่ฉันสังเกตฉันส่วนใหญ่ใช้เป็นกลุ่ม (กับ grep, ctags ฯลฯ ) - ฉันรู้ว่ามันดีแค่ไหน อย่างไรก็ตามโปรแกรมเมอร์หลายคนชอบ IDE
Artyom

1
IDE มีประโยชน์เป็นพิเศษสำหรับคุณสมบัติที่เกี่ยวข้องกับคลาส C ++ ซึ่งยากต่อการกำหนดค่าใน Vim Raw C ใช้ได้กับ ctags
Ciro Santilli 事件改造中心法轮功六四事件

6

ฉันทำงานกับ Eclipse เป็นหลัก ใช้ KDevelop ด้วยความพึงพอใจอย่างมากสำหรับปีนี้ แต่ตอนนี้ฉันทำงานในโครงการหลายภาษา (C, C ++, PHP, Java, Python, ฐานข้อมูล, เว็บ, ฯลฯ )

Adavantages of Eclipse: เครื่องมือมากมายสำหรับทุกสิ่ง (รวมถึงการควบคุมเวอร์ชัน); ทำงานได้ดีมากสำหรับการตรวจสอบไวยากรณ์และการเติมข้อความอัตโนมัติ ทำได้ดีเมื่อรวบรวม / สร้าง / แก้ไขข้อบกพร่อง มันเป็นหลายแพลตฟอร์ม (Linux, Windows, Solaris, ฯลฯ )
ข้อเสีย: ฟังก์ชั่นหรือการตั้งค่าบางอย่างเป็นฝันร้าย (ตัวอย่างเช่นเมื่อคุณต้องปรับใช้โครงการจากเวิร์กสเตชันของคุณไปยังเซิร์ฟเวอร์ Eclipse เก็บแคชและถ้า มันคิดว่าไฟล์บนเซิร์ฟเวอร์มัน 'ทันสมัย' ไฟล์จะไม่ถูกเขียนทับ) Eclipse มีขนาดใหญ่มากสำลัก CPU-Power ส่วนใหญ่ของคุณและดูดหน่วยความจำทั้งหมดของคุณ ข้อมูลเพิ่มเติมได้ที่http://www.ihateeclipse.com

KDevelop นั้นเร็วและยอดเยี่ยมสำหรับโครงการ C / C ++ และ KDE / Qt แต่ขาดฟังก์ชั่นบางอย่างเช่นการสนับสนุน Mercurial (KDevelop 3.3.4 ไม่รู้สำหรับรุ่นที่ใหม่กว่า)


4

Visual SlickEdit - เชิงพาณิชย์เช่นเดียวกับเครื่องมือที่ดี "ใช้งานได้" จัดการทุกภาษาภายใต้ดวงอาทิตย์ออกจากกล่องกำหนดค่าได้สูงและหากต้องการโปรแกรมที่สามารถตั้งค่าได้อย่างสมบูรณ์จะวาง gui รอบ GDB สำหรับการดีบัก จัดการโครงการที่มีขนาดใหญ่มาก (ฉันใช้เพื่อเป็นรหัสฐาน 5million + SOLC ซึ่งฉันเล่นกับพวกเขาประมาณ 1 ล้านคน) - ได้รับรางวัลมากมายกลับมาและดีขึ้นตั้งแต่นั้นมา ลองมัน

Eclipse - เครื่องมือที่เลือกเมื่อเขียนโปรแกรมใน Java, OK สำหรับภาษาใดภาษาหนึ่งที่รองรับ เขียนใน Java สำหรับนักพัฒนา Java ที่พัฒนาโปรแกรม Java แต่ต้องการปลั๊กอินสำหรับฟีเจอร์เล็ก ๆ น้อย ๆ และฟีเจอร์หลัก ไม่ "ใช้งานได้" มากกว่าหนึ่งภาษาพร้อมกัน


4

Netbeans เป็น IDE ที่ช้าและช้า เราไม่ได้ใช้ "ไดโนเสาร์คอมพิวเตอร์" แต่เป็น IDE HANGS มานานแล้ว หากเราเข้าถึง Netbeans IDE ผ่านเครือข่าย (พูดโดยใช้ VNC) แล้วลืมมัน !!! ความล่าช้านั้นแย่มากจนทำให้ Netbeans ใช้ไม่ได้!

ฉันพบว่า Eclipse ติดตั้งยากสำหรับการใช้ครั้งแรก แต่ถ้าคุณอดทนคุณจะจบลงด้วย IDE ที่มีทุกสิ่งที่คุณต้องการหรือต้องการ (อาจเป็นไปได้ด้วยปลั๊กอิน)

ฉันไม่ต้องการใช้มากกว่าหนึ่ง IDE และฉันสงสัยว่าคุณไม่ต้องการเช่นกัน ฉันจะแนะนำ Eclipse โดยมีข้อบกพร่องทั้งหมด


4

ดังนั้น ... ฉันแค่เพิ่มความคิดเห็นอื่น แต่ฉันไม่คิดว่าคุณสามารถเลือกเป็นผู้ใช้กลุ่มดังนั้น

emacs + gdb http://www.cs.bu.edu/teaching/tool/emacs/programming/

ก่อนอื่นเลยที่จะเป็นIDE ที่เบาที่สุด(ฉันยังสามารถเรียกมันว่าระบบปฏิบัติการ) และปรับแต่งได้มากที่สุดเพื่อให้คุณสามารถทำทุกอย่างด้วยการใช้ทรัพยากรขั้นต่ำยกเว้นทรัพยากรระดมสมองบางอย่าง

ส่วนตัวเมื่อฉันมีโครงการที่จริงจังฉันใช้ Visual Studio แต่เมื่อฉันต้องการทำงานกับ linux ฉันจะเรียกใช้ emacs (เช่นฉันไม่ชอบ qt เลย)

นอกจากนี้ (ส่วนใหญ่เป็นเพราะฉันชอบปลั๊กอิน last.fm และการสนับสนุน clojure ที่นั่น) ฉันพบ IDE ที่ดีสำหรับ linux (ยัง tryeng เพื่อเปลี่ยนเป็น emacs จากนั้น == 'ด้วยเหตุผลบางอย่าง) IDEAไม่แนะนำให้ใช้กับ C ++ แต่อาจจะ มันก็ไม่ได้แย่เหมือนกันดังนั้นคุณสามารถเพิ่มเข้าไปในรายการของคุณได้


1

QT และ CodeBlocks ก็โอเค ฉันใช้ CodeBlocks เมื่อเร็ว ๆ นี้

มันสามารถกำหนดค่าสำหรับโครงการ makefile ส่วนใหญ่การเติมโค้ดใช้งานได้และไม่แขวนเหมือนหนึ่งใน MSVS ไปที่การกำหนดนั้นรวดเร็วอย่างเห็นได้ชัด การเรียกดูฟังก์ชั่นทำได้ดีเช่นกัน

มีปัญหาเล็ก ๆ น้อย ๆ อยู่บ้าง แต่สำหรับการทำงานแบบวันต่อวันบน Linux มันดีมาก IMHO


0

ความพยายามเพียงอย่างเดียวของฉันในการใช้ IDE บน Linux เกิดขึ้นในปี 2005 แต่ในเวลานั้นไม่มี IDE ที่ฉันพยายาม (KDevelop, eclipse, Anjuta) เป็นสิ่งที่ดีมากฉันเลยกลับไปที่ vim + ctags + gdb และยังใช้มันเพื่อการเข้ารหัส Linux


คุณอาจเป็นคนที่รู้คำตอบ: ไปที่วิธีการใช้งานวิธีการบางอย่างในชั้นเรียนของลำดับชั้นอื่น (การดำเนินงานของผู้ปกครอง / เด็ก) ในกลุ่ม
Sergei

ตัวอย่างเช่นใน Eclipse การรวมกันคือ Ctrl + T ในชื่อวิธีการ
Sergei

@Sergei ขออภัย ctags ไม่รองรับ คุณอาจมีโชคที่ดีขึ้นกับสิ่งที่ชอบ YCM: github.com/Valloric/YouCompleteMe
Nemanja Trifunovic
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.