Tampilan pertama di Borland's JBuilder IDE

Pada bulan Juni 1995, ketika saya pertama kali mendengar bahwa Borland akan membuat alat Java, saya sangat senang. Borland adalah satu-satunya perusahaan yang mempengaruhi franchise Visual Basic yang telah dibuat oleh Microsoft. Lebih lanjut, lingkungan pengembangan Delphi Borland dianggap oleh banyak orang (termasuk saya) sebagai alat pengembangan aplikasi cepat (RAD) terbaik di pasar. Jadi dengan sangat gembira saya membeli Borland C ++ 5.0 dengan dukungan Java di akhir tahun '95.

Sayangnya, upaya Borland tidak banyak yang diinginkan. Salah satu kelemahan terbesar produk ini adalah bahwa dukungan Java adalah modul tambahan untuk C ++, bukan sebagai alat tersendiri. Masalah dengan pendekatan ini adalah bahwa Java tidak seperti C ++ dalam hal unit kompilasi, file objek, dan target kompilasi. Di Java, Anda mengompilasi file kelas menjadi objek yang dapat segera dibuat instance-nya dengan objek lain yang sudah ada di sistem. Tidak ada target ".exe" dan ".dll", yang merupakan model yang digunakan oleh C ++ IDE generik. Oleh karena itu, kelas bangunan tidak praktis, dokumentasinya hampir tidak ada, dan pengalamannya sama sekali tidak memuaskan. Kompiler C ++ bekerja dengan baik.

Setelah produk tambahan C ++, dengan cepat tersiar kabar tentang "Latte", nama kode untuk lingkungan IDE yang akan dikerjakan oleh para insinyur dari grup Delphi dan ditulis sepenuhnya di Java. Proyek ambisius itu dilanda penundaan; itu didemokan pada JavaOne Developer Conference pertama di San Francisco pada tahun 1996 dan kemudian di JavaOne '97. Akhirnya, telah dirilis sebagai JBuilder.

Tur singkat JBuilder

JBuilder memiliki banyak kesamaan tema dengan dunia Delphi dan terasa cukup mirip dengan alat Symantec Visual Cafe. Jadi mudah bagi saya untuk menggunakan JBuilder - bahkan tanpa membaca dokumentasi yang disediakan. (Ketika saya melakukan punya pertanyaan, dokumentasi cukup lengkap dalam hal menggambarkan pilihan yang tersedia.)

Lingkungan terdiri dari "bar kontrol", yang merupakan jendela toolbar mengambang, "jendela penelusuran" dengan kontrol pohon berlapis di sebelah kiri, dan jendela tampilan di sebelah kanan. Hanya ada satu panel kontrol, tetapi beberapa jendela browser dapat dibuka.

Bilah kontrol, ditunjukkan di bawah, terdiri dari perintah menu standar di bagian atas, palet alat di sebelah kiri yang menyediakan pintasan ke item menu, dan kumpulan komponen (JavaBeans) yang tersedia untuk digunakan dalam aplikasi visual Anda atau applet. Di bawah palet alat dan komponen adalah baris status yang diperbarui dengan aktivitas apa pun yang sedang berlangsung saat ini.

Jendela browser ditampilkan di bawah. Jendela ini adalah tempat Anda berinteraksi dengan kode sumber Anda, baik HTML atau Java. Di atas ini adalah bilah kontrol, yang memungkinkan Anda memulai tindakan (seperti membangun kembali) dan menyimpan koleksi JavaBeans Anda untuk digunakan dalam aplikasi Anda sendiri. Selanjutnya, setiap jendela browser dapat menampilkan proyek yang sedang berlangsung di dalamnya, jadi jika Anda mengerjakan banyak proyek - seperti JavaBean baru dan aplikasi yang menggunakannya - Anda dapat membuka kedua proyek sekaligus dan dengan mudah berpindah di antara keduanya . Kemampuan ini membuat saya terkesan karena mendukung pengembangan Java bentuk paling umum, mengubah beberapa bagian berbeda sekaligus. Dalam satu jendela browser bisa ada proyek kelas utilitas, di browser lain applet yang menggunakan kelas-kelas itu, dan di jendela ketiga satu set halaman HTML yang menggunakan applet.

