
See essee on arutluste jĂ€tk mitme arendajaga seoses eelarvamustega Java suhtes. See ei ole Java kriitika, vaid pigem nĂ€ide âhĂ€kkimise radaristâ.
Aja jooksul arendavad hÀkkerid instinkti heade - vÔi halbadest - tehnoloogiatest. Arvan, et vÔiks olla huvitav vÀlja tuua pÔhjused, miks Java mulle kahtlane tundub.
MĂ”ned need, kes on seda lugenud, peavad seda tĂ€helepanuvÀÀrseks katseks kirjutada millestki, millest varem keegi ei ole rÀÀkida tahtnud. Teised on aga hoiatanud, et kirjutamine asjadest, milles ma ei saa midagi aru, ei ole Ă”igustatud. Seega tahaksin igaks juhuks selgelt öelda, et ma ei kirjuta Java'st (millega ma kunagi töötanud ei ole), vaid âhĂ€kkimise radaristâ (mille ĂŒle olen palju mĂ”elnud).
VĂ€ljend âĂ€ra hinda raamatut selle kaane jĂ€rgiâ tekkis aegadel, mil raamatuid mĂŒĂŒdi puhtades kartongkaanetes, mida ostja kohandas oma maitse jĂ€rgi. Tollal ei saanud te raamatust selle kaane pĂ”hjal midagi öelda. Kuid alates sellest ajast on kirjastamine vĂ€ga palju edasi arenenud ja kaasaegsed kirjastajad teevad mĂ€rkimisvÀÀrseid jĂ”upingutusi, et kaane kaudu palju öelda.
Olen veetnud palju aega raamatupoodides ja usun, et olen Ôppinud mÔistma kÔike, mida kirjastajad mulle öelda soovivad, ja vÔib-olla ka natuke rohkem. Suur osa ajast, mille veetsin raamatupoodidest eemal, möödus arvutiekraanide ees, ja usun, et mingil mÀÀral olen Ôppinud hindama tehnoloogiaid nende kaante pÔhjal. See vÔib olla umbes ehk Ônnelik juhus, kuid mul on Ônnestunud vÀltida mÔningaid tÔeliselt kehvasid tehnoloogiaid.
Ăks selline tehnoloogia on minu jaoks Java. Ma pole kirjutanud ĂŒhtegi Java programmi ja olen piirdunud ainult pindmise dokumentatsiooni uurimisega, kuid mul on tunne, et sellel ei ole suurt eduvĂ”imalust. VĂ”in eksida â tehnoloogiate kohta ennustamine on riskantne tegevus. Siiski, mingi ajastu tunnistus â just sellepĂ€rast ei meeldi mulle Java:
- Liigne entusiasm. TĂ”elisi standardeid ei pea peale sundima. Keegi ei ĂŒritanud edendada C-d, Unixit ega HTML-i. TĂ”elised standardid kehtestatakse ammu enne, kui enamik inimesi neist kuuleb. HĂ€kkerite radaril nĂ€eb Perl vĂ€lja mitte vĂ€hem kui Java, tĂ€nu oma ainulaadsetele eelistele.
- Java ei pĂŒĂŒdle kĂ”rgete eesmĂ€rkide poole. Java algses kirjelduses ĂŒtleb Gosling selgelt, et Java loodi selleks, et mitte tekitada raskusi C keelele harjunud programmeerijatele. See töötati vĂ€lja, et saada jĂ€rgmiseks C++-ks: C mĂ”ne edasijĂ”udnumast keelest laenatud ideedega. Nagu sitcomide, kiirtoidu vĂ”i turismireiside loojaid â Java loojaid teadvustasid, et nad arendavad toodet inimestele, kes ei ole nii targad kui nemad. Ajalooliselt on keel, mida on arendatud teiste inimeste jaoks, osutunud ebaĂ”nnestunuks: COBOL, PL/1, Pascal, Ada, C++. Kuid edukaks on osutunud need, mida arendajad on loonud enda jaoks: C, Perl, Smalltalk, Lisp.
- Varjatud motiivid. Keegi on kunagi öelnud, et maailm oleks parem, kui inimesed kirjutaksid raamatuid ainult siis, kui neil on midagi öelda, mitte siis, kui nad tunnevad, et tahavad raamatu kirjutada. Samamoodi ei ole pĂ”hjus, miks me kuuleme pidevalt Java-st, mitte see, et meile ĂŒritatakse programmeerimiskeeltest midagi edastada. Kuuleme Java-st osana Sun'i plaanist vĂ”idelda Microsoftiga.
- Keegi ei armasta seda. C, Perl, Python, Smalltalk vÔi Lisp programmeerijad on oma keeltesse armunud. Ma pole kunagi kuulnud kedagi tunnistamas armastust Java vastu.
- Inimesed on sunnitud seda kasutama. Paljud neist, keda ma tunnen ja kes Java't kasutavad, teevad seda vajaduse tÔttu. Nad arvavad, et see aitab neil rahastust saada, vÔi usuvad, et see meeldib klientidele, vÔi on see juhtkonna otsus. Need on nutikad inimesed; kui tehnoloogia oleks tÔeliselt hea, kasutaksid nad seda vabatahtlikult.
- See on paljude kokkade roog. Parimad programmid on loodud vÀikeste meeskondade poolt. Java't juhib komitee. Kui see osutub edukaks keeleks, siis on see esmakordne ajaloos, kui komitee loob sellise keele.
- See on bĂŒrokraatlik. Niipalju kui ma Java'st tean, tundub, et seal on palju protokolle millegi tegemiseks. TĂ”eliselt head keeled ei ole sellised. Need lasevad sul teha, mida iganes soovid, ja ei seisa sul tee peal.
- Tehniline mĂŒra. Praegu pĂŒĂŒab Sun nĂ€idata, et Java on kogukonna hallatav, et see on avatud projekt, nagu Perl vĂ”i Python. Siiski kontrollib arendust suur ettevĂ”te. Nii et keel vĂ”ib muutuda sama igavaks ja viletsaks, nagu kĂ”ik, mis suurest ettevĂ”ttest vĂ€lja tuleb.
- See on loodud suurtele organisatsioonidele. Suurtel ettevĂ”tetel on hĂ€kkeritega erinevad eesmĂ€rgid. EttevĂ”tted vajavad keeli, millel on maine, et need sobivad suurte meeskondade keskmistele programmeerijatele. Keeli, millel on omadused nagu U-Haul'i veokite kiiruspiirajad, et hoiatada lollusi liiga suure kahju tekitamise eest. HĂ€kkereid ei huvita keeled, mis nendega kĂ”rgel ĂŒle rÀÀgivad. HĂ€kkereid huvitab jĂ”ud. Ajalooliselt on suurte organisatsioonide jaoks loodud keeled (PL/1, Ada) kaotanud, samas kui hĂ€kkerite loodud keeled (C, Perl) on vĂ”itnud. PĂ”hjus: tĂ€nane noor hĂ€kker on homne CTO.
- Tema ei meeldi neile, kellele meeldib. Programmeerijad, keda ma kĂ”ige enam imetlen, ei ole ĂŒldiselt Java ĂŒle vaimustuses. Kellele ta siis meeldib? Ălikondadele, neile, kes ei nĂ€e keelte vahel erinevust, kuid kuulevad pidevalt Java kohta ajakirjanduses; suurtel ettevĂ”tetel töötavad programmeerijad, kes on haaratud ideest leida midagi paremat isegi kui C++; kĂ”igesöövad diplomi ootavad tudengid, kellele meeldib kĂ”ik, mis vĂ”imaldab neil tööd saada (vĂ”i mis vĂ”ib eksamil esineda). Nende inimeste arvamus muutub tuule suunda pidi.
- Tema vanematel on rasked ajad. Suni Ă€rimudel on rĂŒnnaku alla kahest suunast. Odavad Intel protsessorid, mida kasutatakse lauaarvutites, on muutunud piisavalt kiireks, et serverite. Ja FreeBSD tundub muutuvat sama heaks operatsioonisĂŒsteemiks serveritele nagu Solaris. Oma reklaamides vihjab Sun, et teil on vaja Suni servereid tööstusliku taseme rakenduste jaoks. Kui see oleks tĂ”si, oleks Yahoo esimene jĂ€rjekorras, et Suni osta. Kuid seal, kus ma töötasin, kasutati Intel ja FreeBSD servereid. See ennustab Suni tumedat tulevikku. Ja kui Sun kukub, vĂ”ivad probleemid viia ka Java pĂ”hja.
- Kaitseministerium armastab Java. Kaitseministerium toetab Java kasutamist arendajate seas. Ja see nĂ€eb vĂ€lja nagu halvim mĂ€rk kĂ”igist. Kaitseministerium teeb suurepĂ€rast (kuigi mitte odavat) tööd riigi kaitsmiseks; nad armastavad plaane, protseduure ja protokolle. Nende kultuur on tĂ€ielikult vastupidine hĂ€kkerite omale; tarkvara kĂŒsimustes on nad kalduvad langetama valeotsuseid. Viimane programmeerimiskeel, millesse Kaitseministerium armus, oli Ada.
Pange tĂ€hele, et see ei ole Java kriitika, vaid selle kaane kriitika. Ma ei tunne Java't piisavalt hĂ€sti, et otsustada, kas see meeldib mulle vĂ”i mitte. Ma lihtsalt pĂŒĂŒan selgitada, miks ma ei pĂŒĂŒa Java't Ă”ppida.
Keele eemaldamine, isegi mitte proovimata sellel programmeerida, vĂ”ib tunduda kiirustav. Kuid see on see, millega kĂ”ik programmeerijad silmitsi seisavad. Tehnoloogiaid on liiga palju, et kĂ”iki Ă”ppida. Tuleb Ă”ppida hindama vĂ€liseid mĂ€rke, kas see on aega vÀÀrt. Sama kiirusel jĂ€tsin kĂ”rvale Coboli, Ada, Visual Basici, IBM AS400, VRML, ISO 9000, SET-protokolli, VMS, Novelli Netware'i ja CORBA â lisaks muudele. Need lihtsalt ei olnud huvitavad.
VĂ”ib-olla on mul Java osas vale arusaam. VĂ”ib-olla on see keel, mida propageerib ĂŒks suur ettevĂ”te vĂ”istlemiseks teisega, komiteena, mis on ĂŒles ehitatud enamusele, ĂŒleliia katuretava ja armastatud kaitseministeeriumi poolt, siiski korralik, ilus ja vĂ”imas keel, millega ma naudingu pĂ€rast programmeerin. VĂ”ib-olla. Aga see on vĂ€ga kaheldav.
TÔlke eest tÀnu: Denis Mitropolsky
P.S.
Allikas: habr.com
