Perbandingan IDE untuk pengembangan C ++ dan C di Linux: KDevelop, Eclipse, NetBeans, CodeBlocks dan Anjuta [ditutup]

49

Saya ingin mencatat pengalaman Anda tentang IDE skala penuh di Linux.

Secara pribadi saya bekerja dengan sebagian besar vim, tetapi programmer lain ingin melihat IDE nyata. Jadi saya ingin mendengar pendapat pribadi Anda tentang berbagai IDE dan perbandingan di antara mereka, dalam konteks berikut:

  • C ++ dan mungkin beberapa pengembangan C (bukan Java, Python dan lainnya)
  • Pemrograman sisi server (tidak perlu untuk pengembangan GUI)
  • Bekerja di Linux bukan pengembangan "lintas platform".

Opini perlu diperhatikan:

  1. Seberapa stabil itu? Jika IDE crash, saya tidak membutuhkannya.
  2. Nyaman digunakan.
  3. Kuat untuk debugging.
  4. Integrasi dengan berbagai sistem build
  5. Skalabilitas atas proyek besar (proyek ratusan ribu baris kode)

Saya dulu bekerja dengan KDevelop dan itu IDE yang sangat bagus dan sepertinya KDevelop 4 adalah kemajuan besar. Tampaknya juga banyak yang lebih suka menggunakan Netbeans dan Eclipse.

Artyom
sumber
9
Saya sangat tertarik dengan jawaban yang akan Anda dapatkan dan saya akan berterima kasih kepada orang-orang yang memberikan jawaban jika mereka tertarik pada dua hal lain yang saya minati. Skalabilitas proyek dalam 50 ribu file / 30 juta baris dan kemampuan beradaptasi ke struktur proyek yang bukan yang digunakan secara default oleh IDE. Eksperimen saya sudah beberapa tahun tetapi pada saat itu semua yang saya coba gagal dalam aspek-aspek itu.
Pemrogram
@AProgrammer - poin yang sangat bagus, ditambahkan ke daftar.
Artyom
Anda juga dapat melihat CodeLite- codelite.org . Sayangnya saya tidak punya banyak pengalaman menggunakannya dengan proyek-proyek besar. Namun demikian mungkin ada baiknya untuk memeriksanya.
rsc
Dengan proyek dan plugin clang_complete dan make yang dikonfigurasi dengan benar, vim akan memberi Anda hampir semua yang akan dilakukan IDE (kecuali debugging). Dengan yang saya curigai Anda akan tetap menggunakan vim; Tentu saja saya lakukan.
Jan Hudec
Saya hanya ingin tahu sendiri. Terima kasih telah mengirimkan pertanyaan ini.
Ditangguhkan

Jawaban:

39

Inilah pengalaman pribadi saya dengan IDE. Saya menginstal semua IDE yang bisa saya temukan, dan bermain dengan semuanya (itulah yang saya sarankan untuk Anda lakukan):

  • Kdevelop

Saya pribadi menggunakannya. Versi yang saya instal macet, tetapi saya mengunduh versi terbaru dari situs mereka, dan itu berfungsi dengan baik. Mudah dikonfigurasikan dan bagus untuk digunakan. Mereka mendukung sistem pembangunan kustom melalui plug-in. Anda mungkin menemukan beberapa fitur aneh (seperti parsing hanya termasuk header langsung), tetapi umumnya berfungsi baik untuk proyek-proyek besar.

  • gerhana

Sangat rumit untuk dikonfigurasikan, tetapi memungkinkan semuanya secara harfiah. Jika Anda memiliki cukup waktu untuk menemukan konfigurasi yang benar yang menyenangkan semua orang, maka lakukanlah. Tetapi mencoba mengubah apa pun itu sangat menjengkelkan karena memiliki begitu banyak pilihan.

  • anjuta dan codeblock

Saya mencobanya sebentar lagi, dan itu tidak sebagus dua sebelumnya. Codeblocks bagus untuk proyek pendek, tetapi tidak untuk menengah dan besar.

  • netbeans

IDE lain yang bagus, tetapi karena rumah saya ada di jaringan berbagi, dan proyek saya bekerja cukup besar, itu sangat lambat. Itu mem-parsing sepanjang waktu.

  • qtcreator

Mudah dikonfigurasikan, tetapi tidak ada banyak opsi. Sebagai contoh, hal yang paling aneh dengan itu adalah bahwa ia tidak dapat mengurai dan otomatis menyelesaikan kelas qt. Mendukung sistem pembangunan kustom.


Untuk menyimpulkan :

  • jika Anda cukup sabar (atau jika Anda menemukan konfigurasi yang baik), pergilah dengan gerhana. Ini benar-benar IDE gratis terbaik.
  • Jika Anda ingin sesuatu yang sederhana untuk dikonfigurasi, pergi dengan kdevelop.

Pilihan lain adalah menginstal keduanya, dan biarkan pengembang Anda memilih yang cocok untuk mereka.

