Bagaimana IntelliJ lebih baik daripada Eclipse? [Tutup]

67

Saya tahu ada pertanyaan seperti Apa editor / IDE favorit Anda? , tetapi tidak ada dari mereka yang menjawab pertanyaan ini: Mengapa menghabiskan uang untuk IntelliJ ketika Eclipse gratis?

Saya pribadi penggemar berat IntelliJ, tetapi saya belum benar-benar mencoba Eclipse. Saya telah menggunakan IntelliJ untuk proyek-proyek yang Java, JSP, HTML / CSS, Javascript, PHP, dan Actionscript, dan versi terbaru, 9, sangat bagus untuk semuanya.

Banyak rekan kerja di masa lalu mengatakan kepada saya bahwa mereka percaya Eclipse "hampir sama" dengan IntelliJ, tetapi, untuk melawan hal itu, saya kadang-kadang duduk di belakang seorang pengembang yang menggunakan Eclipse yang tampaknya tidak efisien (untuk mencapai hal yang kurang lebih sama) tugas), dan saya belum mengalami ini dengan IntelliJ. Mereka mungkin setara fitur-demi-fitur tetapi fitur dapat dihancurkan oleh pengalaman pengguna yang buruk, dan saya ingin tahu apakah mungkin IntelliJ lebih mudah untuk mengambil dan menemukan fitur hemat waktu.

Untuk pengguna yang sudah terbiasa dengan Eclipse, selain dari biaya sebenarnya dari IntelliJ, ada juga biaya waktu yang dihabiskan untuk mempelajari aplikasi baru. Eclipse mendapat banyak pengguna yang tidak ingin menghabiskan $ 250 untuk sebuah IDE.

Jika IntelliJ benar-benar dapat membantu tim saya menjadi lebih produktif, bagaimana saya bisa menjualnya kepada mereka? Bagi para pengguna yang sudah mencoba keduanya, saya akan sangat tertarik dengan pro atau kontra tertentu.

Nicole
sumber
3
Anda mungkin melihat beberapa bias pemilihan di sini. Pelanggan IntelliJ jauh lebih mungkin mempelajari fitur dan pintasan daripada rata-rata pengguna Eclipse Anda.
Macneil
3
Saya tidak akan mendorong orang lain untuk menggunakan alat yang bekerja untuk Anda. Ini sangat subjektif, dan hal-hal bodoh seperti ini dapat merusak hubungan yang sudah terjalin. Jika Anda memiliki pilihan untuk menggunakan IntelliJ atau Eclipse, dan proyek mengkompilasi dengan baik menggunakan salah satu - jatuhkan diri Anda, gunakan IntelliJ. Jika Anda ingin mempromosikannya, maka sebutkan saja ketika waktunya tepat. Orang dewasa membencinya seperti halnya anak-anak ketika orang lain mencoba mengambil keputusan untuk mereka. Anda masih bisa membuat mereka beralih, tetapi itu harus menjadi keputusan "MEREKA", jadi Anda hanya perlu membuat buzz yang tepat di saat yang tepat.
Ayub
@ Pekerjaan, saya setuju dengan itu. Saya ingin mencari tahu A) jika IntelliJ memiliki keunggulan nyata atas Eclipse, sehingga B) jika ya, saya bisa menjualnya, bukan mengamanatkannya.
Nicole
Anda sadar bahwa IntelliJ memiliki versi gratis bukan? Anda tidak dapat membuatnya terdengar seperti satu - satunya pilihan adalah versi berbayar untuk versi
TheLQ
@TheLQ, Anda benar, untuk singkatnya saya berasumsi bahwa pengguna yang akrab dengan IntelliJ juga akan terbiasa dengan keterbatasan versi gratisnya. Saya pribadi tidak pernah memiliki proyek di mana ada gunanya, karena saya selalu membutuhkan lebih dari sekedar komponen Java murni.
Nicole

Jawaban:

63

Saya bekerja dengan Intellij (9.0.4 Ultimate) dan Eclipse (Helios) setiap hari dan Intellij mengalahkan Eclipse setiap saat.

