Programmēšana

Pirmais ieskats Borland's JBuilder IDE

1995. gada jūnijā, kad es pirmo reizi dzirdēju, ka Borland gatavos Java rīku, es biju diezgan apmierināts. Borlends bija vienīgais uzņēmums, kas ieviesa Microsoft izveidoto Visual Basic franšīzi. Turklāt daudzi (arī es) Borlanda Delphi izstrādes vidi uzskata par labāko ātrās lietojumprogrammu izstrādes (RAD) rīku tirgū. Tāpēc ar lielu satraukumu 95. gada beigās es nopirku Borland C ++ 5.0 ar Java atbalstu.

Diemžēl Borlendas centieni atstāja daudz ko vēlamu. Viens no produkta lielākajiem trūkumiem bija tas, ka Java atbalsts bija C ++ papildmodulis, nevis pats par sevi izmantots rīks. Šīs pieejas problēma ir tāda, ka Java nebija tik ļoti līdzīga C ++ attiecībā uz tās kompilācijas vienībām, objektu failiem un kompilācijas mērķiem. Programmā Java jūs kompilējat klases failu objektā, kuru varat uzreiz izveidot kopā ar citiem objektiem, kas jau atrodas sistēmā. Nav mērķu ".exe" un ".dll", kurus modelis izmanto vispārīgo C ++ IDE. Tādējādi būvniecības klases bija apgrūtinošas, dokumentācijas gandrīz nebija un pieredze bija pilnīgi neapmierinoša. C ++ kompilators tomēr darbojās lieliski.

Uz pievienojumprogrammas C ++ papēžiem ātri tika parādīts vārds par “Latte” - koda nosaukumu IDE videi, pie kuras strādāja Delphi grupas inženieri un kas pilnībā tika uzrakstīts Java valodā. Vērienīgo projektu kavēja kavēšanās; tas tika demonstrēts pirmajā JavaOne izstrādātāju konferencē Sanfrancisko 1996. gadā un pēc tam atkal JavaOne '97. Visbeidzot, tas ir izlaists kā JBuilder.

Ātra JBuilder tūre

JBuilder koplieto daudzas kopīgas tēmas ar Delphi pasauli un jūtas pietiekami līdzīgs Symantec Visual Cafe rīkiem. Tāpēc man bija viegli sākt strādāt ar JBuilder - pat neizlasot piegādāto dokumentāciju. (Kad es darīja ir jautājums, dokumentācija bija diezgan pilnīga, aprakstot pieejamās iespējas.)

Vide sastāv no "vadības joslas", kas ir peldošs rīkjoslas logs, "pārlūkošanas logs" ar slāņveida koku vadību kreisajā pusē un apskates logu labajā pusē. Ir tikai viena vadības josla, taču var būt atvērti vairāki pārlūka logi.

Vadības josla, kas parādīta zemāk, sastāv no standarta izvēlnes komandām augšpusē, rīku paletes kreisajā pusē, kas nodrošina saīsnes uz izvēlnes vienumiem, un komponentu kolekcijas (JavaBeans), kas ir pieejamas lietošanai jūsu vizuālajā lietojumprogrammā vai sīklietotne. Zem rīku paletes un komponentiem ir statusa līnija, kas tiek atjaunināta ar jebkuru darbību, kas notiek pašreizējā laikā.

Pārlūkprogrammas logs ir parādīts zemāk. Šajā logā jūs mijiedarbojaties ar savu avota kodu - HTML vai Java. Virs šī ir vadības josla, kas ļauj sākt darbības (piemēram, atjaunot) un satur JavaBeans kolekcijas lietošanai jūsu pašu lietojumprogrammās. Turklāt katrā pārlūkprogrammas logā var parādīt tajā notiekošo projektu, tādēļ, ja jūs strādājat pie vairākiem projektiem, piemēram, ar jaunu JavaBean un lietojumprogrammu, kas to izmanto, jūs varat vienlaikus atvērt abus projektus un ērti pārvietoties starp tiem . Šī spēja mani pārsteidza, jo tā atbalsta visizplatītāko Java izstrādi, vienlaikus mainot vairākus dažādus gabalus. Vienā pārlūkprogrammas logā var būt lietderības klašu projekts, citā pārlūkprogrammā sīklietotne, kas izmanto šīs klases, un trešajā HTML lapu kopa, kas izmanto sīklietotni.

