Menjadi tergantung pada IDE. Bagaimana itu bisa membahayakan saya?

27

Saya adalah pengembang yang sangat bergantung pada IDE (NetBeans dan Eclipse karena saya seorang pengembang JAVA). Saya dapat kode dengan benar jika saya memiliki IDE. Saya bisa mengandalkan itu untuk pengembangan, debugging, dan penyebaran. Tetapi tanpa IDE saya tidak bisa melakukan apa-apa. Dapat kode program halo dunia yang sederhana atau pengaturan UI yang sederhana, tetapi saya memerlukan IDE untuk melakukan hal-hal yang rumit atau pengkodean panjang hal-hal yang lebih sederhana.

Apakah Anda pikir itu membahayakan saya? Beberapa programmer yang memiliki lebih dari 6 tahun pengalaman pengembangan sangat percaya bahwa hal itu dapat membahayakan, tetapi saya pikir jika saya dapat melakukan beberapa hal kompleks dengan cepat dan benar mengapa saya harus tetap menggunakan notepad dan alat baris perintah untuk melakukan tugas yang memakan waktu ketika IDE punya klik tombol untuk melakukan ini?

Prasham
sumber
29
Tidak akan menambahkan ini sebagai jawaban, tetapi menjadi pengembang Java (hanya) adalah apa yang dapat membahayakan Anda, dan banyak. Pelajari bahasa nyata, jangan hanya menjadi kode monyet lain dari gazillions menggunakan Java hanya karena lebih murah untuk menggunakan programmer yang buruk. Silahkan?
Lacrymology
5
Ini adalah pertanyaan yang menarik bagi saya; Saya tidak pernah memprogram apa pun selain Emacs atau Vi. Sebagai konsekuensinya, saya tidak tahu apa yang diberikan IDE kepada Anda yang bahkan bisa Anda andalkan.
kasterma
8
@kasterma Biarkan saya melihat: bantuan kode, alat refactoring, penjabaran kode, debugging, debugging paramter, pelacakan stack, pemantauan parameter, penataan solusi, rad, intellisense, potongan kode, bantuan kompilasi & kesalahan penyusun, penegakan standar, templat mulai cepat, sintaksis menyoroti dan banyak lagi ;-)
Syg
2
Saya pikir @Lacrymology mendekati titik lain: Java adalah IDE-dependent. Cobalah belajar bahasa di mana sebagian besar pembuat kode tidak menggunakan IDE, seperti Python, Skema, atau Common Lisp; itu akan memberi Anda keterampilan baru dan terkadang membuat Anda keluar dari IDE.
JasonFruit
7
@Lacrymology: Java tidak tergantung pada IDE dan salah satu bahasa paling populer di sana. Saya merasa mengejutkan Anda tidak berpikir itu "nyata" cukup.
Josh K

Jawaban:

15

Seperti yang dikatakan orang lain, lebih baik lebih cepat dalam IDE Anda daripada tanpa itu, itu intinya. Mampu menggunakan alat yang rumit dengan benar untuk meningkatkan produktivitas Anda adalah keterampilan yang penting.

Namun, ketergantungan yang berlebihan pada IDE dapat menyebabkan masalah. Keterampilan dan pengetahuan yang Anda tidak lagi berolahraga akan memudar, dan pemahaman Anda tentang beberapa aspek mungkin dangkal. Contoh klasik adalah kompilasi dan berjalan pada command-line - hampir setiap kali saya melakukan ini, saya mendapatkan sesuatu yang salah (biasanya jalur kelas terkait), karena 99% dari waktu saya membiarkan Eclipse melakukannya untuk saya.

Ini tidak hanya mempengaruhi Anda ketika Anda keluar dari IDE - jika pengetahuan Anda tentang kompleksitas yang disembunyikan oleh IDE Anda dangkal, maka ketika itu salah (dan itu akan salah, pada titik tertentu) Anda akan menemukan jauh lebih sulit untuk diperbaiki.

Saya menangani dua cara ini:

  1. Pelajari alat baru dalam bentuk paling dasar. Sebagai contoh, saya beralih dari SVN ke Mercurial, tetapi mulai dengan klien baris perintah daripada plugin Eclipse. Ini membuat pemahaman saya tentang apa yang terjadi jauh lebih dalam, yang berarti saya tahu apa yang salah dan bagaimana cara memperbaikinya ketika IDE melempar kesalahan.

  2. Praktekkan keterampilan dasar coding Anda di command-line. Satu tempat yang bagus untuk melakukan ini adalah CodingBat di mana Anda tidak mendapatkan penyorotan sintaks, tidak ada pencocokan braket, tidak ada garis bawah merah, tidak ada. Jangan lupa juga mempraktikkan keterampilan baris perintah java dan javac itu juga! (Dan yang lainnya yang sesuai dengan alur kerja Anda - bagi saya, ini juga termasuk hg dan semut)