BЈовић
sumber
16
Eclipse adalah salah satu bagian lambat dari Jawa .... Tidak ada alasan untuk menggunakannya kecuali sama sekali tidak ada alternatif. Di PC saya baru saja dimulai dalam waktu kurang dari satu menit. Nuff berkata, bukan?
Coder
10
@ Kode Yah, Anda akan memulainya sekali, dan menggunakannya sepanjang hari tanpa memulai ulang. Itu ide. 1 menit tidak seberapa dibandingkan dengan berapa lama Anda akan menggunakannya dalam sehari.
BЈовић
6
@VJovic: Beralih di antara tab membutuhkan waktu dari 18 detik hingga 1 detik tergantung pada tab, dan pelambatan bukan yang pertama digunakan, hanya pelambatan. Bahkan Visual Studio tampak tajam dibandingkan dengan itu.
Coder
7
@Coder Seperti kata Edison, instalasi atau lingkungan Anda tidak bagus. Gerhana saya sangat cepat. Pergantian tab hampir instan.
BЈовић
4
Ecilpse membocorkan memori seperti saringan. Kotak multi-user Linux, dengan RAM 16 Gig, kehabisan RAM dengan beberapa contoh Eclipse (CDT) berjalan selama lebih dari beberapa hari. Karenanya, start lambat adalah masalah, karena Anda harus memulai ulang setidaknya sekali sehari, atau memperlambat lalu masuk tim pengembang. Penggunaan Eclispe RAM - 600Meg / instance tumbuh pada 100 / hari. IDE berfitur 50Meg / instance tumbuh pada 0 / hari, VIM, 10Meg tumbuh pada 0 / hari. Satu IDE komersial, dengan banderol harga $ US250 / kursi, menunjukkan ROI kurang dari 1 tahun berdasarkan pada hilangnya produktivitas untuk memuat Eclipse sekali sehari.
mattnz
13

Lihatlah Qt Creator.

  • Cukup stabil. Saya tidak ingat ada crash dengan itu.
  • Mungkin perlu beberapa waktu untuk membiasakan diri dengan tidak adanya tab tetapi antarmuka secara keseluruhan bagus.
  • Ini menggunakan gdb. Debugging tidak sebagus di Visual Studio tetapi masih cukup bagus. Itu juga terintegrasi dengan profiler (Valgrind) sekarang.
  • Terintegrasi dengan qmake dan CMake. Tetapi Anda dapat menjalankan perintah khusus sehingga harus dimungkinkan untuk menggunakan hampir semuanya.
  • Tidak bisa mengatakan apa-apa tentang proyek besar tapi itu dibuat dan digunakan oleh orang yang sama yang menulis Qt sehingga persyaratannya tinggi.
  • Tampaknya tidak membuat asumsi tentang struktur proyek.

Saya mencoba KDevelop 4 beberapa waktu lalu. Ini tentu saja bergerak ke arah yang benar tetapi sedikit buggy. Anda mungkin ingin mencobanya.

Saya menggunakan CodeBlocks untuk waktu yang sangat singkat tapi saya ingat saya tidak suka karena Antarmuka jelek.

Anton Barkovsky
sumber
8

Banyak pengembang GCC (dan GCC memiliki 5 sampai 9 juta baris kode sumber, tergantung bagaimana Anda menghitungnya) hanya menggunakan emacs atau videngan utilitas seperti grep, ctagsatau etags, make, svn, gcc, dll).

Anda tidak perlu IDE untuk mengembangkan perangkat lunak besar.

Jika perangkat lunak Anda cukup besar (mis. Setidaknya 0,3 juta baris), Anda bahkan dapat mempertimbangkan menyesuaikan GCC melalui plugin atau ekstensi MELT , untuk keperluan metrik perangkat lunak, navigasi perangkat lunak, peringatan khusus, aturan pengkodean, dll.

Basile Starynkevitch
sumber
10
Itu bukan pertanyaannya. Seperti yang saya catat saya kebanyakan menggunakan vim (dengan grep, ctags dll) - Saya tahu betapa bagusnya itu. Namun banyak programmer lebih suka IDE
Artyom
1
IDE secara khusus membantu fitur-fitur terkait kelas C ++, yang sangat sulit dikonfigurasi dengan baik di Vim. Raw C tidak masalah dengan ctags.
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
6

Saya terutama bekerja dengan Eclipse. KDevelop yang digunakan dengan kepuasan besar selama bertahun-tahun, tetapi sekarang saya bekerja pada proyek multi-bahasa (C, C ++, PHP, Java, Python, Database, Web, dll).

Keuntungan Eclipse: banyak alat untuk segala hal (termasuk kontrol versi); berfungsi sangat baik untuk pemeriksaan sintaks, dan pelengkapan otomatis. Pekerjaan bagus saat kompilasi / bangunan / debug. Ini multi-platform (Linux, Windows, Solaris, dll)
Kekurangan: beberapa fungsi atau pengaturan adalah mimpi buruk (misalnya, ketika Anda harus menggunakan proyek dari workstation Anda ke server, Eclipse menyimpan semacam cache, dan jika itu berpikir bahwa file di server itu 'up to date', file tersebut tidak ditimpa). Eclipse sangat besar , mencekik sebagian besar CPU-Power Anda dan menghabiskan semua memori Anda. Info lebih lanjut di http://www.ihateeclipse.com .