Pārlūkprogrammas logs ir sadalīts vertikāli - ar failu koka skatu kreisajā pusē un skatītāju pa labi. Vertikālo sadalījumu sauc par "aizkaru". Borland lietotāja saskarne ļauj noņemt aizkaru, kad vēlaties skatīt pilnekrāna režīmā redzamo avota kodu. Zem katras pārlūkprogrammas loga puses ir vadības cilnes, kas maina paša skata semantiku.

Skatot Java pirmkodu, pārlūka skatītāja pusē esošās cilnes tiek apzīmētas ar avotu, noformējumu un dokumentu.

  • Cilnē Avots vienkārši tiek parādīts avota kods, un to var rediģēt, izmantojot iekļauto sintakses izcelšanas redaktoru.

  • Cilnē noformējums ir redzama vizuālā darbvieta, kurā pastāv jebkura jūsu definētā lietotāja saskarnes informācija. Tā, piemēram, ja jūsu avota kodā bija paneļa definīcijas, pogas utt., Šis panelis ir velciet un nometiet apgabals, kurā varat sastādīt šo informāciju.

  • Cilnē doc tiek parādīts HTML dokuments, kas tiek ģenerēts no avota koda ligzdotajiem komentāriem. HTML dokumentu var iegūt, izmantojot JavaDoc, tomēr nav automātiska veida, kā es varētu atrast šī dokumenta ģenerēšanu.

Varbūt viens no gudrākajiem pārlūkprogrammas ieviešanas aspektiem ir tāds, ka, pārlūkojot klases failu, pārlūks nolasa klases failu un pietiekami dekompilē, lai parādītu avota koda struktūru. Tas var būt ļoti noderīgi, ja esat pieradis lasīt avotu, nevis skatāties objekta diagrammu. Turklāt, atlasot kādu no Java standarta klasēm vai Borland pielāgotajām klasēm, noklikšķinot uz cilnes doc, tiks atgriezta šīs klases JavaDoc lapa. Tas ļauj jums darīt, piemēram: iezīmēt sistēmas klasi, atlasīt "pārlūkot atlasīto simbolu" un redzēt gan rekonstruēto avotu, gan klases dokumentāciju. Es dodu priekšroku šai metodei, kas saglabā HTML formatējumu, kas ir iestrādāts JavaDoc datos, nevis sistēmām, kas Java dokumentāciju pārvērš Microsoft "palīdzības" failos.

JBuilder atkļūdotājs

Protams, koda rakstīšana ir vienkārša. Tas ir grūti panākt, lai tas darbotos. Varbūt vissvarīgākā jebkura IDE funkcija ir tās atkļūdotājs. Par laimi Borland JBuilder atkļūdotājs nepieviļ. Atkļūdotāja ekrānšāviņš ir parādīts zemāk.

Atkļūdošanas laikā pārlūkprogrammas logs tiek pārkonfigurēts, lai atbalstītu klases statusa pārbaudi. Koka strukturētais faila skats ir sadalīts augšējā logā, kurā ir pavediena statuss, un apakšējā logā, kurā ir informācija par aktīvajiem mainīgajiem. Arī pārlūka kreisajā pusē apakšdaļā tiek iegūtas dažas papildu cilnes vadīklas, kas kontrolē atkļūdotāja darbību.

Turklāt uznirstošajos logos mainīgā vērtība tiks parādīta avota logā līdzīgi kā darbojas Symantec atkļūdotājs. Ir visas standarta atkļūdošanas funkcijas: viens solis, skatīšanās punkti, pārtraukuma punkti, nosacīti pārtraukuma punkti utt. Jāatzīmē vītņu atbalsts, kas ir izcils. Vītnes logā augšējā kreisajā stūrī varat noklikšķināt uz jebkura koda fragmenta, kas pašlaik tiek izpildīts, jebkurā pavedienā, un avota logs tiks atvērts šai koda vietai. Turklāt apakšējā kreisajā logā tiks parādīts jebkurš vietējais un globālais stāvoklis, kas ir redzams šai pavedienam. JBuilder atkļūdotājs noteikti pārstāv jauno standartu, pēc kura tiks mērīti citi Java atkļūdotāji.