Bagaimana? Karena Intellij mengindeks dunia dan semuanya berfungsi secara intuitif. Saya dapat bernavigasi di sekitar basis kode saya jauh lebih cepat di Intellij. F3 (definisi tipe) berfungsi pada semuanya - Java, JavaScript, XML, XSD, Android, konteks Musim Semi. Refactoring bekerja di mana-mana dan benar-benar dapat diandalkan (Saya punya masalah dengan Eclipse mengacaukan sumber saya dengan cara yang aneh). CTRL + G (jika digunakan) berfungsi di mana saja . CTRL + T (implementasi) melacak contoh paling umum yang saya gunakan dan menunjukkannya terlebih dahulu.

Menyelesaikan kode dan menamai ulang saran sangat cerdas sehingga hanya ketika Anda kembali ke Eclipse Anda menyadari betapa banyak yang dilakukannya untuk Anda. Misalnya, pertimbangkan untuk membaca sumber daya dari classpath dengan mengetikkan getResourceAsStream("/pada titik ini Intellij akan menunjukkan kepada Anda daftar file yang mungkin saat ini tersedia di classpath dan Anda dapat dengan cepat menelusuri ke yang Anda inginkan. Gerhana - tidak.

Plugin Spring (out of the box) untuk Intellij jauh lebih unggul daripada SpringIDE terutama karena inspeksi kode mereka. Jika saya melewatkan kelas atau mengeja sesuatu yang salah maka saya akan mendapatkan blok merah di sudut dan tinta merah di mana masalahnya. Eclipse - sedikit, semacam.

Secara keseluruhan, Intellij membangun banyak pengetahuan tentang aplikasi Anda dan kemudian menggunakan pengetahuan itu untuk membantu Anda menulis kode yang lebih baik, lebih cepat.

Jangan salah paham, saya suka Eclipse. Untuk harga, tidak ada pengganti dan saya merekomendasikannya kepada klien saya dengan tidak adanya Intellij. Tapi begitu saya menguji coba Intellij, itu membayar sendiri dalam waktu seminggu jadi saya membelinya, dan masing-masing upgrade besar sejak itu. Saya tidak pernah melihat ke belakang.

Gary Rowe
sumber
Persis apa yang saya cari. Namun satu pertanyaan, saya pikir saya punya beberapa pemetaan kunci yang berbeda dari Anda. Bisakah Anda mengklarifikasi apa fungsi yang Anda bicarakan?
Nicole
2
Anda dapat mengatur IntelliJ untuk menggunakan pintasan Eclipse? Itu mungkin dorongan terakhir yang saya butuhkan untuk benar-benar memberi IntelliJ - ingatan otot saya menahan saya. Terima kasih atas tipnya!
yatima2975
9
@ yatima2975 Jangan khawatir. Lihat saja di preferensi, filter pada "keymap" dan pilih Eclipse. Anda juga punya Emacs dan banyak lainnya.
Gary Rowe
1
Di mesin Linux saya, saya baru-baru ini beralih dari Eclipse ke IntelliJ IDEA Community Edition (open source dan sepenuhnya gratis) untuk proyek Java / Android dan saya memiliki pengalaman yang sama baiknya. IDEA benar-benar fantastis. Unduh di sini: jetbrains.com/idea/free_java_ide.html . Seperti yang diklaim JetBrains, IDEA adalah IDE Java paling cerdas di pasaran. Jangan salah paham, baik: Saya menggunakan dan menyukai Eclipse, NetBeans, dan Qt Creator IDEs juga (tergantung pada tugas dan bahasa yang ada).
AlexBottoni
2
Saya akan menambahkan penekanan pada dukungan javascript serta bahasa ujung depan lainnya. Intellij menyertakan WebStorm, yang dengan sendirinya fantastis untuk front end.
y3sh
16

Saya mendengar perbedaannya dengan IntelliJ adalah bahwa mereka lebih mungkin untuk memperbaiki dan menutup bug yang Anda kirim. Itu bisa membuat perbedaan besar jika ada beberapa bug Eclipse yang menghalangi Anda.

Di sisi lain, Anda tidak dapat melihat IDE secara terpisah; Anda perlu melihat ekosistemnya . Di sini, saya pikir Eclipse memiliki keuntungan (mirip dengan keunggulan Firefox atas Chrome *): Ada lebih banyak plug-in yang tersedia, dan pengembang lebih mungkin untuk menulis plug-in Eclipse daripada yang lainnya.

[Tangent: * Untuk Firefox saya sedang memikirkan Zotero dan HTTPS-Everywhere. Saya menggunakan Chrome dan Firefox, tetapi beberapa hal yang tidak bisa ditangani Chrome. Juga, ketika membuat handout, saya benar-benar membutuhkan pratinjau cetak.]

Macneil
sumber
Apakah ada fakta yang mendukung pernyataan tentang memperbaiki bug? (Saya sendiri selalu berjuang sambil membandingkan pengukuran seperti itu, terutama dengan perangkat lunak di mana orang tidak dapat dengan mudah melihat bug inflow ... seperti kebanyakan perangkat lunak komersial dan bahkan beberapa produk open source)
johannes
@johannes Sementara saya secara pribadi dapat menjamin hal ini, Anda dapat melihatnya sendiri di youtrack.jetbrains.com/issues
y3sh
1
Meskipun benar bahwa Eclipse memang menawarkan sejumlah besar plugin, IntelliJ juga menawarkan semua plugin yang diperlukan yang diperlukan untuk menyelesaikan pekerjaan. Dengan kata lain, keuntungan jumlah untuk ketersediaan plugin harus diambil dalam konteks. Saya melihat ini alasan utama mengapa Eclipse lebih disukai daripada IntelliJ.
e28Makaveli
13

Penafian
Ini terbatas untuk pengembangan Android saja (Jelas di Jawa).

Saya membahas hal ini dengan sedikit pengetahuan tentang Eclipse dan IntelliJ; namun, saya baru-baru ini harus memutuskan lingkungan pengembangan untuk Android. Tampaknya pilihan pertama yang jelas adalah menggunakan Eclipse karena Google mendukungnya dengan plugin ADT mereka. Sayangnya, saya merasa sangat kikuk untuk berkeliling karena saya terbiasa dengan Visual Studio (2010, baru-baru ini 2012). Saya selalu menggunakan ReSharper dengan Visual Studio jadi saya memutuskan untuk mencoba IntelliJ. Setelah sekitar 10 menit saya menyadari bahwa saya telah membuat keputusan yang tepat.

IntelliJ, seperti yang telah dinyatakan beberapa orang, mengindeks semuanya. Intellisense adalah kegembiraan untuk bekerja dengan dan kecerdasan di sekitar saran sangat bagus. Pengalaman debugging yang saya temukan sangat menyenangkan dan jujur, saya benar-benar tidak bisa hidup tanpa analisis kode. Saya tahu banyak puritan akan memiliki masalah dengan hal semacam itu tetapi saya tidak peduli. Saya harus mendorong proyek dengan sangat cepat untuk banyak orang jadi kadang-kadang hanya baik untuk menjalankan kode anaylsis dan melihat apa yang disarankan oleh IDE. Apakah Anda menerima atau tidak saran itu adalah cerita lain, tetapi saya tidak menemukan hal seperti ini di Eclipse.

Beberapa juga mengatakan bahwa tidak ada perancang Android dalam versi IntelliJ saat ini. Ini tentu saja terjadi tetapi saya tidak akan pernah menggunakannya. Saya debug pada perangkat sebagian besar waktu sehingga tidak masalah. Saya bisa melihat antarmuka dan bermain dengannya setiap kali saya menjalankan program. Ngomong-ngomong, dari lelaki tradisional "non-Jawa" saya harus mengatakan bahwa Jawa sangat baik dibandingkan dengan Eclipse.

Nodey The Node Guy
sumber
6

Anda perlu menunjukkan dengan jelas dan tanpa keraguan bahwa untuk tugas-tugas yang perlu Anda lakukan setiap hari, IntelliJ memungkinkan sejumlah besar waktu dan upaya yang dihemat sebagai lawan Eclipse (dan NetBeans).

Ini akan mengharuskan Anda melakukan riset untuk mencari tahu apa itu, dan kemudian membangun demonstrasi yang menunjukkan ini kepada orang-orang yang dapat memutuskan bagaimana cara kerjanya.

Kecurigaan saya adalah bahwa Anda akan menemukan ini tugas yang agak sulit untuk dilakukan, karena Eclipse hari ini dapat melakukan sedikit, cukup baik. Jika Anda menemukan poin pembunuh, silakan bagikan - Saya yakin banyak yang ingin tahu.


sumber
2
"Jika kamu menemukan poin pembunuh, tolong bagikan - aku yakin banyak yang ingin tahu." - Itulah sebenarnya mengapa saya bertanya - sulit untuk menemukan waktu untuk melakukan penelitian ini atau mencoba Eclipse sendiri (dan saya mungkin bias juga). Saya berharap saya menemukan beberapa pengguna yang sudah memiliki pengalaman yang baik dengan keduanya!
Nicole
1
@ Thorbjørn Benar, tapi saya sedang berbicara tentang tugas-tugas umum, jenis yang berlaku di setidaknya semua kasus penggunaan yang saya miliki, yang menurut saya cukup luas. Tapi, jika ada sesuatu yang spesifik, alangkah baiknya untuk mengetahui apa itu juga.
Nicole
1
@ Thorbjørn Anda benar tentang apa yang akan meyakinkan mereka, tapi saya pikir tugas umum berlaku di sini. Produktivitas saya meningkat 10: 1 oleh fitur umum subset IDE vs fitur yang terkait dengan pekerjaan spesifik saya. Dengan kata lain, fitur IDE standar adalah yang membantu saya / mereka dalam pekerjaan sehari-hari.
Nicole
2
Sebenarnya, untuk biaya, yang harus Anda lakukan secara realistis adalah menunjukkan bahwa ia dapat menghemat setidaknya ~ 10 jam produktivitas selama masa penggunaan yang dimaksud (dengan asumsi $ 25 / jam programmer membayar). Semuanya setelah itu adalah saus.
Steven Evers
1
Hanya sebagai catatan. Eclipse dan IntelliJ (dan Netbeans) bekerja dengan baik dengan Maven. Ini berarti bahwa jika Anda menggunakan proyek Maven, Anda dapat menggunakan IDE yang paling tepat untuk situasi yang dihadapi.
5

Intellij lebih baik karena banyak alasan, tidak terkecuali tema darcula ... tetapi ada beberapa yang lain:

  • autocomplete untuk nama metode - ia menawarkan apa yang saya ingin sebut sebagai konvensi usign.
  • jquery autocomplete sangat mudah diatur (tidak pernah berhasil dengan eclipse).
  • EL autocomplete dalam jsp
  • Integrasi pegas dan inspeksi menunjukkan kesalahan dalam penyiapan (misalnya duplikat nama kacang)
  • autocomplete untuk pemetaan pengontrol / url
  • mudah digunakan dan mengatur integrasi basis data (mendeteksi sumber data secara otomatis) dan pelengkapan otomatis jelas
  • inspeksi kode, seperti checkstyle dan findbugs, bawaan dan mudah digunakan.
  • jslint dan jshint built in dan mudah digunakan.
  • integrasi pakar langsung bekerja di luar kotak.
  • Semua pengaturan sesuai dengan yang Anda harapkan.
  • Itu tidak mendeteksi kesalahan salah, saya digunakan untuk mendapatkan kesalahan yang disorot di eclisp di suatu tempat tidak ada dan harus me-restart.
  • Deteksi otomatis dan kesalahan pada file xml (masalah besar dengan pegas)
  • pemetaan hibernasi memiliki pelengkapan otomatis diaktifkan (bidang a pojos disediakan sebagai opsi pelengkapan otomatis di pojo - gr8 yang dipetakan).
  • ctrl + alt + klik membuka implentasi, bukan deklarasi
  • Hotdeploy: Anda dapat dengan mudah mengaturnya sehingga ketika Intellij kehilangan memfokuskan aplikasi Anda yang digunakan diperbarui secara otomatis - Saya alt tab ke browser saya dan kode baru (baik itu kelas, javascript, atau jsps) sudah digunakan.
  • klien yang sudah built-in tanpa konfigurasi tambahan.
  • built-in klien obrolan yang memungkinkan penunjuk kode - sebenarnya sangat berguna.
  • tampilan kegigihan, akses mudah ke semua entitas dan pengaturan jpa / hibernasi Anda.
  • perbaikan bug, perbaikan bug yang dapat dimintai pertanggungjawaban aktual Saya telah mengirimkan sejumlah bug dan mereka telah segera diperbaiki.
  • inspeksi dan autocomplete dalam dokumen xml Anda, sangat sangat berguna dengan pegas (saya tahu ini adalah pengulangan tapi ini bagus, mengungkapkan banyak kesalahan).

Saya telah menggunakannya abotu 3 minggu sekarang jadi mudah-mudahan menemukan beberapa lagi; itu bernilai uang.

Oh satu hal lagi itu benar-benar terbuka ... Saya punya bug di gerhana saya yang berarti akan menolak untuk membuka. Hanya "google eclipse wont open" ada banyak tautan. Saya merasa bodoh karena membutuhkan waktu selama ini untuk berubah.

NimChimpsky
sumber
Ini adalah daftar yang sangat membantu, tetapi Anda lupa menyebutkan IDE mana yang Anda bicarakan. Berdasarkan penyebutan Anda tentang versi 12 dalam kalimat terakhir, saya kira ini semua tentang IntelliJ.
Xander Dunn
3

Google baru-baru ini mengumumkan bahwa mereka sedang memindahkan pengembangan Android ke IntelliJ.

Ada alasan untuk ini. Saya telah menggunakan Eclipse sebagai lingkungan untuk mengajar kursus selama beberapa tahun terakhir di C ++ dan Android / JAVA. Saya telah menyaksikan kualitas Eclipse memburuk menjadi sesuatu yang mendekati tidak dapat digunakan. Di musim gugur, 2012, saya mengadopsi Eclipse Juno untuk kursus saya dan itu adalah bencana yang tidak ada habisnya. Tidak hanya programnya yang sangat lamban dan sarat dengan bug, program ini juga memiliki beberapa perubahan antarmuka pengguna yang sangat bodoh. Saya sekarang menggunakannya sebagai studi kasus dalam desain antarmuka pengguna yang buruk.

Saya tidak bisa merekomendasikan Eclipse kepada siapa pun pada saat ini. Basis data bug telah menjadi sangat besar sehingga tidak ada kemungkinan mereka akan mengatasi bahkan sebagian kecil dari mereka.

Charles
sumber
Ini membantu pada level tinggi, tetapi bisakah Anda memberikan lebih banyak detail?
Kazark
1

Saya tidak tahu tentang pukulan fitur-demi-fitur yang solid, tetapi satu hal yang saya temukan dengan penggunaan masuk dan keluar lingkungan IntelliJ selama sekitar satu dekade adalah bahwa tim desain di JetBrains telah melakukan pekerjaan luar biasa. keduanya memiliki IDE "indeks dunia" serta menjaga fungsi pengindeksan dan pelengkapan otomatis keduanya responsif dan konsisten - saya biasanya tidak memikirkannya, tetapi dengan responsif ditambah jumlah pintasan keyboard (dan kemampuan untuk memetakan lebih lanjut), IntelliJ membuatnya sangat mudah untuk membangun "memori otot" saat menggunakan editor.

Ini bukan hal kecil ketika Anda dapat menulis kode, autocomplete, kompilasi dan pengujian tanpa jari Anda meninggalkan keyboard, dan dengan cara yang tidak terasa seperti aplikasi Java stereotip lamban.

Chad Thompson
sumber