So sánh các IDE để phát triển C ++ và C trên Linux: KDevelop, Eclipse, NetBeans, CodeBlocks và Anjuta [đã đóng]


49

Tôi muốn lưu ý trải nghiệm của bạn về IDE quy mô đầy đủ trên Linux.

Cá nhân tôi làm việc chủ yếu với vim, tuy nhiên các lập trình viên khác muốn thấy một IDE thực sự. Vì vậy, tôi muốn nghe ý kiến ​​cá nhân của bạn về các IDE khác nhau và so sánh giữa chúng, trong bối cảnh sau:

  • C ++ và có thể một số phát triển C (không phải Java, Python và các thứ khác)
  • Lập trình phía máy chủ (không cần phát triển GUI)
  • Làm việc trên Linux không phải là phát triển "đa nền tảng".

Ý kiến ​​cần thiết liên quan:

  1. Làm thế nào là ổn định? Nếu IDE gặp sự cố, tôi không cần nó.
  2. Thoải mái khi sử dụng.
  3. Mạnh mẽ để gỡ lỗi.
  4. Tích hợp với các hệ thống xây dựng khác nhau
  5. Khả năng mở rộng trên các dự án lớn (dự án hàng trăm ngàn dòng mã)

Tôi đã từng làm việc với KDevelop và nó rất hay IDE và dường như KDevelop 4 là một tiến bộ rất lớn. Có vẻ như nhiều người sử dụng Netbeans và Eclipse.


9
Tôi rất quan tâm đến câu trả lời mà bạn sẽ nhận được và tôi rất vui mừng với những người cung cấp câu trả lời nếu họ nói về hai điểm khác mà tôi quan tâm. Khả năng mở rộng cho các dự án trong phạm vi 50 nghìn tệp / 30 triệu dòng và khả năng thích ứng với cấu trúc dự án không được sử dụng theo mặc định của IDE. Các thí nghiệm của tôi đã vài năm tuổi nhưng tại thời điểm đó, mọi thứ tôi đã thử đều thất bại ở những khía cạnh đó.
AProgrammer

@AProgrammer - điểm rất tốt, được thêm vào danh sách.
Artyom

Bạn cũng có thể xem CodeLite- codelite.org . Thật không may, tôi không có nhiều kinh nghiệm sử dụng nó với các dự án lớn. Tuy nhiên, nó có thể là giá trị để kiểm tra xem nó ra.
rsc

Với các plugin của dự ánclang_complete và được tạo cấu hình đúng, vim sẽ cung cấp cho bạn hầu hết mọi thứ IDE sẽ làm (ngoại trừ gỡ lỗi). Với những người tôi nghi ngờ bạn sẽ vẫn ở lại với vim; Tôi chắc chắn.
Jan Hudec

Tôi chỉ tự hỏi về nó bản thân mình. Cảm ơn đã gửi câu hỏi này.
Đình chỉ

Câu trả lời:


39

Đây là kinh nghiệm cá nhân của tôi với IDE. Tôi đã cài đặt tất cả các IDE mà tôi có thể tìm thấy và chơi với tất cả các IDE (đó là những gì tôi sẽ khuyên bạn nên làm):

  • phát triển

Cá nhân tôi sử dụng nó. Phiên bản tôi đã cài đặt sự cố, nhưng tôi đã tải xuống phiên bản mới nhất từ ​​trang web của họ và nó hoạt động tốt. Nó là đơn giản để cấu hình và tuyệt vời để sử dụng. Họ hỗ trợ hệ thống xây dựng tùy chỉnh thông qua các trình cắm. Bạn có thể tìm thấy một số tính năng kỳ lạ (như phân tích cú pháp chỉ bao gồm các tiêu đề được bao gồm trực tiếp), nhưng nhìn chung nó hoạt động tốt cho các dự án lớn.

  • nhật thực

