Ohjelmointi

Ensimmäinen katsaus Borlandin JBuilder IDE: hen

Kun kuulin ensimmäisen kerran kesäkuussa 1995, että Borland aikoo tehdä Java-työkalun, olin melko tyytyväinen. Borland oli ainoa yritys, joka pani merkin Microsoftin luomaan Visual Basic -sarjaan. Lisäksi monet (mukaan lukien minä) pitävät Borlandin Delphi-kehitysympäristöä markkinoiden parhaana nopean sovelluskehityksen (RAD) työkaluna. Joten ostin Borland C ++ 5.0: n Java-tuella loppuvuodesta '95 erittäin innostuneesti.

Valitettavasti Borlandin ponnistus jätti paljon toivomisen varaa. Yksi tuotteen suurimmista haitoista oli, että Java-tuki oli C ++: n lisämoduuli sen sijaan, että se olisi oma työkalu. Tämän lähestymistavan ongelmana on, että Java ei ollut kovin samanlainen kuin C ++ sen kokoamisyksiköiden, objektitiedostojen ja kokoamiskohteiden suhteen. Java-ohjelmassa käännät luokkatiedoston objektiksi, jonka voit heti luoda muiden järjestelmässä jo olevien objektien kanssa. Ei ole .exe- ja ".dll" -kohteita, jotka ovat mallia, jota yleinen C ++ IDE käyttää. Siksi rakennuskurssit olivat hankalia, dokumentaatiota lähes puuttui ja kokemus oli täysin epätyydyttävä. C ++-kääntäjä toimi kuitenkin hyvin.

C ++ -lisätuotteen kannoilla sana tuli nopeasti "Latte" -koodista, IDE-ympäristön koodinimestä, jota Delphi-ryhmän insinöörit aikoivat työskennellä ja joka kirjoitettiin kokonaan Java-kielellä. Kunnianhimoista hanketta viivästytti; se esiteltiin ensimmäisessä JavaOne -kehittäjien konferenssissa San Franciscossa vuonna 1996 ja sitten taas JavaOne '97: ssä. Lopuksi se on julkaistu nimellä JBuilder.

Nopea kiertue JBuilderille

JBuilder jakaa monia yleisiä teemoja Delphi-maailman kanssa ja tuntuu tarpeeksi samanlaiselta kuin Symantec Visual Cafe -työkalut. Joten minun oli helppo päästä eteenpäin JBuilderin kanssa - jopa lukematta mukana toimitettua dokumentaatiota. (Kun minä teki Jos sinulla on kysyttävää, asiakirjat olivat melko täydelliset käytettävissä olevien vaihtoehtojen kuvaamiseksi.)

Ympäristö koostuu "ohjauspalkista", joka on kelluva työkalurivin ikkuna, "selausikkunasta", jossa on kerrostettu puun hallinta vasemmalla, ja katseluikkunasta oikealla. Ohjauspalkkia on vain yksi, mutta useita selainikkunoita voi olla auki.

Alla oleva ohjauspalkki koostuu ylhäällä olevista vakiovalikkokomennoista, vasemmalla olevasta työkalupaletista, joka tarjoaa pikavalintoja valikkokohteisiin, ja kokoelmasta komponentteja (JavaBeans), jotka ovat käytettävissä visuaalisessa sovelluksessa tai sovelma. Työkalupaletin ja komponenttien alapuolella on tilarivi, joka päivitetään kaikilla toiminnoilla, joita tapahtuu tällä hetkellä.

Selainikkuna näkyy alla. Tässä ikkunassa olet vuorovaikutuksessa lähdekoodisi, joko HTML: n tai Java: n, kanssa. Tämän yläpuolella on ohjauspalkki, jonka avulla voit aloittaa toimintoja (kuten uudelleenrakentamisen) ja pitää JavaBeans-kokoelmat omissa sovelluksissasi. Lisäksi jokainen selainikkuna voi näyttää siinä käynnissä olevan projektin, joten jos työskentelet useissa projekteissa - kuten uudessa JavaBeanissa ja sitä käyttävässä sovelluksessa -, voit saada molemmat projektit auki kerralla ja siirtyä helposti niiden välillä . Tämä ominaisuus teki minuun vaikutuksen, koska se tukee tavallisinta Java-kehitystä ja muuttaa useita eri kappaleita kerralla. Yhdessä selainikkunassa voi olla projekti apuohjelmaluokista, toisessa selaimessa kyseisiä luokkia käyttävä sovelma ja kolmannessa joukko sovelmia käyttäviä HTML-sivuja.