Terakhir, jangan terlalu mengkhawatirkannya. Tidak mungkin Anda harus melakukan pekerjaan besar tanpa NetBeans atau Eclipse, jadi selama Anda mampu membuat kode tanpa mereka, dan memahami apa yang dilakukan IDE untuk Anda, tidak masalah apakah Anda kembali lebih lambat atau membuat lebih banyak kesalahan tanpa itu.

ZoFreX
sumber
2
Sebagai hobi, menghabiskan waktu dan sel-sel otak untuk mengetahui detail tingkat rendah itu menyenangkan. Secara komersial, itu kehilangan banyak nilai. Itu waktu yang lebih baik dihabiskan untuk mempelajari bisnis, kemudian menerapkan dengan efisiensi ekstra yang diberikan IDE.
Brian Knoblauch
CodingBat memiliki penyorotan sintaksis sekarang.
masterxilo
29

Tidak. Saya pikir itu sebaliknya. IDE menghilangkan keharusan bagi Anda untuk mengetahui kerangka kerja dengan hati (melalui intellisense) dan menyederhanakan tugas-tugas yang membosankan / berulang-ulang / kompleks (debugging, penyebaran), hal-hal yang Anda benar-benar tidak peduli. Ini memungkinkan Anda untuk fokus pada penyelesaian masalah bisnis yang dihadapi . Mengetahui dan IDE serta mengetahuinya dengan baik benar-benar dapat membantu Anda menulis kode yang dapat dipelihara lebih cepat.

Dan tentu saja menjadi pengembang bukan hanya tentang itu. Pengalaman yang Anda miliki sebagai pengembang membantu Anda menerapkan solusi yang tepat untuk masalah yang melintasi jalan Anda. Saya pikir itu keterampilan nyata.

Syg
sumber
2
+1 untuk intellisense! Saya merasa kasihan kepada orang-orang ketika saya melihat mereka mengetik setiap karakter dalam sebuah program ketika intellisense akan mempercepat hal itu.
David
8
Itu disebut pelengkapan otomatis untuk kita semua :)
mhitza
4
@ David: Sangat menyakitkan bagi saya untuk menonton orang mengetik dua karakter kemudian menunggu setengah detik agar autocomplete muncul dan bertanya kepada mereka mana yang sebenarnya mereka maksudkan. Kemudian mereka akan mentransfer ke mouse dan menggulir melalui pilihan yang tersedia sampai akhirnya mengklik salah satunya. Tidak, autocomplete bukan anugerah atau bahkan sangat berguna. Ini alat yang malas.
Josh K
1
@Josh K: Itu benar. Autocomplete dapat memperburuk programmer yang buruk, tetapi juga dapat membantu programmer yang baik menjadi lebih efisien. :)
David
2
@Josh Tapi pasti ada lebih banyak untuk intellisense / autocomplete kemudian menyelesaikan nama metode Anda? Bagaimana dengan deskripsi metode sebaris (apa yang dilakukan dan parameter apa yang diperlukan), metode yang tersedia berlebihan, akses ke cuplikan kode, wawasan tentang metode yang dapat Anda timpa, dll. Ini terasa sangat membantu, tidak ada hubungannya dengan malas ....
Syg
24

Tidak, itu tidak "membahayakan" Anda. Tentu saja, Anda harus memahami bagaimana segala sesuatu bekerja tanpa IDE (yaitu Anda harus memahami proses kompilasi dasar, dll) tetapi jangan menjadi masokistis tentang ini ... jika sebuah IDE membuat Anda lebih produktif daripada tidak menggunakan satu, maka mengapa tidak bukan?

Dean Harding
sumber
17

Menjadi tergantung pada IDE memiliki risiko berikut:

  • Anda akhirnya membuat perangkat lunak yang memerlukan IDE dan versi spesifik.
  • Anda memaksa orang lain di tim Anda untuk menggunakan IDE itu untuk membangun sistem.
  • Anda tidak dapat dengan mudah mengotomatiskan pembuatan perangkat lunak Anda.
  • Anda tidak tahu apa dependensi perangkat lunak Anda.

Jadi pastikan Anda dapat membangun perangkat lunak Anda dari baris perintah juga. Misalnya di Jawa gunakan maven atau semut. Maka Anda mengurangi risiko di atas.