Siêu phức tạp để cấu hình, nhưng nó cho phép mọi thứ theo nghĩa đen. Nếu bạn có đủ thời gian để tìm một cấu hình chính xác làm hài lòng tất cả mọi người, thì hãy tìm nó. Nhưng cố gắng thay đổi bất cứ điều gì là rất khó chịu vì nó có rất nhiều lựa chọn.

  • anjuta và codeblocks

Tôi đã thử nó một thời gian ngắn, và nó không tốt như hai phần trước. Codeblocks tốt cho các dự án ngắn, nhưng không phải cho vừa và lớn.

  • netbeans

Một IDE tốt khác, nhưng vì nhà tôi đang chia sẻ mạng và dự án tôi làm khá lớn nên rất chậm. Nó phân tích tất cả các thời gian.

  • qtcreator

Cấu hình đơn giản, nhưng nó thiếu rất nhiều tùy chọn. Ví dụ, điều kỳ lạ nhất với nó là nó không thể phân tích cú pháp và tự động hoàn thành các lớp qt. Hỗ trợ hệ thống xây dựng tùy chỉnh.


Để kết luận:

  • nếu bạn đủ kiên nhẫn (hoặc nếu bạn tìm thấy một cấu hình tốt), hãy đi với nhật thực. Nó thực sự là IDE miễn phí tốt nhất.
  • Nếu bạn muốn một cái gì đó đơn giản để cấu hình, hãy đi với kdevelop.

Một tùy chọn khác là cài đặt cả hai và để nhà phát triển của bạn chọn những gì phù hợp với họ hơn.


16
Eclipse là một phần chậm của Java .... Không có lý do để sử dụng một cái trừ khi hoàn toàn không có lựa chọn thay thế nào. Trên PC của tôi, nó chỉ bắt đầu trong chưa đầy một phút. Nuff nói, không?
Coder

10
@Coder Vâng, bạn sẽ khởi động nó một lần và sử dụng cả ngày mà không cần khởi động lại. Đó là một ý tưởng. 1 phút không là gì so với thời gian bạn sẽ sử dụng nó trong một ngày.
BЈовић

6
@VJovic: Chuyển đổi giữa các tab mất từ ​​18 giây đến 1 giây tùy thuộc vào tab và chậm lại không phải là lần đầu tiên chỉ sử dụng chậm. Ngay cả Visual Studio có vẻ linh hoạt so với điều đó.
Coder

7
@Coder Như Edison đã nói, cài đặt hoặc môi trường của bạn không tốt. Nhật thực của tôi là siêu nhanh. Chuyển đổi tab là gần như ngay lập tức.
Bовић

4
Ecilpse rò rỉ bộ nhớ như sàng. Hộp Linux nhiều người dùng, với 16 Gig RAM, hết RAM với một vài phiên bản Eclipse (CDT) chạy trong hơn một vài ngày. Do đó, khởi động chậm là một vấn đề, vì bạn cần khởi động lại ít nhất một lần một ngày, hoặc làm chậm lại sau đó là đội dev. Sử dụng RAM Eclispe - 600Meg / thể hiện tăng trưởng 100 / ngày. IDE 50Meg / phiên bản đầy đủ tính năng tăng trưởng 0 / ngày, VIM, 10Meg tăng trưởng 0 / ngày. Một IDE thương mại, với mức giá 250 USD / ghế, đã cho thấy ROI dưới 1 năm dựa trên năng suất bị mất để tải Eclipse một lần mỗi ngày.
mattnz

13

Hãy xem Qt Creator.

  • Nó khá ổn định. Tôi không nhớ bất kỳ sự cố với nó.
  • Có thể mất một chút thời gian để làm quen với việc không có các tab nhưng giao diện tổng thể là tốt.
  • Nó sử dụng gdb. Gỡ lỗi không tuyệt vời như trong Visual Studio nhưng vẫn khá tốt. Nó cũng tích hợp với profiler (Valgrind) bây giờ.
  • Nó tích hợp với qmake và CMake. Nhưng bạn có thể chạy các lệnh tùy chỉnh để có thể sử dụng hầu hết mọi thứ.
  • Không thể nói bất cứ điều gì về các dự án lớn nhưng nó được thực hiện và sử dụng bởi cùng những người viết Qt nên yêu cầu rất cao.
  • Nó dường như không đưa ra bất kỳ giả định nào về cấu trúc dự án.