Jendela browser dibagi secara vertikal - dengan tampilan struktur pohon file di sebelah kiri dan penampil di sebelah kanan. Pembelahan vertikal disebut "tirai". Antarmuka pengguna Borland memungkinkan Anda untuk membuka tirai saat Anda menginginkan tampilan layar penuh dari kode sumber yang sedang Anda kerjakan. Di bawah setiap setengah dari jendela browser terdapat tab kontrol yang mengubah semantik tampilan itu sendiri.

Saat melihat kode sumber Java, tab pada setengah penampil di browser diberi label sumber, desain, dan dokumen.

  • Tab sumber hanya menampilkan kode sumber, dan Anda dapat mengeditnya menggunakan editor penyorotan sintaks yang disertakan.

  • Tab desain menunjukkan ruang kerja visual tempat informasi antarmuka pengguna yang Anda tentukan ada. Jadi, misalnya, jika kode sumber Anda memiliki definisi panel, tombol, dan sebagainya, panel ini adalah area seret dan lepas tempat Anda dapat menyusun informasi tersebut.

  • Tab doc menunjukkan kepada Anda dokumen HTML yang dihasilkan dari komentar bertingkat di kode sumber. Dokumen HTML dapat diekstraksi menggunakan JavaDoc, namun, tidak ada cara otomatis yang dapat saya temukan untuk menghasilkan dokumen ini.

Mungkin salah satu aspek paling pintar dari implementasi browser adalah ketika Anda menelusuri file kelas, browser membaca file kelas dan mendekompilasinya cukup untuk menunjukkan struktur kode sumber. Ini bisa sangat membantu jika Anda terbiasa membaca sumber, daripada melihat diagram objek. Selanjutnya, ketika Anda memilih salah satu kelas standar Java atau kelas kustom Borland, mengklik tab doc akan mengembalikan halaman JavaDoc untuk kelas itu. Ini memungkinkan Anda melakukan hal-hal seperti: sorot kelas sistem, pilih "telusuri simbol yang dipilih", dan lihat sumber yang direkonstruksi, atau dokumentasi untuk kelas tersebut. Saya lebih suka metode ini, yang mempertahankan pemformatan HTML yang tertanam dalam data JavaDoc, ke sistem yang mengubah dokumentasi Java menjadi file "bantuan" Microsoft.

Debugger JBuilder

Tentu saja, menulis kode itu mudah. Sulit untuk membuatnya bekerja. Mungkin fitur terpenting untuk setiap IDE adalah debuggernya. Untungnya, debugger Borland JBuilder tidak mengecewakan. Tangkapan layar dari debugger ditampilkan di bawah ini.

Saat debugging, jendela browser dikonfigurasi ulang untuk mendukung melihat status kelas Anda. Tampilan file terstruktur pohon dibagi menjadi jendela atas yang berisi status utas dan jendela bawah yang berisi informasi tentang variabel aktif. Selain itu, bagian kiri browser mendapatkan beberapa kontrol tab tambahan di bagian bawah yang mengontrol pengoperasian debugger.

Selain itu, jendela pop-up akan menampilkan nilai variabel di jendela sumber dengan cara yang sama seperti cara kerja debugger Symantec. Semua fitur debugging standar ada: satu langkah, watch point, break point, break point bersyarat, dan sebagainya. Yang perlu diperhatikan adalah dukungan utas, yang luar biasa. Di jendela utas di sudut kiri atas, Anda dapat mengeklik baris yang sedang dieksekusi dari bagian mana pun dari kode di utas mana pun, dan jendela sumber akan muncul ke tempat itu di kode. Selanjutnya, jendela kiri bawah akan menampilkan status lokal dan global apa pun yang terlihat oleh utas tersebut. Debugger JBuilder pasti mewakili standar baru yang akan digunakan untuk mengukur debugger Java lainnya.

