Pakai IDE apa?

Posted on November 2nd, 2007 | by endy |

Posting ini dibuat untuk menanggapi diskusi di milis Netbeans.
Saya menyarankan para programmer, daripada menghabiskan waktunya untuk memperdebatkan editor, lebih baik menginvestasikan waktu dan energi untuk memperdalam konsep.
Ekstrimnya, coding dengan Notepad bila perlu.

Salah satu programmer hebat yang saya kenal, sampai hari ini masih coding menggunakan editornya Midnight Commander (MC). Untuk urusan produktivitas, daftar hasil karyanya lebih panjang daripada anda-anda yang berdebat Eclipse vs Netbeans.

Dari keseluruhan hasil karyanya, perkiraan saya paling tidak 75% dibuat dengan editor MC. Dan aplikasi yang ada di sana adalah aplikasi betulan, bukan tugas kuliah, bukan skripsi.

Editor Midnight Commander, kalau ingin tau, terlihat seperti ini:

Tampilan Editor MC

Tidak ada autocomplete, tidak bisa mouse over terus keluar JavaDoc, tidak bisa klik kanan - Deploy in Tomcat.

Komentar di milis Netbeans tentang coding pakai editor seperti ini:

waduh pake notepad… be-darah2 itu mah codingnyah

Not really … gak juga kok.
Memang lebih lambat daripada pakai Eclipse/Netbeans, soalnya kalo ada syntax error baru ketahuan setelah compile.

Workflownya mirip dengan coding PHP.
Edit kodenya, save, refresh browser.

Kalau Java, edit, save, Alt-Tab ke konsol, ant compile.
Nanti kan keluar pesan errornya di baris berapa.

Buat yang belum merasakan, memang terkesan seperti latihan kungfu di Shaolin.
Keras dan melelahkan.

Tapi ada hasilnya:

  • Bebas mau pakai IDE apa aja.
    Bisa pakai the right tools for the right job. Spring development, pakai Eclipse. Desktop development, pakai Netbeans. Bikin aplikasi desktop yang mengakses Webservice, pakai 2-2nya
  • Lebih jeli dalam mendebug.
    Sampai saat ini, sebagian besar XML code harus didebug manual, karena memang by nature sulit untuk disupport IDE. Development jaman sekarang, pasti harus melibatkan XML. Dengan coding pakai editor minimalis, kita akan terbiasa melihat error message dan mengartikannya.
  • Lebih mudah mempelajari teknik automation, misalnya Continuous Integration (CI).
    Soalnya CI itu mengharuskan kita bisa compile tanpa IDE. Buat yang tidak terbiasa (apalagi lulusan VB/Delphi), pasti akan kaget, bagaimana bisa compile tanpa IDE?
  • Lebih cepat belajar bahasa pemrograman baru.
    Kalau kita terbiasa coding pakai IDE, begitu belajar bahasa baru, hal pertama yang kita pikirkan adalah, “IDE-nya pakai apa ya??”. Lalu menghabiskan dua minggu debat di milis, baru pilih salah satu. Download butuh waktu 2 hari. Setelah terinstal, baca Help setengah jam, baru tau cara bikin file baru. Setelah coding Hello World, bingung cari tombol Compile dan Run, 2 jam lagi untuk baca Help. Notepad coder tidak. Langsung buka apapun editor yang tersedia, mulai coding dan compile via command-line. Pada saat IDE-code baru bisa menjalankan Hello World, Notepad-coder sudah paham tentang duck-typing.

Satu pertanyaan yang selalu saya ajukan kalau ada yang tanya tentang IDE, RAD tools, dan sejenisnya.

“Apakah ini coding untuk belajar, atau coding untuk mencari nafkah??”

Kalau jawabannya belajar, entah itu mahasiswa, atau pro yang belajar framework baru, gunakan tools sesedikit mungkin.

Alasannya adalah, karena tujuan kita untuk paham, bukan untuk selesai.
Semakin banyak/canggih tools yang digunakan, pemahaman semakin minim.
Tambahan lagi, kalau ada error (yang mana akan sering terjadi, namanya juga lagi belajar) sulit membedakan error karena salah pakai tools, atau error di kode program kita.

Belajar Spring AOP dengan Notepad, tidak mungkin notepad yang salah, pasti kode kita.
Belajar Spring AOP dengan Netbeans/Eclipse, ada kemungkinan tools tersebut salah loading classpath, punya asumsi sendiri tentang struktur folder, dsb.

Kalau jawabannya untuk mencari nafkah, gunakan tools tercanggih yang bisa diperoleh dengan halal.
Hal ini hanya mungkin jika kita tidak terikat pada tools tertentu.
Tidak akan bisa coding desktop dengan Netbeans, kemudian buka Eclipse untuk coding server-side backend.