Tôi đã thử KDevelop 4 một thời gian trước. Nó chắc chắn di chuyển đúng hướng nhưng hơi lỗi. Bạn có thể muốn thử nó anyway.

Tôi đã sử dụng CodeBlocks trong một thời gian rất ngắn nhưng tôi nhớ tôi không thích nó vì Giao diện rất xấu.


8

Nhiều nhà phát triển GCC (và GCC có 5-9 triệu dòng mã nguồn, tuỳ theo cách bạn đếm chúng) chỉ cần sử dụng emacs hoặc vitiện ích thích grep, ctagshay etags, make, svn, gcc, vv).

Bạn không cần một IDE để phát triển một phần mềm lớn.

Nếu phần mềm của bạn đủ lớn (ví dụ: ít nhất 0,3 triệu dòng), bạn thậm chí có thể xem xét tùy chỉnh các plugin thông qua GCC hoặc tiện ích mở rộng MELT , cho mục đích đo lường phần mềm, điều hướng phần mềm, cảnh báo cụ thể, quy tắc mã hóa, v.v.


10
Đó không phải là câu hỏi. Như tôi đã lưu ý, tôi chủ yếu sử dụng vim (với grep, ctags, v.v.) - Tôi biết nó tốt như thế nào. Tuy nhiên, nhiều lập trình viên thích IDE
Artyom

1
IDE đặc biệt hữu ích cho các tính năng liên quan đến lớp C ++, rất khó để cấu hình tốt trong Vim. Nguyên C là OK với ctags.
Ciro Santilli 心 心

6

Tôi chủ yếu làm việc với Eclipse. Đã sử dụng KDevelop với sự hài lòng lớn trong nhiều năm, nhưng bây giờ tôi làm việc trên các dự án đa ngôn ngữ (C, C ++, PHP, Java, Python, Database, Web, v.v.).

Adavantages of Eclipse: rất nhiều công cụ cho mọi thứ (bao gồm kiểm soát phiên bản); hoạt động rất tốt để kiểm tra cú pháp và tự động hoàn thành. Tốt công việc khi biên dịch / xây dựng / gỡ lỗi. Đó là đa nền tảng (Linux, Windows, Solaris, v.v.)
Nhược điểm: một số chức năng hoặc cài đặt là một cơn ác mộng (ví dụ, khi bạn phải triển khai dự án từ máy trạm của mình đến máy chủ, Eclipse sẽ giữ một loại bộ đệm và nếu nó nghĩ rằng tệp trên máy chủ 'cập nhật', tệp không bị ghi đè). Eclipse là rất lớn , làm nghẹt hầu hết CPU-Power của bạn và làm cạn kiệt tất cả bộ nhớ của bạn. Thêm thông tin tại http://www.ihateeclipse.com .

KDevelop nhanh và tuyệt vời cho các dự án C / C ++ và KDE / Qt, nhưng thiếu một số chức năng như hỗ trợ cho Mercurial (KDevelop 3.3.4, không biết cho các phiên bản mới hơn).


4

Visual SlickEdit - thương mại, giống như bất kỳ công cụ tốt nào, "chỉ hoạt động". Xử lý mọi ngôn ngữ dưới ánh mặt trời, ngoài hộp, có cấu hình cao và nếu cần, có thể lập trình đầy đủ, đặt một gui xung quanh GDB để gỡ lỗi. Xử lý các dự án rất lớn (tôi sử dụng nó cho cơ sở mã 5 triệu + SOLC, trong đó tôi chơi với khoảng 1 triệu trong số đó.) - Đã giành được nhiều giải thưởng trở lại và đã tốt hơn kể từ đó. Thử nó