Gar avota loga kreiso pusi mazi punkti norāda līnijas, kurās var uzstādīt pārtraukuma punktus. Noklikšķinot uz punkta, līnija tiek izcelta, un parādās pārtraukuma punkta simbols. Vēl viena noderīga funkcija ir "palaist kursoru" - tiem laikiem, kad nevēlaties veikt vienu soli caur katru a atkārtojumu priekš cilpa. Vienkārši noklikšķiniet uz līnijas, atlasiet "palaist kursoram", un izpilde apstājas tieši tur.

Apstrādes rezultāts

Pēdējā joma, kurā es uzskatīju JBuilder par īpaši noderīgu, bija tā apstrāde ar Java lietojumprogrammas izpildi. Izpildes žurnāls ir logs, kurā ir visi uz datiem nosūtītie dati System.out no pašreizējā skrējiena. Tomēr, kad ir atvērti vairāki projekti, izpildes žurnālā katram projektam tiek saglabātas atsevišķas cilnes! Tā piemērs ir parādīts zemāk.

Kā redzat attēlā, ir divas cilnes, viena - pašreizējam projektam "piemērs" un otra - "BASIC". Šī atdalīšana ir būtiska, vienlaikus veidojot vairākas klases bibliotēkas, jo tas neļauj sajaukt abu projektu rezultātus.

Kas man patīk JBuilder

Dažreiz tās ir mazās lietas. Es tiešām tāpat var izdrukāt Java avota kodu ar krāsu printeri un likt tam iznākt ar neskartiem fontiem un sintakses izcelšanu. Ja es varētu pielāgot lapu galvenes un kājenes un norādīt izvadi "divas uz augšu" (divas avota koda lapas tiek drukātas blakus ainavas izvades lapā), tas būtu ideāli.

Java 1.1 atbalsts ir ļoti jauks. Kaut arī JDK 1.1 kādu laiku nav bijis pieejams, un Symantec ir bijis 1.1 atbalsts beta versijai, nekas cits kā IDE ir paredzēts jau no paša sākuma, lai strādātu ar 1.1.

Kā jau teicu iepriekš, atkļūdotājs ir arī ļoti jauks: tas sniedz lielu informācijas daudzumu viegli uztveramā veidā. Liela daļa atkļūdošanas ir "point-and-shoot" stils, kas dažiem lietotājiem patīk (man patīk), bet dažiem ne (uzskatot, ka "gdb" nozīmē Dieva DeBugger). Es uzskatu, ka ir pietiekami atrast pat vissarežģītākās diega strupceļa kļūdas.

Kas man nepatīk par JBuilder

JBuilder konfigurējamais IDE faktiski nav konfigurējams divos izšķirošos veidos:

  • Pirmkārt, displejā nevar iestatīt noklusējuma fona un priekšplāna krāsas. Tā vietā vispirms tie ir jāiestata visai darbvirsmai, un pēc tam JBuilder pamanīs izmaiņas. Tomēr jūs varat tos iestatīt, izmantojot dažas no viņu "konservētajām" krāsu shēmām.

  • Otrs nopietns defekts ir tāds, ka nevar pielāgot redaktora taustiņsitienus. Mani divi mīļākie redaktori šajā ziņā ir EMACS un Programmētāja failu redaktors (PFE). JBuilder redaktora pielāgošanas cilne sastāv no iespējas izvēlēties dažus fasētus atslēgu kartējumus - noklusējums, Brief, Classic un Epsilon ir iekļauti - un iespēju izvēlēties, kā darbojas tādas lietas kā automātiskā ievilkšana, izcelšana un aptīšana. Es joprojām meklēju redaktoru, kas ļauj definēt makro paketes Java.