Selainikkuna on jaettu pystysuunnassa - tiedostopuunäkymä vasemmalla ja katsoja oikealla. Pystysuuntaista jakoa kutsutaan "verhoksi". Borlandin käyttöliittymän avulla voit poistaa verhon, kun haluat koko näytön näkymän käsittelemääsi lähdekoodia varten. Selainikkunan jokaisen puoliskon alla on ohjausvälilehdet, jotka muuttavat näkymän semantiikkaa.

Kun tarkastellaan Java-lähdekoodia, selaimen katseluosassa olevat välilehdet on merkitty lähteeksi, suunnitteluksi ja asiakirjaksi.

  • Lähde-välilehti näyttää yksinkertaisesti lähdekoodin, ja voit muokata sitä mukana toimitetulla syntaksikorostustyökalulla.

  • Suunnittelu-välilehti näyttää visuaalisen työtilan, jossa kaikki määrittämäsi käyttöliittymätiedot ovat olemassa. Joten esimerkiksi, jos lähdekoodissasi oli paneelin määritelmiä, painikkeita ja niin edelleen, tämä paneeli on vetämällä ja pudottamalla -alue, johon voit sommitella tiedot.

  • Asiakirja-välilehti näyttää HTML-asiakirjan, joka on luotu lähdekoodin sisäkkäisistä kommenteista. HTML-asiakirja voidaan purkaa JavaDoc: lla, mutta ei ole olemassa automaattista tapaa, jonka voisin löytää tämän asiakirjan luomiseksi.

Ehkä yksi älykkäimmistä osa-alueista selaimen toteutuksessa on, että kun selaat luokkatiedostoa, selain lukee luokkatiedoston ja purkaa sen tarpeeksi näyttääksesi lähdekoodin rakenteen. Tästä voi olla hyötyä, jos olet tottunut lukemaan lähdettä sen sijaan, että katsot objektikaaviota. Lisäksi, kun valitset jonkin Java-vakioluokista tai Borlandin mukautetuista luokista, doc-välilehden napsauttaminen palauttaa kyseisen luokan JavaDoc-sivun. Tämän avulla voit tehdä esimerkiksi seuraavia asioita: korostaa järjestelmäluokan, valita "selata valittua symbolia" ja nähdä sekä rekonstruoidun lähteen että luokan dokumentaation. Pidän parempana tätä menetelmää, joka säilyttää JavaDoc-tietoihin upotetun HTML-muotoilun, järjestelmiin, jotka muuntavat Java-ohjeet Microsoftin "ohjetiedostoiksi".

JBuilder-virheenkorjaus

Tietenkin koodin kirjoittaminen on helppoa. Sen saaminen toimimaan on vaikeaa. Ehkä IDE: n tärkein ominaisuus on sen virheenkorjaus. Onneksi Borland JBuilder-debuggeri ei tuota pettymystä. Näyttökuva virheenkorjaimesta näkyy alla.

Virheenkorjauksessa selainikkuna konfiguroidaan uudelleen tukemaan luokan tilan tarkastelua. Puun jäsennelty tiedostonäkymä on jaettu ylempään ikkunaan, joka sisältää langan tilan, ja alempaan ikkunaan, joka sisältää tietoja aktiivisista muuttujista. Lisäksi selaimen vasen puoli saa alareunassa joitain lisävälilehtiohjaimia, jotka ohjaavat virheenkorjaimen toimintaa.

Lisäksi ponnahdusikkunat näyttävät muuttujan arvon lähdeikkunassa samalla tavalla kuin Symantecin virheenkorjaus. Kaikki tavalliset virheenkorjausominaisuudet ovat käytettävissä: yksivaiheinen, tarkkailupisteet, katkaisupisteet, ehdolliset katkaisupisteet ja niin edelleen. Huomaa on langan tuki, joka on erinomainen. Vasemman yläkulman säieikkunassa voit napsauttaa minkä tahansa ketjun koodinpalaa parhaillaan suoritettavaa riviä, ja lähdeikkuna ponnahtaa siihen kohtaan koodissa. Lisäksi vasemmassa alakulmassa oleva ikkuna näyttää kaikki paikalliset ja globaalit tilat, jotka näkyvät kyseiselle säikeelle. JBuilderin virheenkorjaus edustaa ehdottomasti uutta standardia, jonka mukaan muut Java-virheenkorjaajat mitataan.