Eclipse - Công cụ được lựa chọn khi lập trình bằng Java, OK cho mọi ngôn ngữ đơn được hỗ trợ. Viết bằng Java cho các nhà phát triển Java phát triển các chương trình Java. Nhưng cần plugin cho mọi tính năng nhỏ bé và tính năng chính. Không "chỉ hoạt động" cho nhiều ngôn ngữ cùng một lúc.


4

Netbeans là một IDE chậm, chậm. Chúng tôi không sử dụng "máy tính khủng long", nhưng IDE HANGS này khá lâu. Nếu chúng ta truy cập Netbeans IDE qua mạng (giả sử sử dụng VNC), thì hãy quên nó đi !!! Độ trễ là rất tệ để làm cho Netbeans không thể sử dụng!

Tôi thấy Eclipse khó thiết lập để sử dụng ban đầu, nhưng nếu bạn kiên trì, bạn sẽ kết thúc với một IDE có mọi thứ bạn có thể muốn hoặc cần (có thể bằng các trình cắm thêm).

Tôi không muốn sử dụng nhiều hơn một IDE và tôi nghi ngờ bạn cũng không. Tôi muốn giới thiệu Eclipse, với tất cả các lỗi của nó.


4

Vì vậy, ... tôi chỉ thêm một ý kiến ​​khác nhưng tôi không nghĩ bạn có thể chọn nó làm người dùng vim, vì vậy

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

trước hết đó sẽ là IDE nhẹ nhất (tôi thậm chí có thể gọi nó là hệ điều hành) và có thể tùy chỉnh nhiều nhất để bạn có thể làm mọi thứ với việc sử dụng tài nguyên tối thiểu ngoại trừ một số tài nguyên trí tuệ cấu hình lisp.

Cá nhân khi tôi có một dự án nghiêm túc tôi đang sử dụng Visual Studio. Nhưng khi tôi cần làm việc trên linux, tôi chạy emacs. (tôi cũng không thích qt chút nào)

Ngoài ra (chủ yếu là vì tôi thích plugin Last.fm và hỗ trợ clojure ở đó) Tôi đã tìm thấy một IDE đẹp cho linux (vẫn cố gắng chuyển sang emacs từ nó == 'vì một số lý do) IDEA , tôi không khuyên bạn nên sử dụng nó cho C ++ nhưng có lẽ nó cũng không tệ lắm nên bạn có thể thêm nó vào danh sách của mình.


1

QT và CodeBlocks đều ổn. Tôi sử dụng CodeBlocks gần đây.

Nó có thể được cấu hình cho các dự án makefile, phần lớn hoàn thành mã hoạt động và không bị treo như một trong MSVS, đi đến định nghĩa là rất nhanh. Chức năng duyệt cũng được thực hiện tốt.

Có một số vấn đề nhỏ, nhưng đối với công việc hàng ngày trên Linux thì IMHO rất tốt.


0

Nỗ lực duy nhất của tôi để sử dụng IDE trên Linux đã xảy ra vào năm 2005, nhưng tại thời điểm đó tôi chưa thử IDE (KDevelop, nhật thực, Anjuta), vì vậy tôi đã quay lại vim + ctags + gdb và vẫn sử dụng nó cho mã hóa Linux.


Có lẽ bạn là người đàn ông biết câu trả lời: làm thế nào để thực hiện một số phương thức trong một lớp phân cấp khác (thực hiện cha / con) trong vim.
Sergei

ví dụ trong Eclipse, sự kết hợp là Ctrl + T trên một tên phương thức.
Sergei

@Sergei Xin lỗi, ctags không hỗ trợ điều đó. Bạn có thể gặp may mắn hơn với thứ gì đó như YCM: github.com/Valloric/YouCompleteMe
Nemanja Trifunovic
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.