Prezentācijas jomā JBuilder cieš no dažām vienkāršām kļūdām, kuras, manuprāt, tiks novērstas pirmajā plākstera laidienā. Piemēram, ja jūsu darbvirsmā ir atlasīti "Lielie fonti" (ko Microsoft uzstāj, ka tas nozīmē ņemt Arial 10 un "reizināt" ar kādu koeficientu), tiek aprēķināts, cik daudz vietas nepieciešams rīkjoslai, un tiek samazinātas komponentu bibliotēku ikonas izslēgts. Savukārt, ja darbvirsmas rekvizītu sadaļā “Izskats” jūs skaidri iestatāt fonta parādīšanos, piemēram, 14 punktu Arial, komponentu josla tiek atveidota pareizi. Skaidrs, ka tas ir Microsoft bogosity (kur 10pt fonts ne vienmēr tiek attēlots kā 10pt fonts), bet Borland cilvēkiem ir jātiek galā ar to.

Vēl viena joma, kas man nepatīk visos Java IDE, ir paļaušanās uz viņu pašu "pielāgoto" Java virtuālo mašīnu izstrādei. Es ceru, ka nākotnē IDE varēs izmantot ar standarta Java Runtime Environment (JRE) un dažām pielāgotajām bibliotēkām. Neviens vēl nav izdarījis šīs tiesības.

Ko es vēlētos, lai tam būtu

Protams, neviens produkts nav ideāli piemērots visiem, tāpēc to, ko es vēlētos redzēt, var uzskatīt par troksni citiem cilvēkiem. Bet, runājot garā, šīs ir trīs galvenās lietas, kuras es vēlētos redzēt vietnē JBuilder (vai jebkurā citā IDE šajā jautājumā):

  • Smalkāka IDE konfigurācijas vadība - taustiņu kartēšana, displeja krāsas un izkārtojums

  • Profilēšanas atbalsts atkļūdotājā - zvanu izsekošana / laika noteikšana, kaudzes izmantošana, atkritumu kartes utt

  • Pirmkodu vadība - tā ir joma, kurā Java ir vāja (versiju vadība), un viedā vadības sistēma, kas atzīmēja, kad mainījās līgums (mainījās nesaderīgas klases) un kas mainījās, būtu īsts kārums

Iesaiņošana

JBuilder rīks ir ļoti spējīgs ienākšana arvien pārpildītajā IDE tirgū. Dažās vietās tas nodrošina ārkārtas iespējas - piemēram, JavaBeans, atkļūdošanu, vairākus projektus un lietotāja saskarnes dizainu. Šim JBuilder izlaidumam ir dažas aptuvenas robežas ap IDE prezentāciju un konfigurēšanu, tomēr tas ir sagaidāms 1.0 izlaidumā. Tā atbalsts Java 1.1 ir arī pārāks. Es uzskatu, ka pirmo reizi Symantec puišiem un galdiem ir nopietna konkurence ar viņu Visual Cafe Pro produktu.

Čaks Makmans šobrīd ir sistēmas programmatūras direktors uzņēmumā FreeGate Corp., kas ir riska finansēts jaunuzņēmums, kurš pēta iespējas interneta tirgū. Pirms pievienošanās FreeGate, Čaks bija Java grupas dalībnieks. Viņš pievienojās Java grupai tūlīt pēc FirstPerson Inc. izveidošanas un bija portatīvās OS grupas (grupas, kas atbildīga par Java OS daļu) loceklis. Vēlāk, kad FirstPerson tika likvidēts, viņš palika kopā ar grupu, izstrādājot Java platformas alfa un beta versijas. Pirmo "visu Java" mājas lapu viņš izveidoja internetā, kad 1995. gada maijā programmēja Sun mājas lapas Java versiju. Viņš arī izstrādāja Java kriptogrāfijas bibliotēku un Java klases iekrāvēja versijas, kas varētu rādīt klases pamatojoties uz ciparparakstiem. Pirms pievienošanās FirstPerson, Čaks strādāja SunSoft operētājsistēmu apgabalā, izstrādājot tīkla lietojumprogrammas, kur viņš veica sākotnējo NIS + dizainu. Pārbaudiet viņa mājas lapu.
$config[zx-auto] not found$config[zx-overlay] not found