KDevelop cepat, dan bagus untuk proyek C / C ++ dan KDE / Qt, tetapi tidak memiliki beberapa fungsi seperti dukungan untuk Mercurial (KDevelop 3.3.4, tidak tahu untuk versi yang lebih baru).

AndrewQ
sumber
4

Visual SlickEdit - komersial, seperti alat yang bagus, "hanya berfungsi". Menangani setiap bahasa di bawah matahari, di luar kotak, sangat dapat dikonfigurasi dan jika diperlukan, sepenuhnya dapat diprogram, menempatkan gui di sekitar GDB untuk debugging. Menangani proyek yang sangat besar (saya menggunakannya untuk basis kode 5 juta + SOLC, yang saya mainkan dengan sekitar 1 juta). - Memenangkan banyak penghargaan jauh-jauh hari dan menjadi lebih baik sejak saat itu. Cobalah

Eclipse - Alat pilihan saat pemrograman di Java, OK untuk bahasa tunggal apa pun yang didukung. Ditulis dalam Java untuk pengembang Java mengembangkan program Java. Tetapi membutuhkan plugin untuk setiap fitur kecil dan fitur utama. Tidak "hanya berfungsi" untuk lebih dari satu bahasa pada suatu waktu.

mattnz
sumber
4

Netbeans adalah IDE yang lambat dan lambat. Kami tidak menggunakan "komputer dinosaurus", tetapi IDE ini BERGANTI untuk waktu yang cukup lama. Jika kita mengakses Netbeans IDE melalui jaringan (katakanlah, menggunakan VNC), lupakan saja !!! Kelambatan ini sangat buruk sehingga membuat Netbeans tidak dapat digunakan!

Saya menemukan Eclipse sangat sulit untuk diatur untuk penggunaan awal, tetapi jika Anda bertahan, Anda akan berakhir dengan IDE yang memiliki semua yang Anda inginkan atau butuhkan (mungkin melalui plug-in).

Saya tidak ingin menggunakan lebih dari satu IDE, dan saya kira Anda juga tidak. Saya akan merekomendasikan Eclipse, dengan semua kesalahannya.

Mike
sumber
4

Jadi ... Saya hanya menambahkan pendapat lain tetapi saya tidak berpikir Anda dapat memilihnya sebagai pengguna vim, jadi

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

pertama-tama itu akan menjadi IDE paling ringan (saya bahkan bisa menyebutnya sistem operasi) dan yang paling dapat disesuaikan sehingga Anda dapat melakukan segalanya dengan penggunaan sumber daya minimum kecuali beberapa sumber daya konfigurasi konfigurasi otak.

Secara pribadi ketika saya memiliki proyek serius saya menggunakan Visual Studio. Tetapi ketika saya harus bekerja di linux saya menjalankan emacs. (juga saya tidak suka qt sama sekali)

Juga (kebanyakan karena saya suka plugin last.fm dan dukungan clojure di sana) Saya menemukan IDE yang bagus untuk linux (masih mencoba untuk beralih ke emacs dari itu == 'untuk beberapa alasan) IDEA , saya tidak menyarankan untuk menggunakannya untuk C ++ tapi mungkin itu tidak terlalu buruk sehingga Anda dapat menambahkannya ke daftar Anda.

cnd
sumber
1

QT dan CodeBlocks ok. Saya menggunakan CodeBlocks belakangan ini.

Ini dapat dikonfigurasi untuk proyek makefile, penyelesaian kode sebagian besar bekerja, dan tidak menggantung seperti di MSVS, pergi ke definisi sangat cepat. Fungsi browsing juga dilakukan dengan baik.

Ada beberapa masalah kecil, tetapi untuk pekerjaan sehari-hari di Linux itu sangat bagus, IMHO.

Coder
sumber
0

Satu-satunya upaya saya untuk menggunakan IDE di Linux terjadi pada tahun 2005, tetapi pada saat itu tidak ada IDE yang saya coba (KDevelop, eclipse, Anjuta) ada gunanya, jadi saya kembali ke vim + ctags + gdb dan masih menggunakannya untuk pengkodean Linux.

Nemanja Trifunovic
sumber
Mungkin Anda orang yang tahu jawabannya: bagaimana menuju ke beberapa implementasi metode di kelas hierarki lain (implementasi orangtua / anak) di vim.
Sergei
misalnya dalam Eclipse kombinasi adalah Ctrl + T pada nama metode.
Sergei
@Sergei Maaf, ctags tidak mendukung itu. Anda mungkin lebih beruntung dengan sesuatu seperti YCM: github.com/Valloric/YouCompleteMe
Nemanja Trifunovic