Demikian saran dari saya.

  1. 13 Responses to “Pakai IDE apa?”

  2. By WishKnew on Nov 2, 2007 | Reply

    Pake Delphi bisa Ndy, compile gak pake IDE. Bikin DPR, UNIT, dan FORM pake Notepad++. Pake DCC32.EXE dari console.

  3. By WishKnew on Nov 2, 2007 | Reply

    Anyway, sebenernya tergantung tujuan kita dan juga native dari bahasanya itu sendiri. Delphi dirancang khusus untuk RAD, dan tidak ada alternatif IDE selain Borland Delphi. Jadi gak ada IDE War.

    Untuk Java, dari lahirnya dukungan ke visual masih lemah. Aku dulu belajar pakai vi di unix dan edit.com di dosnya windows95. Compile dari command line. Jadinya memaksa kita ngerti konsepnya.

    Nah untuk tool / IDE, kalau ingin tahu ya harus memaksakan diri mempelajari konsepnya. Kalau tidak, tetap akan bodoh selamanya.

  4. By endy on Nov 2, 2007 | Reply

    Ya inti dari posting di atas adalah, belajar konsep itu penting. Jangan tergantung tools.

    Salah satu cara paling efektif untuk belajar konsep adalah dengan mengurangi pemakaian tools pada saat belajar.

    Pakai Delphi maupun VB sebetulnya bisa compile dan run lewat command line.

    Mungkin ada yang komentar, “Kurang kerjaan kali compile VB/Delphi via command line.” Sebetulnya ngga juga, kalau kita mempraktekkan CI, seperti dijelaskan oleh Jeff Atwood.

  5. By Meychel Danius on Nov 2, 2007 | Reply

    terima kasih pak endy atas penjelasannya yang tepat mengenai sasaran, sangat berguna untuk pemula yang beru belajar, pemula dalam hal ini bukan berarti newbie di java, saya kasih contoh saya sendiri, 2 tahun main2 di desktop, tapi pas coding servlet lebih paham pake notepad++ ketimbang pake netbeans atau eclipse :)

  6. By chairina on Nov 2, 2007 | Reply

    terima kasih pak penjelasannya untuk masalah “coding ber-darah2″ :) sangat mencerahkan bagi newbie seperti saya.

    kebetulan belum pernah pakai bahasa pemrograman lain (atau pernah tapi sambil lalu saja) jadi tidak bisa membandingkan.

    saya sepakat sekali, kalau ingin tahu lebih banyak, ternyata memang harus menguatkan pemahaman dasar pemrogramannya

  7. By desdrianton on Dec 5, 2007 | Reply

    Setuju bung endy…
    Kalo buat belajar mending “hardcore” aja… (pake notepad)
    Tapi kalo buat nyari nafkah ya mending pake tools yang lebih produktif aja…

  8. By taufiq on Dec 5, 2007 | Reply

    setuju mas endy….

    memang untuk produktifas butuh tools yg bagus
    tapi resikonya terikat sama tools itu

    kalo ada IDE yg canggih en keren bisa akomodasi
    semua framework yg populer di java spt spring, struts, jsf, seam
    saya pilih terikat aja….
    hehehehehe…….

  9. By Brutus on Dec 7, 2007 | Reply

    Hidup Notepad

  10. By Permana on Feb 14, 2008 | Reply

    Java = JCreator aja udah keren bgt.
    PHP = PHPDesigner
    HTML CSS Javascript = PHPDesigner lagi.

    Multimedia = Produknya adobe.

    Pake JCreator itu enak lho. aku seneng collapse/expand codenya. Jadi ga nambah minus mataku liat coding panjang2x.

  11. By Benny on Mar 19, 2008 | Reply

    kalau saya cukup menggunakan editplus untuk coding PHP, javascript, html, css, xml, dsb. Sebab yg saya butuhkan hanya syntax coloring, jump to page line, find and replace, tab indent, file format (PC/UNIX), dan file encoding (Unicode/UTF-8).

    Cukup mengasah otak dibanding IDE canggih dimana coder sering mengandalkan dan terbiasa dengan auto complete, tapi lebih produktif dibandingkan notepad.

  12. By rgesit on Apr 1, 2008 | Reply

    netbeans netbeans ;) little little gedit lah ….

  13. By Widya Perwira on Apr 25, 2008 | Reply

    Wah berarti bener kata dosen saya dulu, mahasiswanya disuruh coding java tapi pake notepad.

    padahal gw m temen2 dulu sampe kesel banget disuruh begituan, habiz gini aja deh, kalopun kita mu nyebrang ke kalimantan, kan udah ada kapal very or pesawat kan?? tapi kenapa mesti susah2 berenang?? capek kan?? :D

    tapi ternyata :D, coding notepad, beuh awesome! *peace :D

Post a Comment