Lähde-ikkunan vasemmalla puolella pienet pisteet osoittavat viivoja, joihin katkaisupisteet voidaan asentaa. Pistettä napsauttamalla korostetaan viiva, ja katkaisupisteen symboli tulee näkyviin. Toinen hyödyllinen ominaisuus on "ajaa kohdistimeen" - niinä aikoina, jolloin et halua siirtyä asteittain läpi jokaisen a-iteraation varten silmukka. Napsauta vain riviä, valitse "ajaa kohdistimeen", ja suoritus pysähtyy siellä.

Tuotoksen käsittely

Viimeinen alue, jolla pidin JBuilderia erityisen hyödyllisenä, oli Java-sovelluksen suorituksen tulosten käsittely. Suoritusloki on ikkuna, joka sisältää kaikki sille lähetetyt tiedot System.out nykyisestä ajosta. Kuitenkin, kun useita projekteja on auki, suoritusloki ylläpitää erillisiä välilehtiä jokaiselle projektille! Alla on esimerkki tästä.

Kuten kuvasta näet, on kaksi välilehteä, yksi "esimerkki" ja toinen "BASIC", nykyinen projekti. Tämä erottaminen on välttämätöntä, kun rakennetaan useita luokkakirjastoja samanaikaisesti, koska se estää sinua sekoittamasta kahden projektin tulosta.

Mitä pidän JBuilderista

Joskus se on pieniä asioita. Minä Todella tällöin voidaan tulostaa Java-lähdekoodi väritulostimelle ja saada se esille kirjasimineen ja syntaksikorostuksineen ehjinä. Jos voisin mukauttaa sivun otsikot ja alatunnisteet ja määrittää "kaksi ylös" -ulostulon (kaksi sivua lähdekoodia, jotka on tulostettu vierekkäin vaakasuuntaiselle tulostussivulle), se olisi täydellinen.

Java 1.1: n tuki on erittäin mukavaa. Vaikka JDK 1.1 on ollut poissa jonkin aikaa, ja Symantecilla on ollut beta-tuki 1.1: lle, ei ole mitään sellaista kuin IDE, joka on suunniteltu alusta asti toimimaan 1.1: n kanssa.

Kuten totesin aiemmin, myös virheenkorjausohjelma on erittäin mukava: Se antaa suuren määrän tietoa helposti ymmärrettävällä tavalla. Suuri osa virheenkorjauksesta on "osoita ja ammu" -tyyli, josta jotkut käyttäjät pitävät (minä pidän) ja toiset eivät (uskoen, että "gdb" tarkoittaa Jumalan DeBuggeria). Uskon, että riittää löytää vaikeimmatkin langan umpikujaan liittyvät virheet.

En pidä JBuilderista

JBuilderin konfiguroitava IDE ei todellakaan ole konfiguroitavissa kahdella tärkeällä tavalla:

  • Ensinnäkin, et voi asettaa näytön taustan ja etualan oletusvärejä. Sen sijaan sinun on ensin asetettava ne koko työpöydälle ja sitten JBuilder huomaa muutokset. Voit kuitenkin asettaa ne käyttämällä joitain heidän "purkitettuja" värejä.

  • Toinen vakava vika on, että et voi muokata editorin näppäinpainalluksia. Kaksi suosikkitoimittajani tässä suhteessa ovat EMACS ja Programmer's File Editor (PFE). JBuilderin muokkausohjelman muokkausvälilehti koostuu siitä, että pystyt valitsemaan joitain valmiiksi pakattuja avainkartoituksia - oletus, lyhyt, klassinen ja Epsilon sisältyvät - ja pystytään valitsemaan, miten automaattinen sisennys, korostus ja kääriminen toimivat. Etsin edelleen editoria, jonka avulla voit määrittää makropaketit Java-muodossa.