Risiko ketergantungan IDE lainnya:

  • IDE menandai kesalahan dan peringatan dalam kode Anda dan memberi Anda perbaikan cepat. Ini mungkin tidak sesuai - mungkin ada masalah desain atau persyaratan yang berperan.
  • Anda lupa dasar-dasarnya - Anda perlu mengetahui dasar-dasar bahasa yang Anda pilih sehingga Anda bisa menguasainya dan agar Anda bisa menyampaikan kecakapan dalam wawancara.
  • Anda akhirnya terjebak di sandpit IDE - takut untuk mencoba sesuatu yang baru atau apa pun yang tidak didukung oleh IDE Anda. Misalnya IDE Anda mungkin memiliki fungsi yang cukup luas untuk pencarian dan penggantian. Tapi ini tidak seberapa dibandingkan dengan kekuatan dan kecepatan alat-alat baris perintah seperti grep dan sed. Anda mungkin tidak melakukan pengembangan Android karena IDE yang Anda pilih (mis. Netbeans) tidak mendukungnya dengan baik.
  • beberapa IDE tidak dapat menangani file besar - misalnya mencoba membuka file output server besar dalam gerhana. Butuh selamanya dan / atau kehabisan memori.
Conor
sumber
3
Saya setuju dengan poin Anda, tetapi saya tidak berpikir itu menjawab pertanyaan sebenarnya. Penanya tidak hanya bergantung pada Netbeans misalnya. Jika ia benar maka semua poin ini mungkin benar, tetapi pertanyaan yang saya mengerti adalah hanya menggunakan IDE secara umum yang bertentangan dengan editor teks dasar dan baris perintah.
jzd
2
Referensi ke instance IDE dalam jawaban saya hanyalah contoh bagaimana ketergantungan IDE bisa berisiko. Saya tidak secara khusus menunjukkan netbeans atau gerhana.
Conor
Saya menggunakan Netbeans di tempat kerja, tetapi saya menulis semua skrip Ant saya dengan tangan sehingga siapa pun dapat membangun proyek tanpa memerlukan Netbeans. Saya suka fitur editor dan mudah menavigasi kode, tetapi saya melakukan apa pun yang saya bisa untuk tetap IDE independen.
jonescb
9

Tidak ada yang salah dengan menjadi lebih produktif dengan seperangkat alat pilihan Anda. Tetapi jika Anda tidak bisa bekerja tanpanya, saya akan sangat curiga dengan pengetahuan Anda.

Jangan tinggalkan IDE; tetapi dari waktu ke waktu cobalah untuk melakukan beberapa kelas 'mudah' hanya dengan editor dan dokumentasi di browser.

Ingatlah bahwa bahkan lebih cepat daripada alat terbaik tidak harus menggunakannya.

Javier
sumber
Saya tidak berhenti atau bengong (dalam 40% kasus) jika saya tidak memiliki IDE, tetapi kecepatan saya akan berkurang secara drastis jika saya tidak memiliki IDE di sekitar. Untuk melakukan tugas sepuluh menit dengan IDE, saya telah melewati sepanjang hari dengan notepad dan javac ketika ide saya mogok.
Prasham
nah, notepad terlalu rendah. coba editor programmer, seperti notepad ++. Anggap saja sebagai latihan: itu tidak menyenangkan tetapi membuat Anda lebih baik jika Anda melakukannya secara teratur.
Javier
4

Tetapi tanpa IDE saya tidak bisa melakukan apa-apa.

Saya memerlukan IDE untuk melakukan hal-hal kompleks atau pengkodean panjang hal-hal sederhana.

Anda bisa memperbaikinya, Anda tahu.

Anda sebenarnya bisa mempelajari bahasa dan kerangka kerjanya.

Tidak ada yang menghentikan Anda.

Kecuali, tentu saja, Anda membual tentang ketergantungan pada IDE.

mengapa saya harus tetap menggunakan notepad dan alat baris perintah untuk melakukan tugas yang memakan waktu ketika IDE memiliki klik tombol untuk melakukan ini?

Tidak terkait. "Stick to notepad" sama sekali tidak terkait dengan "tanpa IDE saya tidak bisa melakukan apa-apa". Tidak melakukan apa pun di notepad sama seperti menempel pada notepad. Yang mana itu?

S.Lott
sumber
3

Anda tidak "tergantung", karena kedua IDE Anda adalah open source, sehingga keduanya tidak akan hilang begitu saja atau "disempurnakan" secara tidak sengaja hingga tidak dapat digunakan lagi. Dan bahasa pilihan Anda tidak memberi Anda opsi apa pun - Anda bergantung pada gazillions perpustakaan, dan bodoh jika Anda mencoba mengingat semua hal yang tidak penting ketika ada IDE untuk membantu Anda. Java bertele-tele, bertele-tele, dan Anda tidak bisa menjadi produktif tanpa alat pintar yang memanfaatkan verbositas yang berlebihan.

