Ogledalno kopie na originala na knigata se namira na adres
http://berov.data.bg/opensources/toc.html
OTVORENI
KODOVE - Glasove ot Open Source Revolyutsiiata 1st Edition January 1999
1-56592-582-3
Prevod:
© 08-09 2003 Teodora Berova
Tehnicheski konsultant: Krasimir
Berov
UPORSTVO, TURPENIE I SMIRENIE
Lari Uol
Nie ot Perl obshtnostta imame afinitet
kum pogovorkite. Edna ot tiah e "Ima poveche ot edin nachin da se
napravi tova.". Tova e viarno v Perl. A sushto e viarno za Perl.
Viarno e i za obshtnostta na Otvoreniia Kod, kakto go ilyustrirat esetata
v tazi kniga. Az niama da vi kazha vsichko za tova kak raboti obshtnostta
na Otvoreniia Kod; tova bi bilo vse edno da se opitam da vi obiasnia kak
raboti angliiskiia ezik. No moga da vi kazha neshto otnosno sustoianieto
na Perl i nakude e trugnal.
Ima edna druga pogovorka: Tri golemi dobrodeteli
na programiraneto sa murzel, neturpenie i gordelivost. Golemite Perl
programisti pregrushtat tezi dobrodeteli. Sushtoto se otnasia i za
razrabotchitsite na Otvoreniia Kod. No tuk az shte govoria za niakoi drugi
dobrodeteli: uporstvo, turpenie i smirenie. Ako te vi izglezhdat kato
protivopolozhnosti, shte ste pravi. Ako smiatate, che edna obshtnost ne mozhe
da spodelia protivopolozhni tsennosti, znachi triabva da prekarate poveche
vreme s Perl. Vse pak, ima poveche ot edin nachin da se napravi tova.
Pisanite ezitsi veroiatno zapochvat s neturpenie.
Ili murzel. Bez pisanoto slovo triabva da se sreshtnete s drugiia chovek
litse v litse, za da obshtuvate. Ili da ubedite niakogo da predade vasheto
poslanie vmesto vas. I niama nikakuv nachin da se znae kakvo e bilo
kazano po-predi, osven ako ne se zapomni. A pisaniiat ezik dava na
horata simvoli. Simvoli, koito mogat da oznachavat neshtata –
stiga obshtnostta da suumee da ugovori znacheniiata na simvolite. I taka,
ezikut iziskva konsensus. Tova e neshto, s koeto vsichki ot grupata sa
suglasni. Nakratko, tova e simvol, koito udurzha obshtnostta zaedno.
Povecheto simvoli sluzhat za tova.
Haide da razgledame niakoi simvoli:
Prouchete go vnimatelno. Tova se naricha
okruzhnost. Edna mnogo priiatna okruzhnost, kakvito sa si okruzhnostite
obiknoveno. Mnogo krasiva. Mnogo simetrichna. Mnogo prosta.
I sega, ako ste reduktsionist, shte kazhete, che tova
e samo edna okruzhnost i nishto poveche. Deistvitelno, ako ste istinski
reduktsionist, shte kazhete, che tova e prosto kupchina fotoni, no nie niama
da otivame v tazi posoka, zashtoto tova nikak ne mozhe da vnese iasnota
po vuprosa.
Ako vie ne ste reduktsionist, to togava
okruzhnostta, koiato vizhdate tuk, ne sushtestvuva v izolatsiia. Tia
sushtestvuva vuv vzaimovruzka s mnogo drugi neshta, i vsushtnost povliiava
svoeto znachenie ot tiah. Za da razberete tazi prosta okruzhnost, vie
triabva da razberete neiniia kontekst, koeto e nachin da razberete neshto
za realnostta.
Eto tuk edna kartina na realnostta:
Kakto vsichki znaem, realnostta e smesitsa,
bezporiaduk.
Tova e kartina na mnogo neshta. Tova e kartina na
vuzdushnite molekuli, podskachashti naokolo. Kartina na ikonomikata.
Kartina na vsichki vzaimovruzki na horata v tazi staia. Kartina na tova
kak izglezhda tipichniia choveshki ezik. Kartina na informatsionnata
sistema na vashata kompaniia. Kartina na World Wide Web. Kartina na
haos i uslozhnenost.
Tova e razbira se kartina za tova kak e
organiziran Perl, tui kato Perl e suzdaden po obrazets na choveshkite
ezitsi. A prichinata choveshkite ezitsi da sa slozhni e, che si imat rabota
s realnostta.
Vsichki nie si imame rabota s realnostta, po edin
ili drug nachin. Togava nie oprostiavame. CHesto svruhoprostiavame.
Nashite predtsi svruhoprostiavali. Te mameli sebe
si, kato smiatali, che Bog suzdava samo okruzhnosti i sferi. Te misleli,
che Bog vinagi shte predpochete prostotata pred slozhnostta. Kogato
otkrili, che realnostta e mnogo po-slozhna, otkolkoto smiatali, te
prosto nameli slozhnostta pod kilim ot epitsikli. Taka e, te uslozhnili
izlishno neshtata. Tova e vazhen moment. Vselenata e slozhna, no tova e
neobhodima slozhnost.
Izobilstva ot dokazatelstva, che horata
produlzhavat da svruhoprostiavat i dnes. Niakoi hora predpochitat da
svruhoprostiavat svoiata kosmologiia. Drugi – svoiata teologiia.
Mnogo dizaineri na kompyuturni ezitsi svruhoprostiavat svoite ezitsi, i
priklyuchvat, kato namitat vselenskata slozhnost pod kilima na
programista.
Tova e estestven choveshki opit da se tursiat
shabloni v shuma, no poniakoga vizhdame shabloni, kakvito v deistvitelnost
niama. No tova, che niama realni shabloni, ne e ot znachenie. Ako
iznamerim magicheska pruchka da zaglushi shuma, to togava signalut shte
umre tutaksi. Abrakadabra…
Tova tuk e formata na golemiia vzriv, i na
zvezdite, i na sapunenite mehurcheta:
Tuk e formata na izmerimostta, na kristalite
sol, i prostranstvata mezhdu dunerite na durvetata:
Tova e formata na mravuniak, ili na koledno
durvo. Ili formata na troichnostta:
I, razbira se, shtom vednuzh ste uznali, che
shablonite sa tuk, vie mozhete da otkrivate prostite figuri, bez
dopulnitelna tsvetna pomosht:
Nashite mozutsi sa ustroeni da praviat tova.
I sega sigurno se chudite kakvo obshto ima vsichko
tova s Perl. Rabotata e tam, che vashiiat mozuk e ustroen da programira
na Perl. Izpitvate dulbokoto zhelanie da prevurnete slozhnostta v
prostota, i Perl e prosto drug instrument v pomosht na tova nachinanie.
Taka kakto az izpolzvam angliiskiia ezik tochno sega, v opit da oprostia
realnostta. Az moga da izpolzvam angliiskiia za tova, zashtoto
angliiskiiat e smesitsa, bezporiaduk.
Tova e vazhno, no i malko trudno za razbirane.
Angliiskiiat e polezen, zashtoto e smesitsa, burkotiia. Tui kato
angliiskiiat e smesitsa, toi ochertava dobre problemnoto prostranstvo,
koeto sushto e smesitsa, i koeto narichame realnost. Podobno, Perl beshe
zamislen da bude smesitsa, burkotiia (makar i po vuzmozhno nai-priiatniia
nachin).
Tova e neintuitivno, zatova, pozvolete mi da
obiasnia. Ako vie ste obuchavani za inzhener, to v glavite vi e nabito
ubezhdenieto, che goliamoto inzhenerstvo, tova e prostoto inzhenerstvo.
Nie sme naucheni da se vuzhishtavame na visiashtiia most poveche, otkolkoto
na zhelezoputnite ramkovi mostove s podpori. Nie sme naucheni da tsenim
prostotata i krasotata. Tova e milo. Az sushto haresvam okruzhnostite.
Vse pak, slozhnostta ne vinagi e vrag. Ot
znachenie e ne prostota sreshtu slozhnost, a kak osushtestviavame vruzkata
mezhdu tiah.
Vie se nuzhdaete ot izvestno kolichestvo slozhnost
za izvurshvaneto na niakoia konkretna rabota.
Za raketata Saturn V se govori, che imala 7 mln.
chasti, vsiaka ot koito triabvalo da funktsionira. No tova ne e suvsem
viarno. Mnogo ot tezi chasti sa bili dublirashti. No tova dublirane, dori
izlishestvo, beshe absolyutno neobhodimo za postigane na tselta –
da se izprati niakoi na lunata prez 1969 g. SHTom niakoi ot chastite na
raketata sa imali zadachata da budat dublirashti, to vsiaka ot tiah
produlzhava da ima svoeto znachenie i dial v rabotata. Taka da se kazhe.
Pri tova tiahnata rabota e imenno da stoiat i da chakat.
Nie zabluzhdavame sebe si, kogato kazvame: "Tova
e prekaleno", imaiki predvid "Tova e bezpolezno".
Izobilieto ne vinagi e izlishno, nezavisimo dali stava vupros za
raketi, za choveshki ezitsi ili za kompyuturni ezitsi. Nakratko,
prostotata chesto e vrag na uspeha.
Da predpolozhim, che iskam da zavladeia sveta.
Prostotata kazva, che shte zavladeia sveta sam. No v deistvitelnost
situatsiiata e takava, che az se nuzhdaia ot vashata pomosht, za da zavladeia
sveta, a vsichki vie ste mnogo slozhni. Az naistina gledam na tova kato
na vasha otlichitelna cherta. Vashite vzaimootnosheniia sa dori poveche ot
slozhni. Obiknoveno mislia za tiah kato za osobenost.
No poniakoga te se povrezhdat. Nie mozhem da
popravim vzaimootnosheniiata. No vinagi e dobra politika da proiaviavame
razbirane i uvazhenie kum horata, kato gi ostavim te sami da se
harakterizirat. Horata stavat razdraznitelni, kogato se opitate da gi
popravite.
Spomenahme, che poniakoga slozhnostta e bezpolezna,
a drug put – polezna. Eto edin primer za polezna slozhnost:
I sega povecheto ot vas, sediashti tuk, veroiatno ste
predubedeni za polzata ot slozhnite pismeni sistemi. Veroiatno mislite,
che ideografskata pismena sistema e nenuzhno slozhna. Vie dori mozhe bi
si mislite, che tazi kartinka e tolkova slozhna, kolkoto i predishnata.
No tova otnovo e kompromisa na tehnicheskiia tip mislene. V sluchaia
kitaiskiiat ezik e razmenil nauchaemostta za prenosmimostta. Zvuchi li
poznato?
Vsushtnost kitaiskiiat ne e edin ezik. V obshti linii
tova sa pet glavni ezika, vseki ot koito e nerazbiraem za ostanalite.
I oshte, mozhete da pishete kitaiski na edin ezik, a da go prochetete na
drug. Eto koe naricham az prenosim ezik. Izbiraiki visoko nivo na
abstraktsiia, kitaiskata pismena sistema e prigodena poveche za
komunikatsiia, otkolkoto za prostota. Tova sa edin miliard dushi v
Kitai, ne vsichki ot koito mogat da si govoriat, no pone mogat da si
izprashtat belezhki edin na drug.
I kompyutrite sushto taka si izprashtat belezhki edin
na drug. Samo deto mu vikame rabota v mrezha.
Misleneto mi tazi godina do goliama stepen beshe
povliiano ot rabotata s Unikod i s XML. 10 godini po-rano Perl beshe
dobur za rabota s tekst. Dori i sega stava za tova – pri
starata definitsiia za tekst. No definitsiiata za "tekst" se
promeni izvun i nezavisimo ot Perl za tezi 10 godini.
Vie mozhete da obvinite za vsichko tova Internet.
Siakash kogato klikvate butonite na vashiia brauzur,
tova kara kompyutrite da pozhelaiat da si izprashtat belezhki edin na drug.
I te iskat da izprashtat tezi belezhki otvud kulturnite granitsi. Taka,
kakto vie iskate da razberete kakvo izskacha na vashiia ekran, taka i
vashiiat kompyutur iska da razbere kakvo e tova, koeto ei sega shte
izskochi na vashiia ekran. Zashtoto, viarvate ili ne, kompyuturut v
deistvitelnost bi iskal da vurshi tova pravilno. Kompyutrite mozhe i da
sa glupavi, obache vinagi sa poslushni. E, pochti vinagi.
Eto kude se poiaviavat Unikod i XML. Unikod e
prosto nabor ot universalni ideogrami, taka che kompyutrite po sveta da
mogat da si predavat belezhki edin na drug navsiakude, kakto i da imat
niakakuv shans da vurshat pravilnite neshta s tiah. Niakoi ot ideogramite v
Unikod se sluchva da si suotvetstvat s razlichni natsionalni nabori ot
bukvi, kakuvto e sluchaiat s ASCII, no nikoi na sveta ne shte nauchi
nikoga vsichki tezi ezitsi. Nikoi i ne ochakva ot vas da nauchite vsichki
tezi ezitsi. Ne tova e glavnoto.
Eto koe e glavnoto. Minaliia mesets rabotih po ueb
stranitsata na moiata tsurkva. TSurkvata tukmo suzdade kitaisko pastvo,
zatova sega ima dve imena, ednoto ot koito mozhe da bude predstaveno
na ASCII, a drugoto ne mozhe. Eto kak izglezhda stranitsata:
Ako vashiiat brauzur e sravnitelno nov, i ako
imate zareden unikod shrift, to shte vidite eto tova. Tova e neshto vazhno,
koeto iskam da si otbelezhite.
Ako biah podgotvial tova godina po-rano, tozi blok
ot kitaiski ieroglifi veroiatno shteshe da predstavliava GIF-izobrazhenie.
No s izobrazheniiata ima problem. Ne mozhete da prilozhite komandite
"cut" i "paste" vurhu bukvite ot edna
GIF-kartinka. Probval sum go dostatuchno chesto, za da znam, a sum
siguren, che i vie sushto. Ako biah podgotvial tova godina po-rano, shtiah da
pribavia oshte edin plast slozhnost kum stranitsata. SHTiah da se nuzhdaia ot
neshto kato CGI skript da proveriava dali brauzurut poddurzha Unikod,
zashtoto v protiven sluchai tezi ieroglifi shte se izsipiat kato
nerazbiraem brutvezh, bokluk po tsialata stranitsa. Boklukut obichaino se
razbira kato nenuzhna slozhnost.
Kakto i da e, da se vurnem kum prostotata:
Nie izpolzvame okruzhnosti, za da predstavim
mnogo neshta. Nashiiat krug ot priiateli. Pregrudka, kogato nadpisvame
gurba na plika za pisma. Okruzhnostta na venchalniia prusten, koiato e
simvol na bezkraina lyubov.
Preminavaiki ot vuzvishenoto kum nelepoto, nie
imame sushto i kruglata papka, koiato e ada na nenuzhnite bumagi.
Sferi ot svetlina. CHerni dupki. Ili pone tehnite
sluchaini horizonti.
Edinstven prusten gi vladee i v mrak shte gi
obvie.
Kristalni topcheta. Perli.
Glavi luk. Perleni glavi luk.
Okruzhnostite opredeliat silno nashata simvolika. I
v chastnost poniakoga, dobaviaiki razlichni pridatutsi kum okruzhnostite,
nie predstaviame po-skoro slozhni poniatiia s prosti simvoli. Tezi
simvoli sa mostovete mezhdu prostotata i slozhnostta.
Tova tuk e istinska Dzen-diagrama:
E, vsushtnost ne e. V deistvitelnost in-ian idva ot
Tao, ili Dao, ako ne mozhete da proiznesete tazi nepridihatelna
suglasna "t". Tao e drevna iztochna filisofiia i predhozhda
Dzen s poveche ot hiliadoletie.
I taka, nazad kum in-ovete i ian-ovete.
In-ian predstavliava dualistichna filosofiia, mnogo
podobna na Silata v Mezhduzvezdni Voini. Znaete li kak Silata e
kato putna lenta? Otgovor: ima svetla strana, tumna strana, i tova
udurzha vselenata tsiala. Az samiiat ne sum dualist, zashtoto viarvam, che
svetlinata e po-silna ot tumninata. Vupreki tova, kontseptsiiata za
ravnovesieto na silite poniakoga e polezna, osobeno na inzhenerite.
Kogato edin inzhener iska da uravnovesi silite, taka che te da ostanat
v ravnovesie, toi posiaga kum putnata lenta.
Kogato napravih tozi in-ian, se chudeh dali taka e
pravilno. SHTeshe da bude sramota, ako sum go razbral naopaki, ili
krivo, ili neshto podobno.
E, vie znaete, che poniakoga tezi neshta imat
znachenie. Ima goliamo znachenie v organichnata himiia, kudeto go narichat
chirality[1]
– ako vzemete edna molekula menta i ia oburnete otliavo nadiasno,
poluchavate molekulata na kimiona. Gadost. Dulgo vreme si misleh, che
mrazia ruzheniia hliab, dokato ne otkrih, che v nego slagat zruntsa kimion.
Koito ot tezi aromati i da predpochitate, tova e
vupros na vkus. No doktorite i organichnite himitsi shte vi kazhat, che ima
sluchai, kogato chirality e vupros na zhivot i smurt. Ili na
deformirani krainitsi, kakuvto e sluchaiat s Talidomida. Imalo e
“sgreshen” vid Talidomid, koito vsushtnost e suzdaval
problemi[2].
Dyslexics[3]
shte vi kazhe, che chirality ima goliamo znachenie pri vizualnite
simvoli. Tova vi otvezhda do bukvite “b”
i “d”. Ili “p”
i “q”. Ili nomer 6. Da ne
spomenavame za nomer 9. Mozhete de vidite 6 i 9 v in-ian, pri tazi
orientatsiia.
Nakratko, chudia se dali in-ian prilicha na
svastika, kudeto nachinut na orientatsiia predopredelia kogo tochno shte
vbesite (natsistite ili induistite – bel. prev.).
Napravih niakoi prouchvaniia (v Mrezhata, razbira
se). Fakt e, che Mrezhata e prevuzhoden primer za onova "Ima
poveche ot edin nachin da se napravi tova.". V sluchaia, ima
vsevuzmozhni nachini da se napravi tova. Mozhete da otkriete in-ian vuv
vsiaka vuzmozhna orientatsiia. Vse oshte ne sum naiasno dali niakoia ot tiah ne
e po-pravilna ot drugite.
“TYEDYE WORLD”
sa niakakvi hora v WEB, koito prodavat “tie”-boiadisani
teniski. Podoziram, che v sluchaia stava duma za Tao-boiadisani teniski.
Te misliat, che izglezhda gore-dolu taka:
Predpolagam, che ako go iskate po drug nachin,
samo shte si slozhite teniskata ot opakata strana. Oblichaiki ia naopaki,
shte nakarate drugite da se zaglezhdat po vas.
Horata ot Unicode konsortsiuma smiatat, che tova
izglezhda taka. Ne znam dali sa pravi, no ako ne sa, tova e bez
znachenie. Te sa go publikuvali po tozi nachin, i sega taka e pravilno
po definitsiia.
Estestveno, v moia rechnik e ot gornata strana:
I taka, obratno kum Unikod. Unikod e pulen s
okruzhnosti. Mnozhestvo natsionalni pismena v ramkite na Unikod se
izpolzvat da izobraziat okruzhnost, i povecheto ot tiah ia predstaviat kato
tsifrata 0. Tia e s Unikod-nomer 3007 (shestnadesetichen kod). Tova e
ideografskiiat simvol za 0:
Iznenada, iznenada. Tova prilicha na nashata 0.
Otbelezhete tochka za kulturniia imperializum. V angliiskiia, razbira se,
sme spleskali nashata 0 stranichno, za da se razlichava ot bukvata O.
V bengalskiia ezik e splesnata ot drugata strana,
no ot podobni suobrazheniia:
Namiram za interesno, che v sveta ima tolkova
mnogo razlichni predstavianiia na nishtoto. Po tozi povod mogat da se
izmisliat shegi do bezkrai: Mnogo shum za nishto, ili Nishto ne mozhe da spre
edna ideia, vremeto na koiato e doshlo. Eto neshto, svurzano s nishtoto:
Tova e universalniiat “zabranitelen”
simvol. V Unikod toi e klasifitsiran kato kombinirana bukva.
Razbira se, v Perl kulturata pochti nishto ne e
zabraneno. Imam chuvstvoto, che v ostanalata chast ot sveta veche tsari
izobilie ot dostatuchno zabrani, taka che zashto da izmisliame oshte? Tova
se otnasia ne samo za programiraneto, no sushto i za mezhdulichnostnite
otnosheniia, naprimer. Nevednuzh se e sluchvalo da me moliat da izhvurlia
niakogo ot Perl obshtnostta, nai-chesto zashtoto e v razrez s edna ili
druga moda. Dosega printsipno sum othvurlial podobni iskaniia. Viarvam,
che tova e pravilnata politika. Pone zasega raboti – na nivo
praktika. Vsiaka ot problemnite lichnosti v kraia na kraishtata ili
napuska dobrovolno, ili ostava i se nauchava po-polzotvorno da meli
brashno s drugite. Tova e stranno. Horata razbirat instinktivno, che
nai-dobriiat nachin kompyuturnite programi da komunikirat edna s druga e
vsiaka ot tiah da bude striktna v rezultatite ot rabotata si i
liberalna, kogato priema rezultatite na drugite. Strannoto e, che
samite hora ne zhelaiat da sa striktni za nachina, po koito govoriat,
nito da sa liberalni za tova kak slushat. Vie shte si pomislite, che tova
bi triabvalo da e tolkova ochevidno. Inache ni e kazano da izraziavame
sebe si.
Ot druga strana, nie se opitvame da nasurchim
izvestni tsennosti v Perl obshtnostta. Kakto iztukva apostol Pavel,
nikoi ne pravi zakoni, protivni na lyubovta, radostta, mira,
turpenieto, surdechnostta, dobrodetelnostta, blagostta, krotostta,
smirenieto ili samokontrola. Taka che, vmesto da se kontsentrirame
vurhu zabraniavane na zloto, neka po-skoro se susredotochim v
nasurchavane na dobroto. Unikod e tuk zaradi tova.
Razbira se, ako ste dete na tsvetiata, mozhe bi shte
predpochetete tazi:
Niakoi ot dobrite strani na Unikod ne sa tolkova
ochevidni.
Tova e simvolut za labialen zvuk, edin ot
simvolite v Mezhdunarodnata Fonetichna Azbuka. Vie mozhe i da ne znaete,
no mnogo ot vas praviat tozi zvuk chesto. Ako iskate da probvate da
napravite edin, eto kak. Pochti suberete ustnite si zaedno, posle
napravete neshto kato afrikaten zvuk, kato vkarvate vuzduh v gurloto
si.
Razbira se, v angliiskiia pishem tova s edno X, za
da si podhozhda s O-tata na gurba na plika za pisma. No vie
svidetelstvate za otminavaneto na edna epoha. Tui kato elektronnata
poshta navliza vse poveche, izprashtaneto na pregrudki i tseluvki na gurba
na plika se prevrushta v izlishno izkustvo. Ne se poluchava suvsem sushtiiat
efekt, kato prosto izpolzvate zaglavniia red v edin imeil.
Content-type: text/hugs&kisses.
Znaete, che e dosta trudno sushto i da parfyumirate
edno imeil poslanie. Content-type: text/scented.
Razumut izpada v nedoumenie.
Ima oshte poveche prosti okruzhnosti, koito
predstaviat slozhni neshta. Tova e simvolut na Zemiata:
Tova – simvolut na Mars:
A tova e simvolut na Venera:
Po-rano raboteh v Laboratoriiata za Reaktivno
Dvizhenie i pomognah munichko da se otkrie, che Mars i Venera sa dosta
slozhni. No i ako neshtata da ne sa bili dostatuchno slozhni, drevnite sa
gi uslozhnili dopulnitelno, kato sa natovarili tehnite simvoli da
oznachavat muzhko i zhensko. Muzhete sa ot Mars, zhenite ot Venera, taka
ni e kazano, no tova ne e nova ideia.
Eto oshte malko istoriia.
Kogato razrezhete glava luk, tia izglezhda eto
taka. Ako izpolzvame tova kato kartina na sveta na Perl, to az triabva
da sum tova malko neshto v sredata na luka.
Okolo men sa niakoi ot rannite privurzhenitsi na
Perl, pochitani dnes kato geroi na revolyutsiiata. Tui kato v dvizhenieto
se vklyuchiha poveche hora, se pribaviha novi sloeve. Tova mozhe da
bude izobrazeno sushto i kato atom sus sloeve ot elektronni obvivki.
Razbira se, ne e izvesten atom, koito da ima chak tolkova mnogo
elektronni obvivki. Taka che si ostavame pri glavata luk.
SHTo se otnasia do luka, toi mi pokazva neshto za
sobstvenata mi znachimost, ili puk za lipsata i. A imenno, sled kato
sum mogul da startiram vsichko tova, az si ostavam malko parchentse ot
luka. Ostanalata po-goliama chast e vuv vunshnite sloeve. (Eto zashto mi e
priiatno da vizhdam kak vuznikvat dvizheniia, kato tova na “Prodavachite
na Perl”.) No tuk az sedia v sredata. Sdobivam se s chest za
istoricheskata mi vazhnost, no v deistvitelnost povecheto hora vizhdat
vunshnostta na luka, ne vutreshnostta, osven ako ne sustaviat prustenite
na luka. Dori i togava, po-golemite prusteni znachat za tiah poveche,
otkolkoto po-malkite. Neka tova bude urok za tezi ot vas, koito biha
zhelali da sa “posveteni” Ne v tova e istinskata sila. Vuv
vseki sluchai ne i v tova dvizhenie. Opitah da napravia Perl dvizhenieto
po modela na edno drugo dvizhenie, na koeto sum chlen, i osnovateliat na
tova dvizhenie kaza: “Tozi, koito zhelae da e nai-velik sred vas,
triabva da stane sluga na vsichki.” Edin ot negovite 12
priblizheni go predava, a 10 ot ostanalite 11 produlzhavat i
preturpiavat muchenicheska smurt. Ne, che iskam nikoi ot moite priiateli
da se hvurli na luvovete.
Da se vurnem kum primerite s razvitieto.
Prirodnite perli sushto narastvat v sloeve, okolo zruntse piasuk, koeto
drazni vuprosnata strida i tia oformia sloeve ot krasivo veshtestvo. Tova
bi moglo da bude naprechen razrez na perla. Horata nariazvat luka na
sitno, no pochti nikoga ne rezhat perlite. I taka, tova e viarno
po-skoro za perlite, otkolkoto za luka. Vunshniiat sloi e po-vazhen.
Tova e, koeto horata vizhdat. Ili, ako perlata produlzhi da raste, tova
e sloiat, koito shte poddurzha sledvashtiia sloi. Az osushtestvih tova, koeto
me klasifitsira kato prost draznitel. Dovolen sum da buda klasifitsiran
po tozi nachin.
Mezhduvremenno drugi neshta sushto rastat. Veroiatno
ako promenim kartinkata do tri prustena, tia shte stane po-iasna:
Ako ponaznaivate malko fizika, vi e izvestno, che
trubata e pochti tolkova zdrava, kolkoto soliden prut sus sushtiia
diametur. Tova e zashtoto po-goliama chast ot silata se razpredelia vuv
vunshnite sloeve. Fakt e, che surtsevinata na edno durvo mozhe da gnie, a
durvoto da ostava suvursheno zdravo. Po podoben nachin goliama chast ot
zdraveto na Perl-kulturata e susredotochena v stavashtoto po
periferiiata, ne v tsentura. Horata si spestiavat miliardi dolari vsiaka
godina, kato programirat na Perl, no povecheto ot tezi spestiavaniia se
sluchvat navun v okopite. Dori i po-blizo do tsentura, osnovnata rabota
se sustoi poveche v dobaviane na drugi neshta kum Perl, otkolkoto v
promeniane na samiia Perl. Az mislia, che taka i triabva da bude. Qdroto
na Perl v izvestna stepen e stabilizirano. Dazhe i s promeni v iadroto,
kato naprimer mnogonishkovost i poddruzhka na Unikod, nie durzhim da
dobaviame dopulnitelni moduli, zashtoto taka e po-chisto, i horata niama
da izvikvat novata funktsionalnost, osven ako ne zhelaiat.
TSialata tazi rabota s narastvashtite prusteni
stava, kogato se govori za minaloto, no kakvo da kazhem za budeshteto?
Az niamam kristalna topka. Imam sobstveniia si binokul. Eto go
tipichniiat simvol za tova:
Tova e, razbira se, e obichainiiat kinematichen
pohvat da se pokazhe, che niakoi gleda prez binokul. Sega ne znam kakvo
se vizhda prez binokula, taka che neka poglednem ot drugata mu strana:
Razbira se tova bi moglo da bude izobrazhenie na
dve silno svurzani tela, vurtiashti se edno okolo drugo.
Vsiaka ot tezi planeti porazhda prilivite i
otlivite na drugata. Horata obiknoveno razbirat zashto ima izdatina na
vsiaka ot blizkite strani na planetite. Tova, koeto ne razbirat
tolkova lesno, e zashto ima izdatini i ot dalechnite im strani. No
razbirate, sled kato pomislite, kak drugata planeta ne samo durpa
blizkata izdatina ot tsentura na purvata, no i otdalechava tsentura i ot
neinata dalechna strana.
Tova e naistina dobra kartina na
vzaimootnosheniiata mezhdu obshtnostta na svobodniia softuer i obshtnostta na
komersialniia softuer. Bihme mogli dori da opredelim niakoi ot
kraishtata. Neka samo izmislim niakakvi imena. Mozhem da narechem liavata
krainost, h-m, “Richard”. I diasnata – neshto kato, o,
“Bil”.
Srednata izdatina e malko trudno da bude
naimenovana, no samo za dnes mozhem da narechem tozi ot liavata sreda
“Lari”, a onzi ot diasnata “Tim”.
Tova, razbira se, e oshte edno svruhoprostiavane,
zashtoto razlichnite hora i organizatsii ne sa na edno i sushto miasto na
diagramata, a imat navika da shtukat naokolo. Niakoi hora uspeshno
tsirkulirat napred-nazad ot ednata izdatina do drugata. V daden moment
te ratuvat za po-goliamo sutrudnichestvo mezhdu svobodnata i
komersialnata obshtnost, a v sledvashtiia plyuiat po vsichko komersialno.
Nashite hipotetichni Richard i Bil pone sa printsipni.
No deistvieto e v sredata.
Tova e miastoto, kudeto vsichki gledat, za da
razberat kakvo ima da stava. V deistvitelnost, tova e minalogodishnata
kartina. Tazi godina tia izglezhda po-skoro taka:
Roburt L. Foruard e napisal kniga, po-tochno
poreditsa ot knigi, za miasto, narecheno “Svetut na Rosh”. To
e krusteno na kolega, koito se kazval Rosh. Iznenada. Tozi e kolegata,
opredelil “limita na Rosh”. Toi predvidil, che planetite
biha se razpadnali, ako se priblizhat tvurde blizo edna do druga.
Okaza se, che toi e svruhoprostil, tui kato negovata matematika ne e
bila dostatuchno moshtna. Ako ostavite vashite planeti da si izkriviat
formite kato tezi, mozhete da gi suberete suvsem blizo, i da gi
ostavite taka. Oburnete vnimanie, che gravitatsionnoto pole, deistvashto
v tezi tochki, vupreki che e mnogo slabo, e dostatuchno da durzhi
planetite zaedno.
Po podoben nachin svobodnata i komersialnata
obshtnost sa dosta po-blizo edna do druga tazi godina, otkolkoto mnogo
hora smiatat che e vuzmozhno po starite smetki. V “Sveta na Rosh”
planetite ne se dokosvat, no si spodeliat atmosferite. Ako
izkrivim leko neshtata s magiia(Image Magic(softuerut) - bel.kons) , shte imame gore-dolu slednata
kartina:
Vizhdate kak mozhete da letite ot edna planeta na
druga, no ne i da se razhozhdate. Tova napomnia na kvantovata mehanichna
teoriia za podprostranstvenite tuneli, kudeto ne mozhete da otidete
ottuk do tam, no mozhete da go napravite vupreki tova s letiasht skok.
Tova, koeto teche mezhdu svobodnata i
komersialnata obshtnost, sa mnozhestvo idei. Zaedno, tezi dve
izpuknalosti opredeliat kakvo shte bude tova, koeto nie sega narichame
dvizhenieto na Otvoreniia Kod. Tuk imame kachestveno novo neshto: bivshite
vragove se dogovariat zaradi obshtoto blago, koeto nadhvurlia vsiakakuv
otdelen biznes model. I tova obshto blago e po-dobur softuer po-skoro.
Eto koe pravi vsichko ostanalo vuzmozhno. Horata realizirat mosht ot edna
prosta ideia. Nie niamame nuzhda ot patent na softuera ili ot turgovski
taini. Vsichki nie se nuzhdaem ot oshte edna prosta okruzhnost:
Okruzhnost sus “c”
vutre v neia. Otvoreniiat Kod zhivee ili umira v avtorskoto pravo.
Nashata sukrovena nadezhda e, che toi shte zhivee. Molia, neka vseki dade
svoia dial da zapazim neshtata po tozi nachin. Ako imate vuzmozhnost da
populiarizirate avtorskoto pravo, vmesto patenta, molia, napravete go.
Znam, che mnogo ot vas veche sa populiarizirali avtorskoto pravo, za
smetka na turgovskite taini. Neka sushto taka podkrepiame zakona
za avtorskoto pravo, kato uvazhavame zhelaniiata na sobstvenitsite na
avtorsko pravo, nezavisimo ot tova dali sa izrecheni na glas, za
udovolstvie na advokatite im. “C”-to
v okruzhnostta bi moglo da ostane ot uchtivost. Kogato mislim za
uchtivost, nie mislim za gradove i za tova, che neshtata sa tochni i
kvadratni. A eto go i nuzhniiat ni kvadrat:
I naistina, gradovete sa izgradeni ot kvadrati i
pravougulnitsi. Nie gi narichame blokove. I ako ot gradoustroistveniia
plan otpadne stroezhut na blokove, nie pak go narichame kvartal. Dori i
da ne e kvadraten. Vizhte figurata.
Poniakoga samite sgradi sa kvadratni:
No chesto ne sa. Podobno, ako poglednete v
Unikod-knigata, tam kazhi-rechi niama tolkova mnogo kvadrati, kolkoto
okruzhnosti. Az smiatam, che fundamentalnata purvoprichina e slednata.
Kogato stroim sgradi, kakto i kogato pishem bukvi, nie gi postaviame v
ramki ot pravi linii. V terminite na pisaneto, nie pishem
otliavo-nadiasno, ili otdiasno-naliavo, ili otgore-nadolu. Abstraktnite
kletki, v koito postaviame bukvite, ili sgradite, sa kvadratni. No i
bukvite i sgradite imat svoistvoto da se gubiat ot pogleda, kogato
sledvat sushtata liniia kato na obshtiia tekst. Povecheto bukvi sudurzhat
linii pod stranen ugul, tochno kakto mnogo moderni nebosturgachi, koito
sa proektirani taka, che da ne izglezhdat kato kutii. V deistvitelnost,
nikoi ne haresva nebosturgachite ot 60-te, zashtoto tvurde
mnogo prilichat na kutii. Horata haresvat neshtata vidimo da se
razlichavat ot okolnata obstanovka.
Eto zashto i raznite klasove operatori i
promenlivi v Perl sa vidimo razlichni edin ot drug. SHTo se otnasia do
moeto mnenie, tova si e edno suvsem razumno choveshko proektirane. Ne
mi se nravi obstoiatelstvoto, che vsichki operatori v Lisp
izglezhdat ednakvo. Ne mi se nravi i faktut, che povecheto putni znatsi v
Evropa si prilichat. I odobriavam reshenieto na Germaniia da napraviat
tehniia znak stop po-razlichen ot vsichki ostanali znatsi. Razbira se,
tova e polezno sushto taka i za nas, nevezhite amerikantsi, che te si
praviat znatsite da prilichat na amerikanskiia znak stop. Otbeliazvame
nova tochka za kulturniia imperializum.
Kakto i da e, za suzhalenie na amerikanskiia
kulturen imperializum, pozvolete mi da iztukna oshte edno preimushtestvo
na ideografskata pismena sistema. Ponezhe ideogramite sa napisani v
kvadratni kletki, te mogat da se pishat tolkova lesno kakto
horizontalno, taka i vertikalno. Ili obratnoto. Nashite promenlivo
visoki bukvi ne pritezhavat tova priiatno kachestvo. Osobeno v shrift
kato Helvetica, kudeto trudno se razlichavat
l i i, dori kogato sa edna do druga.
Za zavurshek mi se iska da pogovoria za
triugulnitsite. Eto primer:
Triugulnitsite sa svurzani s okruzhnostite po
sushtiia nachin, kakto vurhovete na strelite sa svurzani s tselite. Eto
edna tsel:
Znam, che sum ia razbral pravilno. Namerih ia v
Mrezhata. I koeto e vazhnoto, spriah se vednaga shtom otkrih purvata.
V deistvitelnost, tova e Unikod-znaka, narechen
“bivolsko oko”.
Ne sum suvsem siguren kakvo triabva da oznachava.
No tova ne me e spiralo nikoga dosega. Az shte go napravia da oznachava
neshto.
Izstreliah dosta streli v tova ese i ne znam dali
puk ne utselih niakoi bivolski ochi.
Nie postaviame triugulnitsi otpred na strelite, zashtoto sa ostri.
Triugulnitsite se svurzvat s bolka, osobeno ako nastupite niakoi.
Uglite na triugulnika vnushavat useshtaneto za trudno izkachvane na
planina:
Ot druga strana, vunshniiat vid mozhe da vi
podvede. Edin triugulnik napodobiava sushto i plosuk put,
prostirasht se do horizonta:
Vsichko e vupros na perspektiva. Mozhete da
izberete vashiia izgled spored miastoto, kudeto shte zastanete. Az ne moga
da predvidia dali putiat na Perl napred shte bude neraven ili gladuk, no
moga da predvidia, che ot mnozhestvoto perspektivi, koito shte ni se
privizhdat, po-lesnoto shte bude da izberem perspektivite, koito
haresvame. A tova e, v kraia na kraishtata, rabotata na razrabotchika na
ezika – da obglezhda problema ot razlichni strani, da bude malko
neshto vseznaesht, taka che drugite hora da mogat da se polzvat ot tova.
Napravih malka triangulatsiia[4] i
poluchih karta na teritoriiata. Tova mi e rabotata. Ako moiata karta vi
otvede zakudeto ste trugnali, az shte sum shtastliv.
Ako vzemete parche ot luka na Perl, to prilicha na
neshto kato triugulnik. Postavete go na edna strana i shte poluchite
grafikata na rastezha na Perl za poslednite deset godini:
Iziashtno i elegantno. Tazi grafika e abstraktsiia,
razbira se. Niama kak da izmeria deistvitelniia rastezh na Perl. No
ochevidno rastezh ima. Nie napravihme mnogo pravilni neshta, i, obshto
vzeto, triabva da produlzhim da pravim tochno tova, koeto sme pravili.
Sega da si predstavim, che sviem tozi triugulnik
i razteglim grafikata, za da pokazhem tseliia zhiznen tsikul na Perl. Nie
naistina ne znaem kolko bi mogul da produlzhi.
Trudno e da se kazhe kak da se napravi
razgranichenieto v grafikata. No triabva da znaete, che az ne otseniavam
uspeha na Perl v termini za tova, kolko mnogo hora me haresvat.
Kogato osredniavam tezi krivi, az izchisliavam broia na horata, na koito
sum pomognal da si svurshat rabotata.
Moga da vi kazha, che spored men razlikata mezhdu
kriva 1 i kriva 2 mozhe bi zavisi ot vklyuchvaneto na vsichki potentsialni
potrebiteli na Windows, s vsichkite problemi, koito shte imat da
razreshavat. A te sa mnogo. Ne sluchaino izdadohme Win32 Perl Resource
Kit.
I sushto shte vi kazha, che razlikata mezhdu kriva 2 i
kriva 3 mozhe bi zavisi ot vklyuchvaneto na vsichki internatsionalni
potrebiteli, na koito Perl bi bil ot polza. Ne sluchaino poslednata
rabotna versiia na Perl vi pozvoliava da imenovate promenlivite si s
vseki simvol, smiatan za bukveno-tsifrov v Unikod. Tova vklyuchva
ideogramite. V Kitai ima edin milion dushi. I az iskam te da sa
sposobni da si prashtat belezhki edin na drug, pisheiki na Perl. Az iskam
te da sa sposobni da pishat poeziia na Perl.
Takava e moiata viziia za budeshteto. Moiata izbrana
perspektiva.
V nachaloto govorih za dobrodetelite na
programista: murzel, neturpenie i gordelivost.
Tova sa dobrodeteli na strastta. Te sa sushto i
dobrodeteli na individualista. Tova ne sa, obache, dobrodeteli na
obshtnostta. Dobrodetelite na obshtnostta zvuchat kato tiahna
protivopolozhnost: uporstvo, turpenie i smirenie.
Te ne sa istinski protivopolozhnosti, zashtoto
mozhete da izpolzvate vsichki tiah ednovremenno. Tova e sushto vupros na
perspektiva. Tezi sa dobrodetelite, koito ni otvedoha tolkova
nadalech. Tezi sa dobrodetelite, koito shte se grizhat za nashata obshtnost
v budeshte, stiga da ne gi izostavim.
Sushtestvenoto e prosto da durzhim kursa. Fridrih
Nitsshe go naricha “dulgo poslushanie v sushtata posoka”, koeto
e edno dobro i zhizneno moto. No az haresvam sushto i pulniia tsitat:
Sushtestvenoto
neshto “na nebeto i zemiata” e... che bi triabvalo da ima
dulgo poslushanie v sushtata posoka; eto ot tova proizliza, i vinagi e
proizlizal dulgiiat biag, neshto, koeto pravi zhivota da si struva da se
zhivee.
A sega shte napravim pulen krug, obratno kum
okruzhnostta. Tova tuk e vratata na kushtata na Bilbo Begins. Ima put,
koito trugva ot tazi vrata, i Bilbo e napisal poema za tova.
Zapochva
Put ot moia prag –
bezkraen, ograden s treva.
Uvlechen
v negoviia biag,
i az shte triabva da vurvia,
da
vlacha mornite peti,
dodeto stigna drum goliam,
subral
puteki i mechti.
A posle nakude? Ne znam.[5]
Dzh.R.R.
Tolkin
Hobitut