Esityksen alueella JBuilder kärsii joistakin yksinkertaisista virheistä, joiden odotan korjautuvan noin ensimmäisessä korjaustiedostossa. Esimerkiksi, jos työpöydälläsi on valittuna "Suuret fontit" (jonka Microsoft vaatii tarkoittavan Arial 10: n ottamista ja "kertomista" jollakin tekijällä), työkalupalkin tarvitseman tilan laskeminen ja komponenttikirjastojen kuvakkeet leikataan vinossa. Jos taas asetat kirjasimen ulkoasun nimenomaisesti työpöydän ominaisuuksien "Ulkoasu" -osioon, kuten 14 pisteen Arial, komponenttipalkki renderöidään oikein. On selvää, että se on Microsoftin bogosity (jossa 10pt-fontti ei aina ole 10pt-fontti), mutta Borlandin ihmisten on käsiteltävä sitä.

Toinen alue, jota en pidä kaikista Java: n IDE: stä, on riippuvuus heidän omasta "mukautetusta" Java-virtuaalikoneestaan ​​kehitykseen. Toivon, että tulevaisuudessa IDE: t ovat käyttökelpoisia tavallisen Java Runtime Environment (JRE) -palvelun ja muutaman mukautetun kirjaston kanssa. Kukaan ei ole vielä tehnyt tätä oikein.

Mitä toivon sen olevan

Tietenkään mikään tuote ei sovi täydellisesti kaikille, joten mitä haluaisin nähdä, voidaan pitää meluna muille ihmisille. Mutta puheenvuoron hengessä nämä ovat kolme tärkeintä asiaa, jotka haluaisin nähdä JBuilderissa (tai missä tahansa vankassa IDE: ssä):

  • Parempi IDE-määrityksen hallinta - näppäinkartoitukset, näytön värit ja asettelu

  • Profilointituki virheenkorjaimessa - puhelun jäljitys / ajoitus, kasan käyttö, roskakartat ja niin edelleen

  • Lähdekoodin hallinta - tämä on alue, jossa Java on heikko (versionhallinta), ja älykäs ohjausjärjestelmä, joka huomasi, kun sopimus muuttui (yhteensopimattomat luokkamuutokset) ja mikä muuttui milloin, olisi todellinen hoito

Käärimistä

JBuilder-työkalu on erittäin kykenevä pääsy yhä tiheämmälle IDE-markkinoille. Se tarjoaa erinomaisia ​​ominaisuuksia joissakin paikoissa - kuten JavaBeans, virheenkorjaus, useita projekteja ja käyttöliittymäsuunnittelu. Tällä JBuilder-julkaisulla on joitain karkeita reunoja IDE: n esityksen ja konfiguroitavuuden ympärillä, mutta tämän voidaan odottaa olevan 1.0-julkaisussa. Sen tuki Java 1.1: lle on myös parempi. Katson, että ensimmäistä kertaa Symantecin kaverit ja tytöt kilpailevat vakavasti Visual Cafe Pro -tuotteeseensa.

Chuck McManis on tällä hetkellä järjestelmäohjelmistojen johtaja FreeGate Corp. -yrityksessä, joka on riskirahoitettu startup-yritys, joka tutkii mahdollisuuksia Internet-markkinoilla. Ennen liittymistään FreeGateen Chuck oli Java-ryhmän jäsen. Hän liittyi Java-ryhmään heti FirstPerson Inc: n perustamisen jälkeen ja oli kannettavan OS-ryhmän (Java-käyttöjärjestelmäosasta vastaavan ryhmän) jäsen. Myöhemmin, kun FirstPerson hajotettiin, hän pysyi ryhmän luona kehittämällä Java-alustan alfa- ja beetaversioita. Hän loi ensimmäisen "kaikki Java" -kotisivun Internetissä, kun hän ohjelmoi Sun-kotisivun Java-version toukokuussa 1995. Hän kehitti myös Java-salauskirjaston ja Java-luokan kuormaajan versiot, jotka pystyivät näyttämään luokkia digitaalisten allekirjoitusten perusteella. Ennen liittymistään FirstPersoniin Chuck työskenteli SunSoftin käyttöjärjestelmien alueella kehittäen verkkosovelluksia, missä hän teki NIS +: n alkuperäisen suunnittelun. Katso hänen kotisivunsa.