Logika SK
sumber
Anda akan mengatakan hal yang sama untuk bahasa lain? (Saya sedang berpikir PHP dalam kasus saya) tapi saya tidak yakin itu saran yang bagus sebagai aturan umum. JAWA mungkin menjadi pengecualian di sini
Quamis
1
Saya akan mengatakan hal yang sama untuk C #, mungkin untuk PHP juga. Kombinasi bahasa apa pun dan domain masalah tempat Anda harus menggunakan sekumpulan besar pustaka yang beragam akan membutuhkan alat pintar. Beberapa bahasa sangat kuat dan cukup ekspresif untuk dapat digunakan tanpa banyak perpustakaan - dan Anda dapat membuat kode hal-hal sederhana tanpa IDE. Beberapa bahasa selalu membutuhkan bantuan, bahkan untuk hal-hal sederhana. Ketika saya kode dalam Lisp, saya baik-baik saja dengan emacs atau bahkan CLI REPL. Ketika saya kode dalam C # atau Java, saya tidak akan melakukan apa pun tanpa IDE yang layak (msvs atau gerhana).
SK-logic
tetapi bukankah perlunya "intellisense" atau "desainer bentuk" menjadi peringatan bagi anggota objek yang tidak terorganisir (atau dinamai)? Saya telah mengamati orang-orang yang menggunakan Intellisense banyak cenderung menggunakan nama yang lebih panjang dan lebih bertele-tele untuk objek / fungsi / variabel yang membuat nama-nama ini lebih sulit untuk diingat di tempat pertama. haruskah saya mengerti bahwa ini adalah kebiasaan yang baik juga?
Quamis
Quamis: Bukankah itu sebaliknya? Harus mengetik membuat Anda memilih nama pendek yang tidak menggambarkan kelas / metode serta nama panjang.
DistantEcho
@Niphra: ya, dan saya biasanya lebih suka nama pendek :) menurut saya membuat kode lebih mudah dibaca..jika metode melakukan sesuatu yang tidak dapat dijelaskan dengan cara singkat, maka ya, nama yang lebih panjang dapat diterima, tetapi saya Saya mencoba untuk membuatnya singkat pada dasarnya, dan saya tidak melihat ada yang salah dengan itu.
Quamis
3

Saya pikir bahaya dari ketergantungan berlebih pada IDE datang untuk bermain ketika Anda tanpa berpikir mengandalkan penyihir untuk menghasilkan kode untuk Anda. Baik NetBeans dan Eclipse cukup ringan pada mereka, yang merupakan hal yang baik IMO. Kerugian lain adalah jika Anda hanya tahu satu IDE dan tidak bisa menggunakan yang lain. Beberapa perusahaan memiliki kebijakan yang menentukan apa yang akan Anda gunakan. Baik atau buruk, itu adalah apa adanya.

Saya berpendapat bahwa jika sebuah IDE tidak membuat Anda lebih produktif, itu tidak bermanfaat. Sebagai contoh, saya yang paling produktif dengan JetBrains IDEA, tetapi Eclipse telah datang jauh dan saya bisa sangat produktif dengan itu. Eclipse juga telah diadaptasi untuk berbagai kegunaan - yang merupakan manfaat ganda. Sementara saya dapat berkeliling di VIM, atau editor teks lainnya, ada fitur lain yang saya temukan tidak tergantikan di sebagian besar IDE saat ini seperti dukungan refactoring.

Berin Loritsch
sumber
2

Saya tidak berpikir Anda melakukan kebaikan pada diri sendiri. Memang, Anda menggunakan Eclipse, yang tersedia secara bebas dan berjalan di mana pun Anda memiliki JVM. Tapi saya pernah mengalami situasi di mana saya harus remote ke komputer lain melalui sesi terminal tanpa server X, yang berarti saya harus menggunakan editor teks biasa seperti vi dan membangun pada baris perintah. Saya juga bekerja di lingkungan di mana jaringan pengembangan secara fisik terisolasi dari seluruh dunia, dan semua transfer antara itu dan jaringan publik adalah melalui media fisik. Satu-satunya alasan kami memiliki Eclipse di jaringan itu adalah karena ia melewati beberapa lapisan persetujuan terlebih dahulu.