Di sepanjang sisi kiri jendela sumber, titik-titik kecil menunjukkan garis tempat breakpoint dapat dipasang. Mengklik titik menyoroti garis tersebut, dan simbol breakpoint muncul. Fitur berguna lainnya adalah "run to cursor" - untuk saat-saat ketika Anda tidak ingin melakukan satu langkah pun melalui setiap iterasi forloop. Cukup klik pada baris tersebut, pilih "run to cursor", dan eksekusi berhenti di sana.

Menangani keluaran

Area terakhir yang menurut saya sangat berguna adalah JBuilder menangani output dari menjalankan aplikasi Java. Log eksekusi adalah jendela yang berisi semua data yang dikirim System.outdari proses saat ini. Namun, ketika beberapa proyek terbuka, log eksekusi menyimpan tab terpisah untuk setiap proyek! Contohnya ditunjukkan di bawah ini.

Seperti yang Anda lihat pada gambar, ada dua tab, satu untuk "contoh" dan satu lagi untuk "DASAR", proyek saat ini. Pemisahan ini penting saat membangun beberapa pustaka kelas pada saat yang sama karena ini mencegah Anda mencampurkan keluaran dari dua proyek.

Yang saya suka dari JBuilder

Terkadang hal-hal kecil. Saya sangat suka bahwa seseorang dapat mencetak kode sumber Java ke printer warna dan mengeluarkannya dengan font dan sintaks yang menyorot utuh. Jika saya dapat menyesuaikan header dan footer halaman dan menentukan keluaran "dua-atas" (dua halaman kode sumber dicetak berdampingan pada halaman keluaran lanskap), itu akan sempurna.

Dukungan untuk Java 1.1 sangat bagus. Sementara JDK 1.1 telah keluar untuk sementara waktu, dan Symantec telah memiliki dukungan beta untuk 1.1, tidak ada yang lebih baik daripada memiliki IDE yang dirancang dari awal untuk bekerja dengan 1.1.