Saya memotong gigi saya di C dan Fortran 77 di lingkungan command-line (VAX / VMS), jadi saya menemukan gagasan membutuhkan IDE agak mencurigakan. Namun, itu adalah bahasa kecil dibandingkan dengan binatang itu adalah Jawa; mengingat bahwa Anda memerlukan forklift untuk membawa buku Java Nutshell terbaru, saya dapat melihat bagaimana memiliki IDE membuat hidup menjadi lebih mudah.

John Bode
sumber
2

Ini mungkin tidak benar-benar "membahayakan" Anda, tetapi Anda akan mendapatkan jika Anda juga terbiasa melakukan sesuatu tanpa IDE. Jangan takut untuk memperluas wawasan Anda.

Ingatlah bahwa sebagian besar alat dev ditulis sebagai alat baris perintah terlebih dahulu. IDE adalah afterthoughts, yang baik-baik saja. Di sisi lain, Anda akan sering menemukan beberapa "sakelar baris perintah permata tersembunyi" atau "trik canggih" yang tidak akan pernah bisa Anda ketahui jika Anda tetap mengarahkan dan mengklik.

Jadi untuk menjawab pertanyaan, "Bagaimana itu bisa membahayakan saya?" Saya pikir itu akan membahayakan Anda ketika Anda menjadi begitu melekat padanya bahwa Anda percaya semua alat baris perintah akan lebih lambat daripada mengklik tombol, ke titik di mana Anda menghindari mempelajari alat-alat baris perintah (yang merupakan asal-usul).

Ini seperti belajar assembly sebagai programmer - sangat sedikit dari kita menulis assembly dengan tangan hari ini, tapi saya percaya yang mengerti assembly adalah programmer yang lebih baik dalam bahasa apa pun yang mereka gunakan.

kizzx2
sumber
2

Menjadi tergantung pada komputer sudah cukup berbahaya. Saya selalu memprogram dalam kain pinggang dengan tablet batu besar dan palu. Kode ini membutuhkan waktu untuk dihancurkan, tetapi ketika Anda menyelesaikan metode yang sangat besar, Anda biasanya makan sesuatu. Di sana saya mencoba untuk mandiri dari supermarket dan hal-hal semacam itu, jadi saya menanam semua gandum saya di rumah dan hanya memakannya. Tentu saja, pemasok biji gandum dan air cukup banyak yang membuat saya ketagihan, membuat saya berpikir bahwa tidak ada jalan keluar dari siklus ketergantungan ini.

Serius: jika <disclaimer>Anda menggunakan IDE dan </disclaimer>Anda menemukan diri Anda tanpa IDE dan Anda HARUS program, Anda hanya harus menganggap diri Anda permainan lebih dan

  1. Hubungi IT atau
  2. Perbaiki sendiri masalahnya jika Anda IT

Anda tidak hanya tidak boleh memprogram tanpa alat apa pun yang Anda anggap perlu, tetapi Anda juga tidak bisa menggunakan pasta gigi sebagai pasta termal.

Dan Rosenstark
sumber
1

Menjadi tergantung pada IDE mungkin tidak selalu membahayakan Anda, tetapi dapat beroperasi tanpa lingkungan pilihan Anda adalah keterampilan yang vital.

IDE dapat menghentikan Anda dari belajar 'hal-hal kecil' yang biasanya tidak signifikan dan dapat membantu Anda menyelesaikan pekerjaan lebih cepat karena Anda menghindari pengetikan / pelat yang tidak berguna. Anda juga biasanya dapat memperbaiki masalah ketika terjadi mis miselling salah fungsi.

Aturan pribadi saya ketika mempelajari bahasa / kerangka / dll adalah mempelajarinya dengan cara yang sulit terlebih dahulu. Kemudian setelah saya sudah menguasai itu, aku jatuh saya telah mendapatkan hak untuk melakukannya dengan cara yang mudah. Masalahnya adalah, jika Anda tidak tahu beberapa detail seluk-beluk kecil, ketika saluran pembuangan utama Anda mulai memuntahkan sampah dari wastafel dapur, Anda akan SOL. Jika Anda tahu operasi apa yang mendasari yang bisa menjadi penyebab potensial, Anda mungkin dapat memperbaiki masalah atau menghentikannya agar tidak terjadi sama sekali.


sumber
0

Mari kita coba editor teks yang bagus, misalnya PSPad untuk MS-Windows (freeware), TextMate untuk Mac OS X, Geany untuk GNU Desktop (opensource) atau Kate untuk KDE (opensource).

MultiEdit4.0 untuk MS-DOS telah mengubah hidup saya beberapa tahun yang lalu, sejak itu saya sangat masuk akal untuk editor teks.

ern0
sumber