Seperti yang saya nyatakan sebelumnya, debugger juga sangat bagus: Ini memberikan sejumlah besar informasi dengan cara yang mudah dipahami. Sebagian besar debugging adalah gaya "point-and-shoot", yang disukai beberapa pengguna (saya lakukan) dan beberapa tidak (percaya bahwa "gdb" adalah singkatan dari God's DeBugger). Saya yakin itu cukup untuk menemukan bug kebuntuan thread yang paling sulit sekalipun.

Apa yang saya tidak suka tentang JBuilder

IDE JBuilder yang dapat dikonfigurasi sebenarnya tidak dapat dikonfigurasi dalam dua cara penting:

  • Pertama, Anda tidak dapat mengatur warna latar belakang dan latar depan default di tampilan. Sebagai gantinya, Anda harus terlebih dahulu mengaturnya untuk seluruh desktop Anda dan kemudian JBuilder akan melihat perubahannya. Namun, Anda dapat mengaturnya menggunakan beberapa skema warna "kaleng".

  • Cacat serius kedua adalah Anda tidak dapat menyesuaikan tombol editor. Dua editor favorit saya dalam hal ini adalah EMACS dan Programmer's File Editor (PFE). Tab kustomisasi editor JBuilder terdiri dari kemampuan untuk memilih beberapa pemetaan kunci yang telah dikemas - default, Singkat, Klasik, dan Epsilon disertakan - dan dapat memilih bagaimana hal-hal seperti indentasi otomatis, penyorotan, dan pembungkus bekerja. Saya masih mencari editor yang memungkinkan Anda menentukan paket makro di Java.

Di area presentasi, JBuilder menderita beberapa bug sederhana yang saya harapkan akan diperbaiki pada rilis patch pertama atau lebih. Misalnya, jika desktop Anda memiliki "Font Besar" yang dipilih (yang menurut Microsoft berarti mengambil Arial 10 dan "mengalikannya" dengan beberapa faktor), perhitungan tentang berapa banyak ruang yang dibutuhkan oleh bilah alat akan rusak dan ikon pustaka komponen dipotong mati. Sebaliknya, jika Anda menyetel tampilan font secara eksplisit di bagian "Tampilan" pada properti desktop Anda, seperti Arial 14 titik, bar komponen akan ditampilkan dengan benar. Jelas, ini adalah bogositas Microsoft (di mana font 10pt tidak selalu ditampilkan sebagai font 10pt), tetapi orang-orang di Borland perlu menghadapinya.

Area lain yang saya tidak suka tentang semua IDE untuk Java adalah ketergantungan pada mesin virtual Java "kustom" mereka sendiri untuk pengembangan. Saya berharap di masa mendatang, IDE dapat digunakan dengan Java Runtime Environment (JRE) standar dan beberapa pustaka khusus. Belum ada yang melakukannya dengan benar.

Apa yang saya harapkan

Tentu saja, tidak ada produk yang cocok untuk semua orang, jadi apa yang ingin saya lihat mungkin dianggap mengganggu bagi orang lain. Tapi, dalam semangat untuk berbicara, ini adalah tiga hal teratas yang ingin saya lihat di JBuilder (atau IDE yang solid dalam hal ini):

  • Kontrol konfigurasi IDE yang lebih baik - pemetaan kunci, warna tampilan, dan tata letak

  • Dukungan pembuatan profil di debugger - pelacakan panggilan / waktu, penggunaan heap, peta sampah, dan sebagainya

  • Kontrol kode sumber - ini adalah area di mana Java lemah (kontrol versi), dan sistem kontrol cerdas yang mencatat kapan kontrak berubah (kelas yang tidak kompatibel berubah) dan apa yang berubah kapan, akan menjadi suguhan nyata

Membungkus

Alat JBuilder adalah cara yang sangat mumpuni untuk memasuki pasar IDE yang semakin ramai. Ini memberikan kemampuan luar biasa di beberapa tempat - seperti JavaBeans, debugging, banyak proyek, dan desain antarmuka pengguna. Rilis JBuilder ini memiliki beberapa sisi kasar seputar presentasi dan konfigurasi IDE, namun hal ini diharapkan pada rilis 1.0. Dukungannya terhadap Java 1.1 juga lebih unggul. Menurut saya, untuk pertama kalinya, para pria dan wanita di Symantec berkompetisi secara serius dengan produk Visual Cafe Pro mereka.

Chuck McManis saat ini adalah direktur perangkat lunak sistem di FreeGate Corp., sebuah perusahaan rintisan yang didanai usaha yang sedang menjajaki peluang di pasar Internet. Sebelum bergabung dengan FreeGate, Chuck adalah anggota Grup Java. Dia bergabung dengan Grup Java tepat setelah pembentukan FirstPerson Inc. dan merupakan anggota grup OS portabel (grup yang bertanggung jawab untuk bagian OS Java). Kemudian, ketika FirstPerson dibubarkan, dia tetap bersama grup melalui pengembangan versi alfa dan beta dari platform Java. Dia membuat beranda "semua Java" pertama di Internet ketika dia melakukan pemrograman untuk laman beranda Sun versi Java pada Mei 1995. Dia juga mengembangkan pustaka kriptografi untuk Java dan versi pemuat kelas Java yang dapat menyaring kelas berdasarkan tanda tangan digital. Sebelum bergabung dengan FirstPerson,Chuck bekerja di area sistem operasi SunSoft, mengembangkan aplikasi jaringan, di mana dia melakukan desain awal NIS +. Lihat halaman rumahnya.