Ocenite etot tekst:


---------------------------------------------------------------
     © Copyright Maksim Otstavnov, 2003
     Email: maksim@otstavnov.com
     WWW: www.otstavnov.com
     ISBN5-94842-003-5
     Origin: http://www.otstavnov.com/fsft/ISBN5-94842-003-5/ISBN5-94842-003-5.html
---------------------------------------------------------------

UDK 372.800.2

BBK 74.263.2

O80


Ispol'zovan tekst lekcij, publikovavshihsya avtorom v prilozhenii k gazete "Pervoe sentyabrya" "Informatika" (http://inf.1september.ru) v 2002-3 g., a takzhe fragmenty statej, ranee publikovavshihsya v zhurnalah "Komp'yuterra" i "Domashnij komp'yuter".

Materialy, predstavlennye v etoj knige, takzhe dostupny v Internet na stranice www.otstavnov.com/fsft na usloviyah Svobodnoj licenzii GNU na dokumentaciyu (GNU FDL). Vse prochie prava sohranyayutsya za avtorom.


Maksim Otstavnov

O80 Prikladnye svobodnye programmy v shkole. -- M.: Izdatel'stvo "Media Tehnolodzhi servis", 200". -- 96 s.: il.

ISBN 5-94842-003-5


Kurs lekcij, vklyuchennyh v broshyuru, znakomit chitatelya s populyarnymi svobodnymi prikladnymi programmami, poleznymi pri prepodavanii informatiki v srednej shkole. V obzor voshli paket "ofisnyh" programm OpenOffice.org, kommunikacionnyj paket Mozilla, graficheskij redaktor GIMP, sovremennye graficheskie sredy GNOME i KDE i drugie programmy.

Dlya prepodavatelej informatiki, metodistov i studentov i aspirantov sootvetstvuyushchih special'nostej.


2002-3, Maksim Otstavnov.

2002, Andrej Dobrovol'skij (razdel 10.4).




Oglavlenie

Zachem programmam byt' svobodnymi?

Lekciya 1. OpenWriter -- svobodnyj word-processor

Lekciya 2. Svobodnyj instrumentarij raboty s tekstom

Lekciya 3. OpenDraw -- svobodnyj redaktor vektornoj grafiki

Lekciya 4. GIMP -- svobodnyj redaktor rastrovoj grafiki

Lekciya 5. OpenCalc -- svobodnyj redaktor elektronnyh tablic

Lekciya 6. Stroka dlinoyu v zhizn'

Lekciya 7. Graficheskij interfejs pol'zovatelya

Lekciya 8. GIP II: "Legkie" graficheskie sredy

Lekciya 9. GIP III: Integrirovannye graficheskie sredy

Lekciya 10. Svobodnye kommunikacii

Literatura

Ob avtore



Zachem programmam byt' svobodnymi?

0.1 Svobodnoe i nesvobodnoe PO

Na segodnya v shkole, kak i v nekotoryh drugih segmentah rynka, dominiruyut "al'ternativnye", nestandarnye operacionnye sistemy i platformy (takie, kak MS-DOS, Microsoft Windows, Microsoft Windows NT, MacOS versij do X). Pol'zovanie imi opisyvaetsya v uchebnikah, na nih orientiruyutsya avtory otechestvennyh uchebnyh programm.

V techenie dolgogo vremeni "cena voprosa" prosto ne stanovilas' povodom dlya skol'ko-libo ser'eznogo analiza -- ni dlya kogo ne sekret, chto dolya kontrafaktnogo PO v rossijskih shkolah ochen' vysoka, a obshchestvennoe mnenie, uvy, poka sklonno schitat' "legal'nost'" programmnogo obespecheniya voprosom bolee otvlechenno-akademicheskim, nezheli nasushchno-prakticheskim, a uzh tam, gde delo kasaetsya zarubezhnyh pravoobladatelej, -- otnosit'sya k nemu ne kak k "piratskomu", a kak k "trofejnomu" (chto, vprochem, takzhe imeet svoi osnovaniya).

Imeyutsya ochen', na nash vzglyad, veskie prichiny, chtoby postepenno otkazat'sya ot etoj nedobroj tradicii i vernut'sya v ruslo, bolee sootvetstvuyushchee magistral'nym liniyam razvitiya informacionnyh i kommunikacionnyh tehnologij:

Mogut li segodnya svobodnye realizacii standartnyh tehnologij kachestvenno obespechit' uchebnyj process v shkole? Vopros neodnoznachnyj, i my vidim otvet na nego dvoyakim:

Gorazdo razumnee so vnimaniem otnestis' k tomu interesu, kotoryj uzhe proyavlyaetsya uchitelyami k svobodnomu PO (i naoborot, avtorov i postavshchikov svobodnyh programm -- k uchebnomu processu) i podderzhat' process ego osvoeniya v tom tempe, kotoryj okazhetsya "estestvennym".

V nachale tekushchego (2002-3) uchebnogo goda k avtoru obratilas' gruppa metodistov s predlozheniem opisat' desyatok naibolee primenimyh v shkol'noj uchebnoj praktike programm. Polagaya, chto takoj rasskaz interesen i bolee shirokoj auditorii, avtor dogovorilsya s redakciej "Informatiki", prilozheniya k gazete "Pervoe sentyabrya", o "cikle lekcij" na stranicah etogo izdaniya. V etu broshyuru voshli materialy pervyh desyati "lekcij", posvyashchennyh prikladnym svobodnym programmam.

0.2 Pravo i ekonomika PO

Poskol'ku sushchestvuet izryadnaya putanica s terminologiej, imeet smysl privesti opredeleniya dalee ispol'zuemyh terminov. |to osobenno umestno, kogda my govorim o programmah v shkole, ved' svobodnoe PO poka ochen' slabo proniklo v etu vazhnejshuyu sferu primeneniya komp'yuterov.

Svobodnymi nazyvayutsya programmy, avtor (ili inoj obladatel' imushchestvennyh avtorskih prav) kotoryh opublikoval (obnarodoval) ih v soprovozhdenii tak nazyvaemoj "svobodnoj licenzii", ili, esli sledovat' terminologii otechestvennogo zakonodatel'stva, publichnogo avtorskogo dogovora, peredayushchego priobretatelyu prava: 0) pol'zovat'sya programmoj dlya lyubyh celej (v ramkah rossijskogo zakonodatel'stva eto tavtologiya, tak kak u pravoobladatelya net pravomochiya ogranichivat' celi, v kotoryh sobstvennik ekzemplyara programmy mozhet ee primenyat') i na neogranichennom kolichestve komp'yuterov ili mest v seti; 1) besprepyatstvenno poluchat' dostup k ee ishodnym kodam; 2) izgotovlyat' (proizvodit') neogranichennoe kolichestvo dopolnitel'nyh ee ekzemplyarov, kak dlya sobstvennogo pol'zovaniya, tak i dlya rasprostraneniya ili sdachi v prokat/arendu na teh zhe usloviyah, vozmezdno ili bezvozmezdno (po svoemu vyboru); 3) modificirovat' ee kak dlya sobstvennogo pol'zovaniya, tak i dlya rasprostraneniya na teh zhe usloviyah.

Konkretnaya "licenziya" (usloviya konkretnogo dogovora) mogut predostavlyat' priobretatelyu dopolnitel'nye pravomochiya, bezuslovno ili na opredelennyh usloviyah, i eto ne delaet programmu nesvobodnoj. Nesvobodnoj yavlyaetsya programma, rasprostranyaemaya na usloviyah, ogranichivayushchih vysheperechislennye prava priobretatelya.

Svobodnye programmy (free software) ne sleduet, kak eto chasto delayut, putat' so "svobodno rasprostranyaemymi" (shareware, inogda pochemu-to nazyvaemymi u nas "uslovno-besplatnymi") ili "besplatnymi" (freeware).

Takzhe sleduet imet' v vidu, chto, hotya termin "programmy s otkrytymi ishodnikami" (open source software) chasto ispol'zuetsya kak sinonim "svobodnyh programm", im inogda zloupotreblyayut.

Svobodnoe PO ne sleduet putat' i s "otkrytym" (open software): "otkrytost'" otnositsya k soblyudeniyu standartov na interfejsy, i tol'ko, a svoboda -- k usloviyam licenzirovaniya i modeli razrabotki.

I nakonec, ne sleduet putat' "kommercheskoe" s nesvobodnym, a "nekommercheskoe" -- so svobodnym. Hotya rol' programmistov, v poryadke aktivizma ili hobbi pishushchih i razvivayushchih svobodnye programmy, ochen' velika, znachitel'naya chast' (veroyatno, bol'shaya) svobodnogo koda razrabatyvaetsya v kommercheskih ramkah. V to zhe vremya, sushchestvuet bol'shoe kolichestvo nekommercheskogo nesvobodnogo koda (freeware).

Uzel terminologicheskih tonkostej i konceptual'nyh slozhnostej mozhno razrubit', vvedya al'ternativnoe opredelenie: svobodnye programmy -- eto programmy, vse uslugi po razrabotke, modifikacii, soprovozhdeniyu i podderzhki kotoryh prodayutsya na svobodnom rynke. Esli vy vidite, chto, naprimer, svobodnyj distributiv kakoj-libo versii GNU/Linux, vklyuchayushchij, pomimo operacionnoj sistemy i neskol'kih operacionnyh sred, bol'shoe kolichestvo prikladnyh programm, stoit ot neskol'kih desyatkov do neskol'kih tysyach rublej, v to vremya, kak "nabrat'" dazhe nebol'shuyu chast' etoj funkcional'nosti programmami nesvobodnymi mozhet obojtis' i v desyat', i v sto raz dorozhe1, prichina etomu ne v "besplatnosti" chego-libo, a v konkurentnosti rynka.

My izbavim chitatelya ot obsuzhdeniya anatomii rynka (kak formiruyutsya ceny, kto, za chto i kakim obrazom voznagrazhdaetsya), otoslav interesuyushchihsya k sootvetstvuyushchej literature [2, 3]. Vazhno to, chto sootvetstvuyushchij rynok uspeshno razvivaetsya uzhe v techenii chetverti veka, est' primery ispolneniya im zadach, nemyslimyh dlya otdel'nyh korporacij (samyj yarkij iz nih -- razvorachivanie v devyanostyh na osnove svobodnyh programm i sistem vsemirnogo soobshchestva setej Internet), i, nakonec, to, chto posle mnogochislennyh kolebanij, lidery komp'yuternoj otrasli segodnya prakticheski odnoznachno vyskazazyvayutsya v podderzhku svobodnogo PO.

0.3 Primenimost' SPO pri realizacii "Obyazatel'nogo minimuma..."

Informatika, buduchi otnositel'no molodym predmetom v shkol'noj praktike (osobenno v sravnenii s uchebnymi predmetami, chej "vozrast" prevyshaet dve tysyachi let), s neizbezhnost'yu vyzyvaet spory sredi teoretikov pedagogiki i praktikuyushchih uchitelej kasatel'no svoego soderzhaniya. Sporyat i o tom, pragmaticheskaya (znakomstvo s mirom komp'yuternyh tehnologij) ili teoreticheskaya (osnovy komp'yuternyh nauk) orientaciya dolzhna prevalirovat' v shkole, i o tom, stoit li programmirovanie delat' chast'yu obshchego shkol'nogo obrazovaniya, i dazhe o tom, dolzhna li informatika razvivat'sya v vide otdel'nogo predmeta. Periodicheski etot spor vypleskivaetsya za ramki professional'nogo pedagogicheskogo soobshchestva na stranicy pechati, chto takzhe vpolne ponyatno.

My popytaemsya v dannom sluchae uklonit'sya ot uchastiya v etom spore i ne zayavlyat' svoyu poziciyu. Vozmozhno, eto ne vpolne sootvetstvuet tradiciyam russkogo intelligentskogo obshchestva, v kotorom ne prinyato, ne reshiv ryada "poslednih voprosov" (v tom chisle, kto vinovat, chto delat' i, glavnoe, chemu i kak uchit'), predprinimat' kakie-libo dejstviya. No ramki u etogo cikla lekcij vpolne pragmaticheskie, i mozhno tol'ko nadeyat'sya, chto dannye v takih ramkah otvety okazhutsya v dostatochnoj stepeni invariantnymi dlya otvetov na voprosy bolee glubokie (i, ohotno soglasimsya, v konechnom itoge bolee vazhnye), i chto-to poleznoe dlya sebya v izlozhennom materiale najdut partizany samyh raznyh tochek zreniya po etim glubokim i vazhnym voprosam.

Upomyanutye pragmaticheskie ramki zaklyuchayutsya v sleduyushchem. Tochno tak zhe, kak kazhetsya vpolne osmyslennym predpolozheniem, chto dlya osvoeniya gramotnosti i scheta shkol'niku neploho by ovladet' ruchkoj i karandashom i ponyat', chem odna ot drugogo otlichaetsya (vne zavisimosti ot togo, vydelyaetsya li chistopisanie v otdel'nyj uchebnyj predmet, kak eto bylo prinyato ranee, ili zhe, kak sejchas, osvoenie instrumentov pis'ma idet na teh zhe urokah, gde uchenik znakomitsya s bukvami i ih chteniem), nalichie v "Obyazatel'nom minimume soderzhaniya obrazovaniya po informatike" [1] spiska prilozhenij komp'yutera ("informacionnyh tehnologij"), s kotorymi stoit poznakomit' shkol'nikov, protestov u nas ne vyzyvaet.

Sredi nih:

Krome togo, drugie punkty "Minimuma" (ne otnesennye avtorami k "informacionnym tehnologiyam") takzhe s neizbezhnost'yu podrazumevayut znakomstvo s opredelennymi prilozheniyami komp'yutera (esli, konechno, avtor konkretnogo kursa ne predpochel chisto teoreticheskij rezhim znakomstva s materialom, sootvetstvuyushchim tomu ili inomu punktu).

Naprimer, dlya togo, chtoby predmetno pokazat' uchashchimsya raznicu v razlichnyh sposobah predstavleniya (kodirovaniya) informacii (p. 2 "Obyazatel'nogo minimuma..."), neploho imet' pod rukoj sootvetstvuyushchuyu programmu prosmotra. Znakomstvo s yazykami programmirovaniya (p. 5) predpolagaet i znakomstvo s interpretatorom ili kompilyatorom i drugimi komponentami instrumental'noj sredy i t.d. i t.p. Nu i, razumeetsya, chtoby uchashchijsya mog rabotat' so vsemi etimi programmami, emu neobhodimy bazovye navyki obrashcheniya s operacionnoj sistemoj/sredoj (vne zavisimosti ot togo, prisutstvuet li takaya tema otdel'noj strokoj v uchebnom plane).

Poskol'ku, kak upominalos' vyshe, SPO razvivalos' v napravlenii ot instrumental'nyh programm k sistemnym i, dalee, k prikladnym, segodnyashnee polozhenie del, pri kotorom vse iz perechislennyh prilozhenij imeyut svobodnuyu realizaciyu, slozhilos' ne srazu. Odnako uzhe v techenie neskol'kih let osnovnaya massa svobodnyh prikladnyh programm nahoditsya na urovne, dostatochnom dlya ih primeneniya v shkol'nom uchebnom processe, i v pedagogicheskom soobshchestve postepenno nakaplivaetsya opyt ih ispol'zovaniya.

V Rossii, naskol'ko nam izvestno, naibolee posledovatelen v etom plane opyt Centra komp'yuternyh tehnologij Moskovskogo gosudarstvennogo industrial'nogo universiteta, set' kotorogo ispol'zuetsya, v tom chisle, i dlya prakticheskih zanyatij uchashchihsya moskovskih shkol.

V noyabre 2001 goda, vo vremya rabochej vstrechi "Svobodnoe programmnoe obespechenie", provedennoj Vysshej shkoloj ekonomiki i izdatel'skim domom "Komp'yuterra" v ramkah razvorachivaniya federal'noj celevoj programmy "|lektronnaya Rossiya" [2], bylo dostignuto principial'noe soglashenie o tom, chtoby uchebnye materialy, razrabotannye v CKT MGIU i kasayushchiesya primeneniya SPO v uchebnom processe, byli opublikovany takzhe pod svobodnoj licenziej, i kollegi iz MGIU vypolnili svoe obeshchanie, blagodarya chemu na ih sajte mozhno najti uchebnik "Prakticheskaya informatika" [4] (takzhe opublikovan i vypushchen v prodazhu v vide tradicionnogo dvuhtomnogo izdaniya).

0.4 Logika i posledovatel'nost' osvoeniya SPO

Logika i posledovatel'nost' izlozheniya materiala v etom kurse sushchestvenno otlichaetsya ot logiki, v kotoroj napisano bol'shinstvo knig, posvyashchennyh SPO.

CHashche vsego avtory ishodyat iz togo, chto posledovatel'nost' vnedreniya programm i paketov, otnosyashchihsya k razlichnym kategoriyam, budet sootvetstvovat' posledovatel'nosti postroeniya informacionnoj sistemy (naprimer, shkol'noj seti). |to vpolne opravdano v sluchae razrabotki i realizacii takoj sistemy "s nulya", odnako mozhet vyzvat' sushchestvennye slozhnosti v situaciyah, kogda sistema uzhe sushchestvuet, razvernuta na baze nesvobodnogo (i, kak sledstvie, pochti vsegda nestandartnogo) PO, nuzhna podderzhka ee rosta i razvitiya, i administraciya uchebnogo zavedeniya obrashchaetsya k SPO imenno kak k sredstvu obespecheniya takogo razvitiya.

"Sploshnaya migraciya", pri kotoroj administracii neobhodimo vnedryat' (a vsem pol'zovatelyam, vklyuchaya uchitelej i uchashchihsya, osvaivat') i sistemnoe, i prikladnoe (a v sluchayah, esli provodyatsya kakie-to svoi razrabotki, i instrumental'noe) PO odnovremenno, -- ob®ektivno ochen' slozhnyj i boleznennyj process. Esli govorit' ob uchebnom zavedenii, to on slozhen vdvojne, poskol'ku ochen' raznitsya uroven' pol'zovatelej razlichnyh kategorij. Esli govorit' o shkolah, gde edinstvennyj prepodavatel' informatiki -- sam sebe i uchitel', i metodist, i sistemnyj administrator, i laborant (a ne bol'shinstvo li nashih shkol takovy?), migraciya po etomu scenariyu trebuet, bez preuvelicheniya, geroicheskih usilij, ozhidat' kotoryh v massovom poryadke ne vpolne razumno.

Odnako poskol'ku znachitel'naya chast' svobodnogo prikladnogo programmnogo obespecheniya portirovana (perenesena), v tom chisle, i v nesvobodnoe okruzhenie (vklyuchaya poluchivshie shirokoe rasprostranenie v nashih shkolah operacionnye sredy Microsoft Windows i MacOS), migraciyu mozhno oblegchit', provedya ee v dva etapa (kotorym v uchebnom zavedenii mogut sootvetstvovat' dva akademicheskih goda): snachala prikladnaya chast', a zatem -- sistemnaya.

V nastoyashchej broshyure my ogranichilis' lish' prikladnymi programmami, paketami i platformami.

Lekciya 1. OpenWriter -- svobodnyj word-processor

Iznachal'no nasha pervaya "lekciya" zadumyvalas' kak prostaya prezentaciya ryada svobodnyh word-processorov (AbiWord, Kword, OpenWriter) i programm, mogushchih ispol'zovat'sya v kachestve takovyh (izdatel'skaya obolochka LyX i t.p.). Odnako uzhe pervye shagi po opredeleniyu struktury tablicy, predstavlyayushchej ih harakteristiki, i ee napolneniya, zastavili zadumat'sya: a chto vy s etim potom budete delat'?

I "Obyazatel'nyj minimum...", i bol'shinstvo konkretnyh uchebnyh planov predusmatrivaet znakomstvo lish' s bazovoj funkcional'nost'yu programm manipulyacii tekstami, i lyuboj iz perechislennyh processorov garantirovanno i s izbytkom perekroet trebovaniya (tak zhe, kak i massa prisutstvuyushchih na rynke nesvobodnyh programm, takih, kak Microsoft Word, "Leksikon", StarOffice ili WordPerfect). Poskol'ku bol'shinstvo iz nih tak ili inache razvivayut osnovnye interfejsnye podhody WordPerfect, sushchestvennogo (i mogushchego byt' vyyavlennym v predelah teh nemnogih chasov, chto uchitel' v sostoyanii udelit' etoj teme) ergonomicheskogo razlichiya mezhdu nimi net.

Znachit osnovaniya dlya racional'nogo vybora programmy nuzhno iskat' ne vnutri temy manipulirovaniya testami, a v ee svyazi s drugimi uchebnymi temami. U programmistov est' takoj empiricheskij princip: kogda nachinaesh' putat'sya v programmah, otlozhi ih v storonu i popytajsya razobrat'sya so strukturami dannyh -- sam udivish'sya, naskol'ko ochevidnymi i prostymi okazhutsya posle etogo resheniya, kasayushchiesya programm. Vozmozhno, etot princip razumno primenyat' i pol'zovatelyam.

Davajte poprobuem otlozhit' v storonu programmnyj instrumentarij i razobrat'sya s tem, kakogo roda dannye my im obrabatyvaem.

1.1 "Ploskij" i razmechennyj

Vodorazdel mezhdu tekstovymi redaktorami (zasluzhivayushchimi otdel'noj lekcii) i word-processorami prohodit po kriteriyu sposoba otobrazheniya razmechennogo (imeyushchego nekotorye atributy, takie, kak cvet, nachertanie i kegl' (razmer) simvolov, vyklyuchka (vyravnivanie) i raspolozhenie abzacev, oformlenie stranicy i t.p.) teksta. Tekstovyj redaktor otobrazhaet ego kak est', naprimer:

<kursiv>Predlozhenie, nabrannoe kursivom.</kursiv>

a word-processor vizualiziruet eti atributy, naprimer:

Predlozhenie, nabrannoe kursivom.

Vizualizaciyu inogda putayut s tak nazyvaemym WYSIWYG-principom (sokrashchenie ot "What you see is what you get" -- "CHto vidish', to i poluchish'").

Odnako v obshchem sluchae eto neverno: WYSIWYG-ideologiya unasledovana ot epohi personal'nyh komp'yuterov, kogda v hode "maloj komp'yuterizacii" otdel'nye ofisy i rabochie mesta stanovilis' "ostrovami" bezbumazhnyh tehnologij v more bumazhnoj kommunikacii, i komp'yuternoe predstavlenie myslilos' lish' promezhutochnoj ili predvaritel'noj formoj sushchestvovaniya teksta ili dokumenta.

Segodnya bol'shinstvo dokumentov nikogda ne popadaet na printer, i net nuzhdy podstraivat'sya pod arhaichnyj bumazhnyj dokumentooborot. Vpolne vozmozhno, chto avtoru ili redaktoru udobnee vydelenie ne kursivom, a podcherkivaniem:

Predlozhenie, nabrannoe kursivom.

Bolee togo, sovremennye tehnologii (naprimer, HTML ili XML-oformlenie tekstov) iznachal'no predpolagayut, chto chitatel' dokumenta mozhet ustanavlivat' sobstvennye predpochteniya v vizualizacii, zavisyashchie ot osobennostej ispol'zuemogo im oborudovaniya (razmerov i razreshayushchej sposobnosti monitora i t.p.) ili ot svoih biologicheskih osobennostej (slabogo zreniya, dal'tonizma i t.p.), i v obshchem sluchae oni mogut ne sovpadat' s predpochteniyami avtora ili redaktora.

Takim obrazom, odin i tot zhe dokument mozhet byt' otobrazhen s razmetkoj, s vizualizaciej, a inogda -- i s razmetkoj i s vizualizaciej.








Odin i tot zhe gipertekstovyj dokument, otobrazhennyj brauzerom Mozilla s razmetkoj, s vizualizaciej i s ispol'zovaniem oboih sposobov vizualizacii

Hotya na risunke nam udalos' pokazat' tri tipa otobrazheniya odnogo i togo zhe dokumenta, ne vyhodya iz odnogo prikladnogo paketa, eto ne takoj chastyj sluchaj. Na samom dele tekstovye redaktory, kak pravilo, ne imeyut sposobnosti neposredstvennoj vizualizacii voobshche ili obladayut eyu lish' v zachatke (kak, naprimer, Emacs, sposobnyj vizualizirovat' format Enriched text, no Emacs eto ne prosto redaktor, a celaya operacionnaya sreda), a word-processory, v svoyu ochered', krajne neudobny dlya redaktirovaniya "ploskogo" teksta: slishkom raznyatsya bazovaya operatorika i ozhidaemaya ergonomika etih dvuh tipov prikladnyh programm.

Uchashchijsya stalkivaetsya s zadachej manipulirovaniya "ploskim" tekstom kak minimum dva raza (pri znakomstve s elektronnoj pochtoj i pri izuchenii osnov programmirovaniya), sootvetstvenno, uspevaet poznakomit'sya, kak pravilo, s dvumya raznymi tekstovymi redaktorami (vstroennymi v pochtovuyu programmu i sredu programmirovaniya, sootvetstvenno). Kak minimum dva raza on stalkivaetsya i s zadachej manipulirovaniya razmechennym tekstom: odin raz ego znakomyat s word-processorom (kak pravilo, v Rossii pod ruku podvorachivaetsya "piratskij" Microsoft Word, libo besplatno rasprostranyaemyj StarOffice 5, libo deshevyj "Leksikon", isklyucheniya edinichny), a zatem emu prepodnosyat osnovy HTML.

Znakomstvo s manipulirovaniem tekstom, takim obrazom, okazyvaetsya bessistemnym i fragmentarnym, i, v luchshem sluchae, avtor uchebnika ili uchitel' sumeyut rasskazat' o tom, chto sfera eto, v obshchem-to edinaya, a pokazat' eto okazyvaetsya ves'ma zatrudnitel'no.

Znachitel'nym shagom k sistematizacii opyta, vyrabatyvaemogo shkol'nym kursom, na nash vzglyad, yavlyaetsya ispol'zovanie instrumentariya, pozvolyayushchego demonstrirovat' vozmozhnost' raboty s razmechennym tekstom raznymi sredstvami. |to znachit, chto k ochevidnym trebovaniyam, pred®yavlyaemym k "uchebnomu" word-processoru (dostatochnost' funkcij, lokalizovannost', mul'tiplatformennost', cenovaya dostupnost'), dobavlyaetsya ser'eznoe pozhelanie: standartnost' formata razmetki.

|to sil'no oblegchaet vybor. Na samom dele, na segodnya vsem perechislennym trebovaniyam udovletvoryaet, po suti, lish' odna programma. No snachala -- nemnogo o standartah.

1.2 Standarty razmetki teksta

Sushchestvuet i dokazali svoyu ustojchivost' dva osnovnyh tipa yazykov razmetki.

Pervyj iz nih, eto semejstvo, nazyvaemoe *ML-yazykami: na eti dve bukvy zakanchivayutsya abbreviatury ih nazvanij -- GML, SGML, HTML, XML, -- a sami po sebe eti bukvy oznachayut prosto "markup language" -- "yazyk razmetki".

Vtoroj -- razrabotannyj vydayushchimsya amerikanskim teoretikom i praktikom programmirovaniya Donal'dom Knutom yazyk programmirovaniya verstki TeX (eto grecheskij koren', on chitaetsya kak russkoe "teh", a ne kak "teks") i ego rasshireniya (naprimer, LaTeX). Ne buduchi oficial'nym standartom, TeH postepenno vytesnyaet i zameshchaet prochie yazyki razmetki, prednaznachennye dlya nabora i verstki tekstov (TeX i sistemy na ego osnove ploho prisposobleny dlya verstki t.n. "illyustrirovannyh izdanij" s harakternym dlya nih bogatym nasyshcheniem teksta grafikoj, slozhnymi obvodami i nalozheniyami teksta na grafiku i pr., i etot segment rynka ostaetsya poka ne standartizovannym).

Za predelami etih tipov -- ogromnoe mnozhestvo nestandartnyh (i dazhe neopublikovannyh) formatov, zachastuyu ispol'zuyushchih ne tekstovuyu, a dvoichnuyu formu predstavleniya dannyh (naprimer, fajly Microsoft Word, "Leksikona" i t.p.). |to isklyuchaet vozmozhnost' ispol'zovaniya dlya raboty s takimi dannymi obychnyh tekstovyh redaktorov i obrabotku ih standartnymi tekstovymi utilitami, a takzhe sil'no zatrudnyaet obratnuyu razrabotku formata s cel'yu obespecheniya importa i eksporta iz nezavisimo napisannyh programm2.

Navernoe, TeX imeet potencial k ispol'zovaniyu v kachestve primera yazyka razmetki (ili, tochnee, yazyka generacii razmetki), odnako vryad li v srednej shkole -- otchasti potomu, chto orientirovan na pechatnuyu formu v kachestve okonchatel'noj formy predstavleniya soderzhaniya, chto predstavlyaet na segodnya esli ne ekzoticheskij, to, vo vsyakom sluchae, dostatochno special'nuyu oblast' primeneniya komp'yuterov, v otlichie ot *ML-yazykov, v ravnoj stepeni orientirovannyh i na "ekran", i na "bumagu".

1.3 Sud'ba *ML-yazykov

SGML dostatochno davno (s 1986 g.) yavlyaetsya standartom na razmetku dokumentov, prinyatym Mezhdunarodnoj organizaciej standartizacii (seriya ISO 8879). Paradoks zaklyuchaetsya v tom, chto do nedavnego vremeni dazhe chastichnye realizacii SGML byli sravnitel'no nemnogochislennymi, i ego ispol'zovanie ogranichivalos' ramkami gosudarstvennyh organizacij (v masse svoej oboronnyh i nauchnyh) i krupnyh korporacij. Gorazdo bolee shirokoe rasprostranenie poluchili "pohozhie na SGML" yazyki, a imenno, HTML razlichnyh versij, yavlyayushchijsya odnim iz tehnologicheskih stolpov WWW.

HTML byl soznatel'no sozdan kak "igrushechnyj SGML": on ne obladal vsej gibkost'yu i moshch'yu poslednego, no byl ochen' kompakten i legok v realizacii i izuchenii. Odna iz storon "igrushechnosti" HTML zaklyuchaetsya v tom, chto on podtalkivaet pol'zovatelya k ispol'zovaniyu fizicheskoj, a ne logicheskoj razmetki, i imenno poetomu, na nash vzglyad, ego ne stoit izuchat' v shkole.

Odnako dobavlenie vse novyh i novyh vozmozhnostej i konstrukcij v HTML v hode ego razvitiya privelo k tomu, chto slozhnost' ego sushchestvenno vyrosla i priblizilas' k slozhnosti SGML-prilozhenij, pri sohranyayushchejsya nesovmestimosti s SGML.

Parallel'noe razvitie dvuh blizkih po naznacheniyu yazykov bylo ochevidno necelesoobraznym, poetomu dal'nejshee razvitie WWW predpolagaet perehod na XML -- "rasshiryaemyj yazyk razmetki", kotoryj prevoshodit po moshchnosti, gibkosti i soglasovannosti HTML i yavlyaetsya polnocennym SGML-prilozheniem. Uzhe segodnya naibolee razvitye WWW-servery generiruyut HTML imenno iz XML; neposredstvenno "ponimat'" poslednij postepenno uchatsya i brauzery.

1.4 "Molodoe pokolenie vybiraet *ML!"

Na nash vzglyad, principy rasshiryaemoj razmetki, realizovannye v XML, mogut i dolzhny stat' odnoj iz bazovyh sostavlyayushchih komp'yuternoj gramotnosti i obyazatel'no dolzhny najti svoj put' v shkol'nye uchebnye plany. |to pozvolit:

Zadacha dostupnogo izlozheniya osnov XML i priemov raboty s nim sama po sebe neprosta, kak didakticheski, tak i tehnicheski (v chastnosti, nuzhny opredeleniya tipov dokumentov (DTD) dlya uchebnyh zadach, dostatochno razvitye dlya demonstracii vozmozhnostej yazyka, no v to zhe vremya dostatochno prostye dlya ponimaniya XML-dokumentov "s lista" i nizkourovnevogo redaktirovaniya).

Odnako odno iz osnovnyh prepyatstvij na puti ispol'zovaniya XML v shkole -- nerazvitost' vizualiziruyushchih redaktorov -- uzhe otpalo s poyavleniem ofisnogo paketa OpenOffice.org (dalee -- OO.o). On sochetaet privychnye pol'zovatelyam PK pol'zovatel'skie interfejsy s podderzhkoj standartnyh XML-prilozhenij, takih, kak "tekstovyj dokument" (programma OpenWriter), "elektronnaya tablica" (OpenCalc), "prezentaciya" (OpenImpess), "formula" (OpenMath), "gipertekst" (OpenWeb) i, chto uzhe sovsem ne harakterno dlya "ofisnogo" softa, "vektornyj risunok" (OpenDraw), ih vzaimnogo vnedreniya i svyazyvaniya.

Po suti dela, OO.o -- eto "troyanskij kon'", zabroshennyj v mir "maloj komp'yuterizacii": "snaruzhi" on pohozh na "ofis", a "iznutri" (ili "s iznanki") predstavlyaet soboj nabor XML-instrumentov. "Ofisnoj" storonoj on obrashchen k opytu pol'zovatelej personal'nyh komp'yuterov, instrumental'noj -- k sovremennym, postpersonal'nym vychislitel'no-kommunikacionnym sistemam (vklyuchaya lokal'nye seti i seti Internet s vozmozhnostyami bezbumazhnogo dokumentooborota i sovmestnoj raboty nad dokumentami).

1.5 OpenWriter

OpenWriter (dalee -- OW) -- eto neoficial'noe, no uzhe zakreplyayushcheesya nazvanie word-processora iz komplekta svobodnyh ofisnyh prikladnyh programm OO.o (oficial'nym nazvaniem, vidimo, sleduet schitat' Ooowriter)3.



Prostoj dokument v okne OpenWriter

Kak uzhe govorilos' vyshe, vse word-processory vneshne (po funkcional'nosti i interfejsu) pohozhi drug na druga, i OW (sm. risunok) -- ne isklyuchenie. On prednaznachen dlya nabora, redaktirovaniya i oformleniya tekstov na estestvennyh yazykah (vklyuchaya mnogoyazychnye) i podderzhivaet:

Za podrobnostyami otsylayu k [6-9].

Interesnoe, odnako, nachinaetsya, kogda my posmotrim na OW "s iznanki". Fajly s rasshireniem imeni ".sfx", sozdavaemye im -- eto PKZIP-arhivy, soderzhashchie (v prostejshem sluchae) nabor XML-fajlov, sootvetstvuyushchih (v terminah XML) manifestu, soderzhaniyu dokumentov, opredeleniyu stilej i znacheniyam tekushchih nastroek.

Zaglyanem v fajl s soderzhaniem (content.xml). Dazhe ne znaya XML, i lish' orientiruyas' v sintaksise yazyka razmetki, mozhno ponyat', chto fajl soderzhit snachala opredeleniya stilej, ispol'zovannyh v dokumente (dazhe "zhestkoe" formatirovanie imitiruetsya v OW putem sozdaniya neyavnyh stilej), a zatem razmechennogo ukazaniyami na eti stili teksta. Smotrite, zagolovok stat'i razmechen tak:

<text:p text:style-name="P2">
<text:span text:style-name="T1">
Lekciya 0.
</text:span>
<text:span text:style-name="T2">
OpenWriter --
</text:span>
<text:span text:style-name="T3">
svobodnyj
</text:span>
<text:span text:style-name="T2">
word-
</text:span>
<text:span text:style-name="T3">
processor
</text:span>
</text:p>

Ponyatno, chto dlya formatirovaniya ispol'zovan odin stil' abzaca "P2" i tri stilya simvolov "T1", "T2" i "T3". Vyshe, v opredeleniyah stilej mozhno najti, chto, dopustim, "T2" -- eto

<style:style style:name="T2" style:family="text">
<style:properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
</style:style>

To est' "tekstovyj" (simvol'nyj) stil', predpolagayushchij nabor i otobrazhenie poluzhirnym shriftom.

Teper' content.xml mozhet obrabatyvat'sya lyubym XML-instrumentom uzhe bez ispol'zovaniya OO.o. Ego mozhno preobrazovat' v HTML ili proindeksirovat', vyvesti na pechat', prosmotret' brauzerom, podderzhivayushchim XML. Proizvol'nye opredeleniya dokumentov napryamuyu poka brauzerami ne podderzhivayutsya, odnako tekst (neformatirovannyj) mozhno uzhe segodnya prosmotret', prosto otkryv content.xml v Mozilla ili drugom brauzere, podderzhivayushchem XML.


U OW est' massa nedostatkov. On (versiya 1.0) vypushchen syrovatym, on dostatochno "tyazhel" dlya slaboj tehniki, on neideal'no otdokumentirovan i lokalizovan), kotorye postepenno ispravlyayutsya. U nego est' chetyre ochen' ser'eznyh dostoinstva:

1) on svoboden, postavlyaetsya konkurentno (s sootvetstvuyushchimi cenovymi posledstviyami) i mozhet byt' ispol'zovan kak baza dlya dal'nejshih razrabotok (v tom chisle, specificheski uchebnyh);

2) on iznachal'no platformenno-nezavisim, i pol'zovanie im ne diktuet prakticheski nikakih ogranichenij na vybor operacionnoj sistemy i operacionnoj sredy. Bolee togo, navyki raboty s nim takzhe v bol'shoj stepeni perenosimy. Fakticheski, OO.o vyglyadit i upravlyaetsya odinakovo pod lyuboj standartnoj OS (razrabotchiki govoryat o podderzhke Linux i Solaris; izvestno ob ustojchivoj rabote paketa pod FreeBSD), a takzhe pod Microsoft Windows 9x/Me i Microsoft Windows NT/00/XP, est' eksperimental'nyj port (perenos) na "Makintoshi", pod MacOS X (po nekotoroj informacii, v komandu uzhe voshli predstaviteli Apple Computers);

3) on ispol'zuet v kachestve yazyka razmetki XML (ne tol'ko dlya razmechennogo teksta, no takzhe i dlya matematicheskih formul, t.e. po suti, vse ego formaty sut' prilozheniya mezhdunarodnogo standarta razmetki teksta SGML). V kachestve kodirovki ispol'zuetsya Unicode, chto pozvolyaet zabyt' pro tret'yu (posle klassicheskih "durakov i dorog") rossijskuyu problemu s raznoboem v kodovyh tablicah, ispol'zuemyh dlya predstavleniya kirillicy v raznyh sistemah,

4) v komande razrabotchikov est' rossijskie programmisty i firmy, kotorym nebezrazlichny perspektivy ego primeneniya v shkole.

1.6 Resursy

Paket OO.o vhodit vo vse "bol'shie" (mnogodiskovye universal'nye) distributivy OS Linux i vo mnogie "malen'kie" (odno-, dvuh- i trehdiskovye, isklyuchaya orientirovannye isklyuchitel'no na servernoe primenenie).

My rekomenduem obratit' vnimanie na rossijskuyu sborku OO.o, postavlyaemuyu s ALT Linux ("bol'shoj" distributiv Master 2.0 i "malen'kij" Junior 2.0; www.altlinux.ru) i ASPLinux 7.3 (v razlichnyh variantah, www.asplinux.ru). V nej ran'she, chem v osnovnoj vetke, poyavlyayutsya novye vozmozhnosti, orientirovannye na russkoyazychnogo pol'zovatelya, v to zhe vremya, zaderzhka sborok novyh versij (po otnosheniyu k osnovnoj vetvi razrabotok) minimal'na.

Mnogoplatformennaya (Linux i Microsoft Windows) rossijskaya sborka dostupna v sostave sbornika OpenOffice.ru, ego mozhno vzyat' na sajte www.openoffice.ru ili priobresti (spisok resellerov dostupen na tom zhe sajte) odnodiskovuyu korobku. O rossijskih sborkah OOO pod "Makintosh", Solaris i drugie OS nam nichego ne izvestno, i ih pol'zovatelyam mozhno porekomendovat' sledovat' po ssylkam s www.openoffice.org.

Osnovnoj russkoyazychnyj resurs, posvyashchennyj OpenOffice, -- eto tot zhe sajt www.openoffice.ru i ego satellity (vklyuchaya http://docs.openoffice.ru).

Osnovnoj mezhdunarodnyj resurs -- eto bazovyj sajt razrabotki (www.openoffice.org).

OO.o voobshche i OW v chastnosti poka osveshcheny lish' v sravnitel'no nebol'shom kolichestve publikacij. Vnimaniya zasluzhivayut [6-9].

Lekciya 2. Svobodnyj instrumentarij raboty s tekstom

Obrabotka "ploskih" (nerazmechennyh) tekstov -- odna iz pervyh (posle vychislitel'nyh zadach i upravleniya priborami) i isklyuchitel'no prorabotannaya oblast' prilozhenij komp'yutera.

Rabota s tekstami kritichna dlya mnogih pol'zovatel'skih prilozhenij. |lektronnaya pochta -- eto tekst. Formaty razmetki, posredstvom kotoryh predstavleny formatirovannyj tekst, vektornaya grafika, noty i t.p. (prakticheski vse dannye, za isklyucheniem rastrovoj grafiki i volnovogo predstavleniya zvuka) -- v osnove svoej takzhe tekst.

Dazhe kartinki i zvukovye fajly, razmeshchennye v WWW, peredayutsya nezametno dlya pol'zovatelya mezhdu mashinami v zakodirovannoj tekstom forme, hotya v dannom sluchae tekst i ne yavlyaetsya "sobstvennoj" formoj predstavleniya dannyh.

Komandy, s pomoshch'yu kotoryh pol'zovatel' "obshchaetsya" s sistemoj -- eto tekst. Skol'ko by ne populyarizovali i ne navyazyvali graficheskie interfejsy, dlya ser'eznoj i produktivnoj raboty, kak pravilo, ne obojtis' bez polnocennogo testovogo dialoga, tak zhe kak pri ser'eznom i predmetnom razgovore slozhno obojtis' zhestami i otvetnoj mimikoj.

Bolee togo, rabota s tekstom kritichna i dlya razvitiya samih vychislitel'nyh i kommunikacionnyh sistem, poskol'ku sami programmy v ishodnoj svoej forme -- teksty. Dlya programm na interpretiruemyh yazykah teksty yavlyayutsya i ispolnyaemoj formoj, tak chto takie programmy -- teksty vdvojne (a tipichnaya standartizovannaya OS pochti napolovinu sostoit iz "scenariev", t.e. programm, napisannyh na interpretiruemyh yazykah).

|ffektivnye metody i priemy raboty s tekstom -- neot®emlemaya chast' komp'yuternoj gramotnosti, no v podavlyayushchem bol'shinstve sluchaev oni okazyvayutsya ne osvoennymi vovremya. Zachastuyu v kurse srednej shkoly znakomstvo s obrabotkoj "ploskih" tekstov ogranichivaetsya vstroennymi redaktorami v srede programmirovaniya i elektronno-pochtovoj programme, a navyki -- prostejshimi priemami nabora i ispravleniya. Bolee abstraktnye i vseobshchie operacii izuchayutsya kak chast' word-processinga, i hotya inogda pri etom i demonstriruyutsya vozmozhnosti vstroennyh v word-processory yazykov programmirovaniya, oblast' obrabotki tekstov ostaetsya "veshch'yu v sebe" i nikak ne integriruetsya s drugimi oblastyami, osvaivaemymi v kurse informatiki.

2.1 Razmechennyj i "ploskij"

Vodorazdel mezhdu tekstovymi redaktorami i word-processorami, kak eto obsuzhdalos' v predydushchej lekcii, prohodit po sposobu otobrazheniya razmechennogo (imeyushchego nekotorye atributy, takie, kak cvet, nachertanie i kegl' (razmer) simvolov, vyklyuchka (vyravnivanie) i raspolozhenie abzacev, oformlenie stranicy i t.p.) teksta.

Word-processor opredelennym obrazom interpretiruet razmetku, vizualizuya ukazannye atributy.

Tekstovyj redaktor otobrazhaet tekst "kak est'", hotya on vpolne mozhet byt' "v kurse" sintaksisa yazyka razmetki (esli tekst razmechen, naprimer, XML, HTML ili TeX) ili dazhe samogo teksta (naprimer, sintaksisa yazyka programmirovaniya) i kakim-to obrazom na nego reagirovat' (naprimer, rascvechivat' tegi razmetki HTML ili zarezervirovannye slova Pascal). V principe, on mozhet byt' "v kurse" sintaksisa, grammatiki i leksiki dazhe estestvennogo yazyka, hotya dlya raboty s estestvennymi yazykami "ploskij", nerazmechennyj tekst ispol'zuetsya vse rezhe, ili, po krajnej mere, nerazmechennyj tekst vse rezhe ispol'zuetsya kak pervichnaya forma predstavleniya teksta na estestvennom yazyke.

Otkazat'sya vovse ot raboty s "ploskim" tekstom zatrudnitel'no po davno izvestnoj ergonomistam prichine: ispol'zovanie vizualizacii "pozvolyaet demonstrirovat' lish' rezul'tat formatirovaniya, po nemu nevozmozhno opredelit' zadachi formatirovaniya, postavlennye pol'zovatelem sisteme. Naprimer, esli pol'zovatel' zamechaet, chto sistema ne delaet perenosov ... nevozmozhno opredelit' ... yavlyaetsya li eto prostym sovpadeniem ili zhe pri formatirovanii dannoj glavy perenos zapreshchen" [10].

2.2 Redaktory

Kogda komp'yutery byli bol'shimi i dorogimi, rech' ob ih ispol'zovanii dlya avtomatizacii processa redaktirovaniya programm ili drugih tekstov idti ne mogla: eta zadacha reshalas' gorazdo bolee prostymi ustrojstvami.

S udeshevleniem komp'yuternoj tehniki i razrabotkoj mnogopol'zovatel'skih sistem poyavilas' vozmozhnost' posadit' operatora za podklyuchennyj k mashine teletajp. Dlya udobstva operatorov (chasto imi okazyvalis' sami programmisty) razrabatyvalis' programmy redaktirovaniya tekstov (ili, poprostu, tekstovye redaktory), kak pravilo, vyvodivshie tekst postrochno i ozhidavshie klaviaturnoj komandy (zachastuyu na osobom izoshchrennom yazyke), soobshchayushchej, sleduet li ostavit' stroku neizmennoj, libo vnesti v nee kakie-to izmeneniya.

Sleduyushchij shag byl sdelan, kogda teletajp v kachestve terminal'nogo ustrojstva smenil displej s |LT. |to prevratilo tekst pered glazami operatora v dinamicheskij i pozvolilo sovershit' revolyuciyu, vnedriv nak nazyvaemye "polnoekrannye" (ili prosto "ekrannye") redaktory, vzaimodejstvuya s kotorymi, operator poluchil vozmozhnost', hotya i manipuliruya klaviaturoj, primenyat' tehniku, skoree pohozhuyu na priemy raboty s listom bumagi pisatelya, vozvrashchayushchegosya k ranee napisannomu, stirayushchego i ispravlyayushchego tekst nelinejno (predstaviteli nekotoryh shkol v informatike do sih por schitayut, chto eto negativno povliyalo na stil' programmirovaniya).

2.3 Vi i Emacs

Interesno, chto dva, po-vidimomu, pervyh ekrannyh redaktora, sozdannyh v nachale semidesyatyh, i yavilis' rodonachal'nikami "semejstv" takih programm, do sih por naibolee populyarnyh v professional'noj srede. |to vi Billa Dzhoya (togda aspiranta Universiteta Kalifornii v Berkli, a zatem osnovatelya Sun Microsystems) i Emacs Richarda Stollmena (togda sotrudnika Laboratorii iskusstvennogo intellekta Massachussetskogo tehnologicheskogo instituta, a nyne -- prezidenta Fonda svobodnogo programmnogo obespecheniya i lidera proekta GNU). Oba oni, po suti, proishodyat ot ekrannyh rezhimov raboty populyarnyh togda redaktorov ed i TECO, sootvetstvenno.

Milaya Lena!
Ty ne otkazhesh'sya pouzhinat' so mnoj v noch' s pyatnicy na voskresen'e?
- Maksim
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
-- INSERT -- 3,1 All

Redaktor vi

Pervyj nyne standartizovan i, v toj ili inoj realizacii (naibolee populyarna, vidimo, vim Brama Moolenaara) dostupen v sostave lyuboj standartnoj operacionnoj sistemy (v tom chisle, svobodnyh). Vtoroj pod nazvaniem GNU Emacs podderzhivaetsya Fondom svobodnogo PO (www.fsf.org) i vyderzhal s teh por bolee dvadcati izdanij (relizov).

Ishodnaya ideologiya i ergonomicheskaya model' etih dvuh vydayushchihsya razrabotok ser'ezno razlichaetsya, chto sluzhit povodom dlya shutlivoj "svyashchennoj vojny" mezhdu ih priverzhencami. Vi(m) otnositsya k tak nazyvaemym "mnogorezhimnym" redaktoram. V rezhime redaktirovaniya operator vvodit i ispravlyaet tekst. Peremeshchenie po tekstu, kontekstnyj poisk i zamena, bolee slozhnye operacii vypolnyayutsya v komandnom rezhime. Mezhdu etimi rezhimami (a takzhe, unasledovannym ot ed i redko primenyayushchimsya rezhimom postrochnogo redaktirovaniya) nuzhno yavnoe pereklyuchenie nazhatiem klaviaturnoj kombinacii. Zato bol'shinstvo komand privyazany k nazhatiyam odnoj klavishi, i dazhe peremeshchat'sya po tekstu v komandnom rezhime mozhno, ne sbrasyvaya kist' na dopolnitel'nuyu klaviaturu so strelkami, a nazhimaya alfavitnye klavishi v centre klaviatury. Adepty vi -- programmisty i sistemnye administratory -- ochen' ser'ezno otnosyatsya k ekonomii vremeni i energii za schet minimizacii dvizheniya pal'cev.

Emacs -- primer "bezrezhimnogo" ili, esli ugodno, "odnorezhimnogo" redaktora: pol'zovatel' vsegda nahoditsya v rezhime neposredstvennogo redaktirovaniya teksta v tochke kursora, a komandy izdaet, nazhimaya slozhnye sochetaniya klavish i, pri neobhodimosti, vvodya parametry komand v otdel'nom okne. Iz-za stremleniya obespechit' pryamuyu klaviaturnuyu privyazku kak mozhno bol'shemu kolichestvu komand i sleduyushchej iz nee slozhnosti ispol'zuemyh klaviaturnyh sochetanij byl dazhe pushchen sluh o tom, chto Emacs rasshifrovyvaetsya kak "Esc-Meta-Alt-Ctrl-Shift" (hotya na dele, konechno, klaviaturnye akkordy vse zhe ne tak slozhny, a Emacs -- eto prosto Editing MACroS, t.e. "makrokomandy redaktirovaniya").

V dejstvitel'nosti razlichie eto skoree ideologicheskoe, chem pragmaticheskoe: v sovremennyh versiyah vi v bol'shinstve sluchaev takzhe mozhno osushchestvit' privyazku chasto upotreblyaemyh komand k klaviaturnym kombinaciyam i vypolnyat' ih iz rezhima redaktirovaniya, a v Emacs mozhno dostatochno tochno (esli komu-to eto potrebuetsya) symitirovat' komandnyj rezhim, harakternyj dlya mnogorezhimnyh redaktorov.

2.4 Didaktika redaktorov

Real'noe ochen' znachimoe otlichie zaklyuchaetsya v tom, chto po svoej arhitekture vi -- bolee ili menee monolitnaya programma (s vytekayushchej otsyuda kompaktnost'yu), a Emacs -- na samom dele, rasshiryaemaya (programmiruemaya) kollekciya makrokomand redaktirovaniya, napisannyh na Emasc Lisp (dialekte izvestnogo yazyka funkcional'nogo programmirovaniya). Lish' nebol'shoe kolichestvo chasto vypolnyaemyh i trebovatel'nyh k resursam komand vstroeny v samu programmu i napisany na kompiliruemom C, bol'shinstvo zhe komand napisany na Lisp i mogut izmenyat'sya ili dopolnyat'sya pol'zovatelyami (ili professional'nymi programmistami po zakazu pol'zovatelej).

Za chetvert' veka sushchestvovaniya Emacs, blagodarya svobodnoj modeli licenzirovaniya i otkrytoj modeli razrabotki, "obros" neveroyatnym kolichestvom makrokomand, "zatachivayushchih" ego pod sintakcicheskie osobennosti razlichnyh formal'nyh yazykov (vklyuchaya, no ne ogranichivayas' yazykami programmirovaniya i yazykami razmetki), a takzhe realizuyushchih prilozheniya, tradicionno slabo associiruemye s "prosto redaktorami". Naprimer, ne vyhodya iz Emacs, mozhno rabotat' s elektronnoj pochtoj i sluzhbami novostej USENET (a takzhe s gipertekstom so stranichek WWW).

Ili -- chto ne menee interesno -- ne vyhodya iz Emacs, mozhno prognat' tekst programmy cherez kompilyator i podsvetit' sintaksicheskie oshibki ili preduprezhdeniya, vospol'zovat'sya simvol'nym otladchikom ili profilirovshchikom (real'no, Emacs obrazuet obolochku integrirovannoj sredy razrabotki programm, i v etom kachestve yavlyaetsya vdohnovitelem i predshestvennikom stol' lyubimyh shkol'nym narodom integrirovannyh sred, naprimer, ot Borland). I eto lish' para primerov.

Fakticheski, regulyarno ispol'zuemyj Emacs pozvolyaet realizovat' (chisto v tekstovom rezhime) metaforu "rabochego stola", bolee izvestnuyu po pozdnejshim graficheskim paketam. On realizuet mnozhestvennost' okon (neperekryvayushchihsya) na odnom ekrane ("frejme"), a v graficheskoj srede sposoben rabotat' so mnogimi "frejmami" (oknami v terminah menedzhera okon). Paket Emacspeak dobavlyaet k funkcional'nosti Emacs rechevoj vyvod, predostavlyaya moshchnuyu podderzhku dlya nezryachih i slabovidyashchih pol'zovatelej.

Vse eto (dostupnost', rasshiryaemost', integriruemost') delaet ego ser'eznym pretendentom na organizaciyu "uchebnogo" rabochego prostranstva programmista .

Nam neizvestny takie (orientirovannye na sredu na osnove Emacs) kursy dlya shkol voobshche. A chto kasaetsya Rossii (i russkoyazychnogo soobshchestva), to nam neizvestny primery shkol'nyh kursov, vvodyashchih na dostatochno rannem etape idei funkcional'nogo programmirovaniya (esli oni vse zhe est', nam bylo by krajne interesno uslyshat' o nih). A bez poslednego -- uvy -- rasshiryaemost' Emacs ostaetsya chisto teoreticheskoj.

Odnako v kachestve integrirovannoj sredy imenno dlya programmirovaniya (v tom chisle, na obychno izuchaemyh v shkole direktivnyh (sentencional'nyh) yazykah, naprimer, Pascal) Emacs ispol'zovat', bezuslovno, mozhno. Sleduet tol'ko uchest', chto preslovutaya "krivaya obucheniya" dlya nego gorazdo bolee vognutaya, chem dlya bolee prostyh (no i menee moshchnyh) sredstv redaktirovaniya, obychno ispol'zuemyh v podobnogo roda sredah. Grubo govorya, mozhet potrebovat'sya para zanyatij do togo, kak uchashchijsya budet chuvstvovat' sebya uverenno pri nabore i redaktirovanii programm, zato potom eti zadachi budut reshat'sya gorazdo effektivnee4.

Pochemu v obychnyh uchebnyh kursah vi izuchaetsya ran'she Emacs? Delo v tom, chto vi, vo-pervyh, standartizovan (i dostupen vo vseh bez isklyucheniya otkrytyh sistemah), a vo-vtoryh, kompakten. Administrator sistemy mozhet okazat'sya v srede, gde emu iz ekrannyh redaktorov dostupen tol'ko vi. Poetomu dlya sisadminov bazovye navyki raboty s nim obyazatel'ny (vne zavisimosti ot lichnyh predpochtenij).

V uchebnoj obstanovke, ne orientirovannoj na professional'nuyu podgotovku, takogo imperativa, polagaem, net, poetomu metodisty i prepodavateli vol'ny vybrat' naibolee adekvatnyj instrument dlya demonstracii vozmozhnostej tekstovyh redaktorov, esli zadacha sostoit tol'ko v znakomstve uchashchegosya s takovymi.

2.5 Redaktirovanie "bez redaktorov"

Daleko ne vsegda otkryvat' fajl i redaktirovat' ego vruchnuyu yavlyaetsya optimal'nym sposobom raboty s soderzhashchimsya v nem tekstom. CHem bolee formalizovan tekst, i chem bolee tipovym yavlyaetsya redaktirovanie, kotoroe neobhodimo vypolnit', tem bol'she shansov, chto sushchestvuet sposob "maloj krov'yu" optimizirovat' etot process.

Rassmotrim ochen' formal'nuyu zadachu. Dopustim, v fajle note sohranen tekst zapiski:

Milaya Lena!
Ty ne otkazhesh'sya pouzhinat' so mnoj v noch' s pyatnicy na voskresen'e?
- Maksim

Esli zhizn' poshla po diagonali, i plany rezko izmenilis' (i my otdaem sebe otchet, kak imenno), mozhno otkryt' fajl s etim tekstom v tekstovom redaktore, naprimer, vi, i izdat' komandu:

:s/Lena/Ira/g

Tekst (predskazuemo) priobretet vid:

Milaya Ira!
Ty ne otkazhesh'sya pouzhinat' so mnoj v noch' s pyatnicy na voskresen'e?
- Maksim

Odnako, to zhe samoe dejstvie mozhno vypolnit' i "bez redaktora", a tochnee, bez interaktivnogo redaktora, s pomoshch'yu redaktora potokovogo. Standartnyj potokovyj redaktor nazyvaetsya sed, i sintakis ego komand shozh s sintaksisom komandnogo rezhima standartnogo interaktivnogo redaktora vi, komanda pri etom izdaetsya neposredstvenno iz komandnoj stroki:

$sed -n 's/Lena/Tanya/g' note

Esli u nas podgotovlen ne odin fajl, a mnozhestvo (naprimer, note.1, note.2, note.3), i nuzhno vnesti v nih edinoobraznye zameny (i nichego ne propustit', i nigde ne oshibit'sya), my obojdemsya takzhe vsego odnoj komandoj.

$sed -n 's/Lena/Vera/g' note.*

Esli fajlov budet tysyacha, a trebuemye izmeneniya budut poslozhnee, nam, skoree vsego, ponadobitsya opyat'-taki vsego odna komanda (hotya, vozmozhno, i potrebuetsya ser'eznoe izuchenie sintaksisa). |to nazyvaetsya potokovym redaktirovaniem, i ono intensivno primenyaetsya, naprimer, dlya nalozheniya "zaplatok" na ishodnye teksty programm (odnako, kak bylo prodemonstrirovano, mozhet ispol'zovat'sya i dlya obrabotki teksta na estestvennom yazyke).

2.6 Avtomatizirovannaya obrabotka tekstov

UNIX byl vo mnogom "rozhden dlya obrabotki tekstov" (prezhde vsego, eto byla sistema dlya programmistov, a programmy -- s chego my nachali segodnyashnyuyu lekciyu -- eto teksty). Nabor sluzhebnyh programm (utilit) sovremennyh standartnyh OS prodolzhaet etu tradiciyu, i v ih sostave mozhno najti desyatki programm, orientirovannyh na rabotu s tekstom. Mnogie iz nih (no ne vse) yavlyayutsya postrochno-orientirovannymi, to est' tekst ponimaetsya kak posledovatel'nost' strok. Podrobnoe obsuzhdenie etih vozmozhnostej sm. v "lekcii" 6 "Stroka dlinoyu v zhizn'".

2.7 Resursy

Distributiv lyuboj sovremennoj standartnoj OS (vklyuchaya svobodnye) soderzhit vse upomyanutye programmy. Mnogie iz nih portirovany (pereneseny) i v al'ternativnye OS.

Dlya Microsoft Windows rekomenduetsya ustanovka paketa Cygwin, soderzhashchego utility GNU (vklyuchaya prednaznachennye dlya raboty s tekstom) i nekotorye drugie programmy (vklyuchaya redaktor vim), pozvolyayushchie organizovat' standartnuyu rabochuyu sredu. Sleduet uchest', chto pri rabote v versiyah MS Windows, osnovannyh na MS-DOS (MS Windows 95/98/Me), u mnogih programm voznikayut slozhnosti iz-za otsutstviya kontrolya za pravami dostupa k fajlam i katalogam (versii, osnovannye na NT -- MS Windows NT/00/XP, lisheny etogo nedostatka), a takzhe to, chto lokalizovannaya dlya russkoj sredy sborka Cygwin v nastoyashchee vremya ne postavlyaetsya. Dlya podderzhki kirillicheskih simvolov neobhodimo v kataloge pol'zovatelya sozdat' fajl s imenem ".inputrc", soderzhashchij stroki:

set meta-flag on
set convert-meta off
set output-meta on

Al'ternativoj Cygwin (po ryadu prichin menee predpochtitel'noj) yavlyaetsya ispol'zovanie sistemy Interix UNIX Tools for Windows, takzhe soderzhashchej utility GNU (ee mozhno priobresti cherez Microsoft na diske libo skachat' s ih sajta).

GNU Emacs dlya MS Windows mozhno skachat' s sajta GNU (www.gnu.org).

Horoshee opisanie standartnyh utilit (v tom chisle, dlya raboty s tekstom) soderzhitsya v nedavno perevedennoj knige [11], da i pochti v lyubom tolstom uchebnike, rukovodstve ili spravochnike po Unix ili Linux. Ser'eznyh otlichij pri ih ispol'zovanii v kontekste drugih OS net.
To zhe otnositsya i k interaktivnym redaktoram. Krome togo, v 1999 g. izdan russkij perevod shestisotstranichnogo Rukovodstva po GNU Emacs [12], ego tekst mozhno najti i na sajte GNU (www.gnu.org); kak i sam Emacs, eta kniga svobodna.

Lekciya 3. OpenDraw -- svobodnyj redaktor vektornoj grafiki


Komp'yuternaya grafika, chut' bolee desyati let nazad byvshaya esli ne ekzoticheskim, to dovol'no special'nym prilozheniem komp'yutera, segodnya povsemestna.

Vsyakij, vpervye stalkivayushchijsya s komp'yuterom, uzhe v samom nachale obucheniya (esli kurs special'no ne postroen tak, chtoby ogranichit'sya na pervyh porah programmami s tekstovym ili psevdograficheskim interfejsom), skoree vsego, vstretitsya s graficheskim terminalom, otobrazhayushchim razlichnye graficheskie elementy (vklyuchaya i tekstovuyu informaciyu, takzhe otobrazhayushchuyusya v graficheskom rezhime sredstvami komp'yuternoj grafiki).

|lementarnaya obrabotka (sozdanie i redaktirovanie) izobrazhenij (kak vektornyh, tak i rastrovyh) vhodyat v chislo prilozhenij, perechislennyh v "Obyazatel'nom minimume soderzhaniya obrazovaniya po informatike" [1] v kachestve obyazatel'nyh k osvoeniyu v kurse srednej shkoly.

Predmetnost' obucheniya predpolagaet, chto uchashchijsya "uznaet" v sozdavaemyh ili redaktiruemyh im kartinkah pri izuchenii obrabotki izobrazhenij podobie uzhe znakomyh emu elementov graficheskih interfejsov. CHtoby eto schastlivoe uznavanie proizoshlo, predstavlyaetsya celesoobraznym vklyuchit' nekotorye pervonachal'nye svedeniya o komp'yuternoj grafiki uzhe vo vvedenie v predmet, kotorym nachinaetsya ego izuchenie. K sozhaleniyu, ne vse uchebniki eto realizuyut, poetomu prepodavatelyu mogut potrebovat'sya nekotorye dopolnitel'nye usiliya, no, na samom dele, nebol'shie, poskol'ku naglyadnyj material "pod rukoj" v lyubom komp'yuternom klasse.

3.1 Vektornoe i rastrovoe kodirovanie izobrazhenij

Sposoby kodirovaniya graficheskih dannyh delyatsya na dve kategorii: rastrovyj (tochki ravnomerno razmechennogo pryamougol'nika) i vektornyj (opisaniya linij i figur, sostavlyayushchih izobrazhenie).

Naprimer, rastrovoe izobrazhenie okruzhnosti mozhet byt' takim: "zapolnyaem kvadrat 5h5: belaya tochka (B), chernaya tochka (CH), CH, CH, B, CH, B, B, B, CH, CH, B, B, B, CH, CH, B, B, B, CH, B, CH, CH, CH, B". (Bolee umnye "formaty so szhatiem", vozmozhno, pozvolyat sokratit' zapis' do chego-nibud', podobnogo: "zapolnyaem kvadrat 5h5: B, 3CH, B, 3(CH, 3B, CH), B, 3CH, B", a to i eshche bolee kompaktno, no sut' ne v etom).

Vektornoe ee izobrazhenie sovsem drugoe: "chernaya okruzhnost' s centrom v (3,3), radiusom 2 i tolshchinoj linii 1".

Vazhno ponimat', chto bol'shinstvo komp'yuternyh graficheskih ustrojstv segodnya -- i terminaly, i skanery, i printery -- po svoej prirode rastrovye. Isklyuchenie sostavlyayut tol'ko grafopostroiteli (ploterry) i redko dostupnye v uchebnyh usloviyah ih promyshlennye "kuzeny" (takie, kak frezernyj stanok s chislovym upravleniem).

Sootvetstvenno, izobrazhenie, vne zavisimosti ot ego sobstvennoj prirody (vektornoj ili rastrovoj), budet pri otobrazhenii preobrazovano v rastr i dostupno chelovecheskim chuvstvam v rastrovoj forme (dazhe esli rastr pochti nezameten, kak na displeyah s vysokim razresheniem, ili voobshche imeet setku nizhe poroga vospriyatiya, kak pri pechati na kachestvennyh strujnyh ili lazernyh printerah). I ukazannye dva sposoba vpolne mogut privesti k neotlichimomu rezul'tatu.

3.2 Primenenie vektornoj i rastrovoj grafiki

Raznica mozhet proyavit'sya togda, kogda my nachnem obrabatyvat' elementy izobrazheniya.

Vektornoe izobrazhenie mozhet bez ushcherba masshtabirovat'sya (uvelichivat'sya ili umen'shat'sya), prichem eta operaciya obratima. V privedennom primere my mozhem bez truda uvelichit' vektornuyu okruzhnost' v pyat' raz: "chernaya okruzhnost' s centrom v (15,15), radiusom 10 i tolshchinoj linii 5", i ona ostanetsya okruzhnost'yu.

A vot, rastrovoe izobrazhenie pri uvelichenii obnaruzhit lish' svoj rastr v uvelichennom vide (i na okruzhnost' nash primer pohozh uzhe budet malo). Bolee togo, operaciya umen'sheniya (ili uvelicheniya v neceloe chislo raz) rastrovogo izobrazheniya uzhe ne yavlyaetsya obratimoj: informaciya pri osushchestvlenii takoj operacii bezvozvratno teryaetsya.

Krome togo, vektornoe izobrazhenie, soderzhashchee bolee odnogo elementa (naprimer, izobrazhenie dvuh peresekayushchihsya okruzhnostej), mozhet byt' raz®yato na elementy bez kakih-libo poter'. S rastrovym izobrazheniem takoe, v obshchem sluchae, nevozmozhno: programma "ne znaet" ob elementah izobrazheniya i o prinadlezhnosti teh ili inyh tochek otdel'nym elementam.

V obshchem sluchae, vektornoe kodirovanie horosho podhodit dlya raboty s chertezhami, shemami, kartami, diagrammami, grafikami i t.p., a rastrovoe -- dlya obrabotki fotografij i risunkov. Vektornoe izobrazhenie mozhet byt' bez ushcherba vospriyatiya preobrazovano v rastr, v to vremya, kak obratnoe preobrazovanie v obshchem sluchae problematichno (hotya est' programmy, pozvolyayushchie s toj ili inoj tochnost'yu raspoznavat' graficheskie obrazy). Vektornoe kodirovanie chasto kompaktnee rastrovogo, no ego otobrazhenie trebuet bol'shih vychislitel'nyh resursov5.

Primer, kotoryj vsegda pered glazami pol'zovatelya komp'yutera -- shrifty. Kogda tochno izvesten masshtab, v kotorom budet otobrazhat'sya tekst, chasto ispol'zuyutsya rastrovye ("fiksirovannye") shrifty, predstavlyayushchie soboj nabor rastrovyh izobrazhenij otdel'nyh bukv i drugih simvolov ispol'zuemogo alfavita (naprimer, rastrovye shrifty ispol'zuyutsya videokartoj, rabotayushchej v tekstovom rezhime, no takzhe chasto i kak element graficheskogo interfejsa). Ih primenenie pozvolyaet otobrazhat' simvoly s nedostizhimoj inym sposobom chetkost'yu, no, esli nuzhny bolee odnogo razmera shrifta, potrebuetsya trudoemkaya rabota po razrabotke neskol'kih takih shriftov.

Kogda neobhodimo svobodnoe masshtabirovanie shriftov, ispol'zuyutsya vektornye shrifty (na samom dele, bol'shinstvo masshtabiruemyh shriftov -- eto biblioteki programm, "risuyushchih" sootvetstvuyushchie bukvy, chasto - s uchetom vazhnosti ih otdel'nyh elementov dlya vospriyatiya; no raznica v dannom sluchae nesushchestvenna). Kachestvo otobrazheniya melkogo keglya ili na ekrane s nizkoj razreshayushchej sposobnost'yu u nih nizhe, no oni universal'nee.

Prochie elementy graficheskih pol'zovatel'skih interfejsov takzhe ispol'zuyut kak vektornuyu (bol'shinstvo organov upravleniya i bol'shinstvo elementov oformleniya okon), tak i rastrovuyu (piktogrammy-"znachki") grafiku.

3.3 Svobodnye programmy dlya raboty s vektornoj grafikoj

Iz mnozhestva svobodnyh programm, prednaznachennyh dlya redaktirovaniya vektorno-graficheskih fajlov, razumnye potrebnosti bol'shinstva uchebnyh kursov mozhet udovletvorit' lyubaya iz sleduyushchih:

i, nakonec,

Rekomenduetsya pri vozmozhnosti hotya by vkratce oznakomit'sya s kazhdoj iz nih, chtoby ponyat', kakaya luchshe podhodit dlya konkretnogo uchebnogo kursa. V etoj lekcii dalee budet obsuzhdat'sya OpenDraw, ishodya iz preimushchestv, uzhe opisannyh v "Lekcii" 1, posvyashchennoj drugomu komponentu togo zhe paketa -- word-processoru OpenWriter, no eto ne v koej mere ne oznachaet neprigodnost' dlya uchebnyh celej prochego iz perechislennogo.

3.4 Obshchie harakteristiki OpenDraw

Kak i ostal'nye komponenty paketa OO.o, OpenDraw ispol'zuet v kachestve "rodnogo" formata special'no razrabotannoe XML-prilozhenie (ob XML i o tom, pochemu orientaciya na etot stremitel'no nabirayushchij populyarnost' format dannyh vazhna pri vybore uchebnyh programm, sm. materialy "Lekcii" 1).

|tot paket dostupen dlya populyarnyh standarnyh (Linux, Solaris) i nestandartnyh (Microsoft Windows, MacOS) operacionnyh sistem i prilichno (hotya i ne ideal'no) lokalizovan.

Samym zhe sushchestvennym nedostatkom OpenDraw yavlyayutsya otnositel'no vysokie trebovaniya k apparatnym resursam, poetomu ego ispol'zovanie zatrudnitel'no na staryh ili malomoshchnyh komp'yuterah (dlya komfortnoj raboty nad neslozhnymi uchebnymi uprazhneniyami dolzhno byt' dostatochno Intel P-II, Celeron ili K6-2 s chastotoj ot 500 MGc ili G3 s chastotoj ot 350 MGc pri pamyati ot 64 MB). Esli nuzhna demonstraciya vektorno-graficheskih vozmozhnostej na takih komp'yuterah, my rekomenduem sodipodi ili eshche bolee "legkuyu" XFig.

Sohranenie v "chuzhih" vektornyh formatah (eksport) na segodnya realizovano tol'ko dlya rannih versij predshestvennika OpenOffice.org paketa StarOffice (i StarDraw kak otdel'noj programmy). Zato import (chtenie "chuzhih" formatov) vozmozhen ne tol'ko iz universal'nyh vektornyh formatov, no i iz DXF, ispol'zuemogo v populyarnyh sistemah avtomatizirovannogo proektirovaniya (SAPR).

OpenDraw takzhe pozvolyaet eksportirovat' risunok vo mnogie rastrovye formaty ili v gipertekstovuyu stranicu.

Sleduet ponimat', chto StarDraw, na osnove kotorogo razrabotana programma, zadumyvalas' kak "ofisnyj" graficheskij redaktor, prezhde vsego prednaznachennyj dlya sozdaniya i redaktirovaniya graficheskih elementov oformleniya dokumentooborota (soprovozhdayushchih dokumenty risunkov, kart, diagramm, grafikov i pr.). Poetomu dejstviya, tipichnye dlya takoj raboty, maksimal'no oblegcheny i "vyneseny na pervyj plan", i OpenDraw soderzhit massu gotovyh detalej, shiroko upotrebimyh v "ofisnoj" grafike (naprimer, gotovyh strelok i mnozhestva soedinitel'nyh linij, chasto ispol'zuemyh v takih sluchayah). Dlya tehnicheskogo chercheniya i shemotehniki OpenDraw ne prisposoblena (hotya pri sluchae v nej mozhno sozdat' prostoj chertezh ili elektronnuyu shemu).

Dokument OpenDraw nazyvaetsya "risunkom", chto neskol'ko dezorientiruet, poskol'ku na samom dele on mozhet soderzhat' celuyu "pachku" otdel'nyh izobrazhenij, nazyvaemyh slajdami. Kazhdyj slajd, v svoyu ochered', mozhet soderzhat' odin ili bolee sloev .

Risunok sohranyaetsya v fajle, kotoryj tehnicheski predstavlyaet soboj PKZip-arhiv, vklyuchayushchij stilevye opredeleniya i sobstvenno soderzhanie dokumenta na yazyke XML. Kakoj-libo instrumentarij, special'no prednaznachennyj dlya obrabotki OpenDraw XML, nam ne izvesten.

Kak i ostal'nye komponenty OpenOffice.org, OpenDraw v vysshej stepeni konfiguriruemaya i nastraivaemaya pod konkretnoe primenenie programma. Dlya ispol'zovaniya v uchebnom kontekste mozhet okazat'sya poleznym predvaritel'no nastroit' ee dlya nekotorogo sokrashcheniya obiliya neposredstvenno dostupnyh pol'zovatelyu funkcij, chtoby uchenik v nih ne zateryalsya.

3.5 Osnovnye vozmozhnosti OpenDraw

Funkcional'nost' OpenDraw sopostavima s bol'shinstvom drugih redaktorov vektornoj grafiki i vklyuchaet:

Preobrazovanie ob®ektov vklyuchaet:

Bol'shinstvo opisannyh operacij preobrazovaniya dostupny kak posredstvom menyu (k punktam kotorogo mogut byt' privyazany "goryachie" klavishi), tak i na piktograficheskih palitrah instrumentov, naryadu s palitroj cveta prisutstvuyushchih (po zhelaniyu) v glavnom okne programmy.

Tochnoe pozicionirovanie ob®ektov oblegchaet vozmozhnost' otobrazit' setku razmetki slajda, a takzhe komandy vyravnivaniya ob®ektov otnositel'no uzlov etoj setki, kraya ili centra lista (slajda), a takzhe otnositel'no drug druga. Osobenno polezno eto pri sozdanii dostatochno formalizovannyh ob®ektov.

3.6 Mehanizm stilej

Vazhnoj osobennost'yu OpenDraw yavlyaetsya ispol'zovaniya mehanizma stilej dlya formatirovaniya graficheskih elementov. Ispol'zovanie stilej v vektornoj grafike vpolne sopostavimo s ispol'zovaniem togo zhe mehanizma pri oformlenii razmechennogo teksta (sm. "Lekciyu" 1) i imeet te zhe preimushchestva pered "zhestkim" formatirovaniem/oformleniem.

|tot priem pozvolyaet ser'ezno oblegchit' variantnoe oformlenie risunkov, otkazavshis' ot "zhestkogo" (takogo, pri kotorom dlya kazhdogo ob®ekta ili gruppy ob®ektov harakteristiki zadayutsya vruchnuyu) formatirovaniya ob®ektov.

Naprimer, pri podgotovke shemy orgstruktury uchrezhdeniya mozhno sozdat' stil', kotorym oformlyayutsya izobrazheniya podrazdelenij, dopustim, s goluboj zalivkoj v chernom konture v 3 punkta tolshchinoj. Esli pozdnee potrebuetsya izobrazit' te zhe podrazdeleniya zheltymi pryamougol'nikami bez ramki, ne nuzhno budet pomechat' ih vruchnuyu (predstav'te, naskol'ko eto mozhet byt' trudoemko dazhe dlya otnositel'no prostoj organizacii tipa srednej shkoly), dostatochno budet lish' izmenit' parametry stilya. Bolee togo, mozhno opredelit' stil' i dlya strelok, pokazyvayushchih svyazi mezhdu podrazdeleniyami, s "nasledovaniem" cveta ot cveta stilya podrazdelenij, esli predpolagaetsya, chto ih cvet dolzhen sovpadat'.

Stil' mozhno opredelit' i dlya slajda v celom, chto pozvolyaet edinoobrazno oformlyat' seriyu risunkov. Nabor stilej mozhno ob®edinit' v shablon (sohranyaemyj v otdel'nom fajle), esli predpolagaetsya regulyarnoe ego ispol'zovanie.

3.7 "Logicheskie operacii" nad ob®ektami, "3D" i morfing

Interesnoj funkciej OpenDraw yavlyaetsya nalichie tak nazyvaemyh logicheskih operacij nad ob®ektami. Dva ili bolee zapolnennyh kontura mogut byt' skombinirovany osobym obrazom, chto porozhdaet novyj ob®ekt, yavlyayushchijsya ob®edineniem form, ih peresecheniem ili "vychitaniem" odnoj formy iz drugoj.

Eshche odnoj interesnoj osobennost'yu programmy yavlyaetsya vstroennaya v nee bazovaya funkcional'nost' imitacii trehmernoj grafiki (3D-funkcii). Ona ogranichena 1) konstruirovaniem tel vrashcheniya, 2) preobrazovaniem v tela vrashcheniya proizvol'nyh dvumernyh figur, a takzhe 3) ekstruziej (pridaniem poslednim "glubiny"). Trudno ponyat' neobhodimost' rutinnogo konstruirovaniya tel vrashcheniya v "ofisnoj" grafike, odnako dlya shkoly vozmozhnost' takoj demonstracii vozmozhnostej komp'yuternoj grafiki mozhet byt' ves'ma polezna.

Dvumernyj morfing (plavnoe peretekanie figur) realizovan v OpenDraw ne luchshim s tochki zreniya esteticheskogo rezul'tata, obrazom, odnako interesnym didakticheski: na samom dele, programma prosto gruppiruet zadannoe (v kachestve "kolichestva shagov" morfinga) kolichestvo "promezhutochnyh" (po forme i cvetu) figur mezhdu morfiruemymi figurami. Sozdannuyu takim obrazom gruppu mozhno razgruppirovat' i posmotret', chto i kak, sobstvenno, programma sdelala.

3.8 Vektorizaciya rastrovyh izobrazhenij


Vyshe uzhe bylo zamecheno o tom, chto, hotya preobrazovanie vektornogo izobrazheniya v rastr -- elementarnaya tehnicheskaya zadacha, garantirovannoe obratnoe preobrazovanie v obshchem sluchae nevozmozhno. Tem ne menee, sushchestvuyut programmy, kotorye pytayutsya eto sdelat'.

OpenDraw obladaet funkciej vektorizacii, "spryatannoj" v menyu "Preobrazovat'" pod klichkoj "V mnogougol'nik". Esli primenit' dannyj punkt menyu k importirovannomu rastrovomu izobrazheniyu, poyavitsya okno predprosmotra s vozmozhnost'yu zadat' nekotorye parametry i uvidet' rezul'tat.

Nichego misticheskogo v etoj funkcii net: programma ishchet svyaznye oblasti, zalitye odnim ili blizkimi cvetami, i opisyvaet ih kontur kak mnogougol'nik. Zatem ona gruppiruet poluchennye figury odnogo cveta i perehodit k sleduyushchemu cvetu ili gruppe cvetov. Rezul'tiruyushchij vektornyj ob®ekt predstavlyaet soboj gruppu, v svoyu ochered' sostoyashchuyu iz cvetovyh grupp.

Bolee glubokogo analiza programma ne provodit (v principe, mozhno bylo by kazhdyj vydelennyj ob®ekt pytat'sya approksimirovat' s zadannoj tochnost'yu otrezkom, konicheskim secheniem ili krivoj Bez'e; eto pozvolilo by raspoznat' elementarnye geometricheskie figury, naprimer, proskanirovav prostoj risunok).

|ta funkciya predusmatrivaet slishkom malo parametrov, chtoby byt' osobenno poleznoj na praktike, odnako dlya demonstracii togo, v chem sostoit process vektorizacii, ona vpolne podhodit.

3.9 Resursy

Paket OO.o vhodit vo vse "bol'shie" (mnogodiskovye universal'nye) distributivy OS Linux i vo mnogie "malen'kie" (odno-, dvuh- i trehdiskovye, isklyuchaya orientirovannye isklyuchitel'no na servernoe primenenie).

My rekomenduem obratit' vnimanie na rossijskuyu sborku OO.o, postavlyaemuyu s ALT Linux ("bol'shoj" distributiv Master i "malen'kij" Junior; www.altlinux.ru) i ASPLinux (v razlichnyh variantah, www.asplinux.ru). V nej ran'she, chem v osnovnoj vetke, poyavlyayutsya novye vozmozhnosti, orientirovannye na russkogo pol'zovatelya, v to zhe vremya, zaderzhka sborok novyh versij (po otnosheniyu k osnovnoj vetvi razrabotok) minimal'na.

Mnogoplatformennaya (Linux i Microsoft Windows) rossijskaya sborka dostupna v sostave sbornika OpenOffice.ru, ego mozhno vzyat' na sajte www.openoffice.ru ili priobresti (spisok resellerov dostupen na tom zhe sajte) odnodiskovuyu korobku. O rossijskih sborkah OO.o pod "Makintosh", Solaris i drugie OS nam nichego ne izvestno, i ih pol'zovatelyam mozhno porekomendovat' sledovat' po ssylkam s www.openoffice.org.

Osnovnoj russkoyazychnyj resurs, posvyashchennyj OpenOffice, -- eto tot zhe sajt www.openoffice.ru i ego satellity (vklyuchaya http://docs.openoffice.ru). Osnovnoj mezhdunarodnyj resurs -- eto bazovyj sajt razrabotki www.openoffice.org).

OO.o voobshche i OpenDraw v chastnosti poka osveshcheny lish' v neskol'kih publikaciyah. Vnimaniya zasluzhivayut [6-8].

Lekciya 4. GIMP -- svobodnyj redaktor rastrovoj grafiki

V predydushchej "lekcii", posvyashchennoj vektornoj grafike i programme OpenDraw, privodilis' osnovnye fakty, kasayushchiesya razlichiya vektornoj i rastrovoj komp'yuternoj grafiki:

4.1 Istochniki i parametry rastrovoj grafiki

Obychnym istochnikom rastrovyh izobrazhenij yavlyaetsya skaner -- ustrojstvo, "prohodyashchee" (skaniruyushchee) list bumagi ili kadr fotoplenki tochka za tochkoj i peredayushchee komp'yuteru znacheniya, sootvetstvuyushchee intensivnosti bazovyh cvetov v kazhdoj tochke. Vse bol'shej populyarnost'yu pol'zuyutsya cifrovye fotokamery -- apparaty, vmesto fotoplenki fokusiruyushchie izobrazhenie na svetochuvstvitel'noj matrice, peredayushchej cifrovuyu zapis' izobrazheniya na energonezavisimyj nositel' informacii (gibkij disk ili t.n. flesh-kartu), kotoryj zatem mozhet chitat'sya komp'yuterom.

Rastrovye izobrazheniya mogut takzhe sozdavat'sya chelovekom na komp'yutere s pomoshch'yu ustrojstv koordinatnogo vvoda ("myshi" ili bolee podhodyashchego dlya etoj celi graficheskogo plansheta) ili sintezirovat'sya razlichnymi programmami.

Vazhnejshimi parametrami rastrovogo izobrazheniya yavlyayutsya ego rastrovyj razmer (v tochkah) i "glubina cveta" (kolichestvo bit, ispol'zuemyh dlya predstavleniya cveta kazhdoj tochki). |ti parametry chasto zapisyvayut v vide 1024h728x24, chto oznachaet 1024 tochki po gorizontali, 728 tochek po vertikali i 24 bit na cvet (dvadcati chetyreh bit dostatochno dlya polucheniya "fotorealistichnyh" izobrazhenij, dal'nejshee povyshenie razryadnosti ne privodit k uvelicheniyu kachestva otobrazhaemyh ili pechataemyh sovremennymi sredstvami izobrazhenij, hotya v promezhutochnoj obrabotke ili pri sinteze izobrazhenij inogda ispol'zuetsya bol'shie znacheniya glubiny cveta). Eshche odnim parametrom, predusmotrennym nekotorymi formatami hraneniya rastrovoj grafiki, yavlyaetsya ego "masshtab", kotoryj prinyato izmeryat' v tochkah na dyujm (DPI); eto chisto informacionnyj parametr, kotoryj mozhet uchityvat'sya pri pechati izobrazhenij, no ne vliet na vozmozhnost' ih obrabotki.

4.2 Istochniki i parametry i formaty predstavleniya rastrovoj grafiki

Za tridcatiletnyuyu istoriyu komp'yuternoj grafiki razrabotano velikoe mnozhestvo (sotni) formatov hraneniya izobrazhenij. Bol'shinstvo iz nih yavlyaetsya plodom nesoglasovannosti "tehnicheskogo tvorchestva" otdel'nyh grupp issledovatelej i kompanij, a takzhe otrazhaet osobennosti davno vyshedshih iz upotrebleniya specificheskih ustrojstv. Vazhnymi svojstvami formatov yavlyayutsya prisushchie im vnutrennie ogranicheniya, iz kotoryh naibolee znachimy ogranicheniya na glubinu cveta, podderzhivaemye cvetovye modeli ("monitornaya" RGB, "poligraficheskaya" CMYK i t.d.) vozmozhnost' sohraneniya neskol'kih sloev izobrazheniya (ponyatiya sloev, konturov i masok zdes' ne obsuzhdayutsya), nalichie t.n. "al'fa-kanala" (fiktivnogo "cveta", sootvetstvuyushchego stepeni prozrachnosti izobrazheniya pri nalozhenii ego na drugoe izobrazhenie) i podderzhivaemye algoritmy szhatiya.

Primenyaemye v rastrovoj grafike algoritmy szhatiya podrazdelyayutsya na nerazrushayushchie i formaty s poterej kachestva (poslednie ispol'zuyut psihofiziologicheskuyu model' chelovecheskogo zreniya dlya togo, chtoby izbavit'sya ot neznachimyh detalej izobrazheniya, chto neskol'ko snizhaet ego kachestvo, no pozvolyaet dobit'sya gorazdo bol'shej kompaktnosti koda).

Prakticheski universal'nymi yavlyayutsya formaty TIFF (obychno primenyaemyj v poligrafii, dopuskaet lish' nerazrushayushchee szhatie), PNG (naibolee udobnyj dlya predstavleniya graficheskih dannyh v mul'timedijnyh sistemah i WWW, dopuskayushchij nerazrushayushchee szhatie), a takzhe medlenno vytesnyaemye poslednim JPEG (dopuskayushchij szhatie s poteryami) i GIF (ogranichennyj 8 bit (256) cvetami). Krome togo, mnogie graficheskie redaktory (vklyuchaya opisannyj nizhe GIMP) obladayut sobstvennym formatom, pozvolyayushchim sohranyat' v tom zhe fajle massu vspomogatel'noj informacii, poleznoj pri prodolzhayushchejsya bolee odnogo seansa rabote s fajlami.

4.3 Obshchie svedeniya o GIMP

GNU Image Manipulation Program (Programma GNU dlya manipulyacii izobrazheniyami), ili sokrashchenno GIMP (chitaetsya "gimp") -- potomok kursovogo proekta dvuh studentov, Pitera Mattasa i Spensera Kimbolla (1985-86 gg.).

Za vosem' let i pri uchastii desyatkov programmistov GIMP vyros v odin iz samyh nasyshchennyh funkcional'nost'yu graficheskih redaktorov, ustupayushchih lish' "pod zavyazku" nabitomu storonnimi modulyami redaktoru Photoshop6. Tekushchaya stabil'naya versiya -- 1.2 (kak i v nekotoryh drugih proektah nechetnym "malym" nomeram sootvetstvuyut eksperimental'nye (razrabotcheskie) versii, a chetnym -- stabil'nye).

Interesno, chto v ramkah proekta GIMP byla sozdana biblioteka raboty s ekrannymi primitivami GTK (nyne GTK+), yavlyayushchayasya na segodnya odnoj iz samyh razvityh i shiroko ispol'zuemyh v svoem klasse (v chastnosti, na GTK+ osnovana populyarnaya graficheskaya operacionnaya sreda GNOME).

GIMP, dostupnyj dlya vseh populyarnyh nastol'nyh platform (vklyuchaya Linux, MacOS, Microsoft Windows i dr.), shiroko ispol'zuetsya dlya raboty nad WWW i mul'timedijnoj grafikoj, obrabotki lyubitel'skogo, reportazhnogo i dazhe hudozhestvennogo foto, retushirovaniya kinokadrov. Pravda, dlya poslednej celi chashche ispol'zuetsya modifikaciya, izvestnaya kak FilmGIMP, ee, v chastnosti, aktivno ekspluatirovali pri montazhe pervogo fil'ma o Garri Pottere.

GIMP redko ispol'zuetsya dlya predpechatnoj podgotovki grafiki: v nem poka net podderzhki "poligraficheskih" cvetovyh modelej i sistemy cvetodeleniya. Eshche odnim ogranicheniem tekushchih versij GIMP yavlyaetsya otnositel'no nizkaya proizvoditel'nost', zatrudnyayushchaya rabotu s dejstvitel'no bol'shimi (sotni tysyach tochek) i slozhnymi (desyatki sloev) izobrazheniyami. Dlya sozdaniya i obrabotki dostatochno kompaktnyh i prostyh izobrazhenij, a takzhe dlya ih otobrazheniya na monitore i pechati na oborudovanii potrebitel'skogo klassa eti ogranicheniya ne vazhny.

GIMP sposoben rabotat' s prodvinutymi koordinatnymi ustrojstvami -- graficheskimi planshetami, v tom chisle, modelyami, raspoznayushchimi silu nazhatiya na pero.

4.4 GIMP -- programmiruemyj graficheskij redaktor

Veroyatno, uspehom GIMP ne v maloj stepeni obyazan svoej iznachal'no modul'noj i programmiruemoj arhitekture. Sam po sebe etot redaktor -- dostatochno kompaktnaya i prostaya programma, odnako ego vozmozhnosti priumnozhayutsya za schet otkrytosti arhitektury i nalichiya mnozhestva modulej (v tekushchej postavke -- okolo trehsot), realizuyushchih te ili inye dopolnitel'nye funkcii, takie kak import-eksport storonnih formatov ili obrabotku izobrazheniya ili ego fragmenta po tomu ili inomu algoritmu.

Takie moduli mozhno razrabatyvat' kak otdel'nye programmy s ispol'zovaniem biblioteki GDK, a mozhno pol'zovat'sya odnim iz vstroennyh v GIMP interpretatorov yazykov programmirovaniya. Imenno nalichie takih interpretatorov i delaet GIMP programmiruemym graficheskim redaktorom. Mozhno skazat', chto ego arhitektura podobna arhitekture tekstovogo redaktora Emacs, o kotorom govorilos' vo vtoroj nashej "lekcii".

Takih interpretatora na segodnya dva. Zabavnoe nazvanie Script-fu, vidimo, sleduet ponimat' kak anglijsko-kitajskoe vyrazhenie, oznachayushchee "masterstvo scenirovaniya" (napomnim, chto "scenariyami" ("skriptami") nazyvayut programmy, napisannye na interpretiruemyh yazykah). Script-fu -- eto pervyj vstroennyj v GIMP interpretator funkcional'nogo yazyka Shema (Schema), yavlyayushchegosya potomkom pervogo yazyka funkcional'nogo programmirovaniya Lisp. Razrabotchik skripta imeet dostup k mnogochislennym bazovym funkciyam-graficheskim primitivam.

Shema -- ves'ma produmannyj i strojnyj yazyk, odnako ego metodicheskij potencial ne mozhet v polnoj mere byt' raskryt v segodnyashnih kursah informatiki v srednej shkole, programmirovanie v kotoryh vvoditsya v direktivnoj (sentencional'noj) paradigme. Na Sheme, tak zhe, kak i na Lispe, mozhno pisat' v direktivnom stile, odnako izyashchestva i prostoty, stol' neobhodimyh v obuchenii, dostich' pri etom vozmozhnym ne predstavlyaetsya.

Direktiven drugoj yazyk, interpretator kotorogo takzhe vstroen v GIMP. |to Perl (Perl), ego GIMP-ovskaya realizaciya nazyvaetsya Perl-fu. Horoshij programmist mozhet pisat' na Perle chisto i akkuratno, odnako sintaksis yazyka sam po sebe nastol'ko gibok (chtoby ne skazat' "zhidok"), chto, po nashemu mneniyu, Perl sovershenno ne goditsya na rol' izuchaemyh v chisle pervyh (hotya sushchestvuyut i drugie mneniya, ves'ma avtoritetnye).

Dobavlenie v GIMP eshche odnogo interpretatora (naprimer, algolo- ili paskalepodobnogo yazyka) ne predstavlyaetsya osobo slozhnoj zadachej, odnako o takih proektah nichego ne izvestno, i, navernoe, ot programmirovaniya obrabotki izobrazhenij "vnutri" GIMP kak ot prostoj v metodicheskom osvoenii temy bol'shinstvu pedagogov stoit poka otkazat'sya.

4.5 Interaktivnaya funkcional'nost' i ergonomika

Tem ne menee, bazovoj interaktivnoj funkcional'nosti GIMP (vklyuchaya dostupnye moduli) vpolne dostatochno, chtoby pokryt' obychno izuchaemye v shkole voprosy obrabotki grafiki.



Pri zapuske GIMP na ekrane otkryvaetsya ryad okon (Ris. 1). Glavnoe okno soderzhit menyu osnovnyh funkcij, panel' piktograficheski oboznachennyh "instrumentov" i oblasti, v kotoryh otobrazhayutsya tekshchie znacheniya osnovnogo i fonovogo cvetov, formy kisti, tekushchego gradienta. Okna izobrazheniya sootvetstvuyut otdel'nym otkrytym graficheskim fajlam (ili sloyam v nih).

Dopolnitel'nye instrumental'nye okna (po kakoj-to prichine nazvannye "dialogami") mogut otkryvat'sya iz menyu glavnogo okna. Odnako ih vsego desyatok ("Sloi, kanaly i kontury", "Parametry instrumentov", "Kisti", "SHablony", "Gradienty", "Palitra", "Ustrojstva vvoda", "Indeks dokumentov", "Konsol' oshibok"), a osnovnoj massiv funkcij, primenyaemyh k tekushchemu ili vnov' sozdavaemomu izobrazheniyu ili vybrannomu uchastku izobrazheniya (vklyuchaya funkcii, realizovannye vneshnimi modulyami-fil'trami) "dostayutsya" cherez kontekstnoe menyu, otkryvayushcheesya po shchelchku pravoj knopkoj myshi v okne izobrazheniya.




Zato mozhno vospol'zovat'sya (neprivychnym dlya pol'zovatelej uproshchennyh graficheskih sred, takih, kak Microsoft Windows) svojstvom graficheskoj biblioteki GTK+, nazyvaemym "liniya otryva". Kazhdoe menyu naverhu soderzhit punktirnuyu liniyu, shchelknuv mysh'yu na kotoroj mozhno prevratit' eto menyu v samostoyatel'noe instrumental'noe okno, sohranyayushcheesya, poka pol'zovatel' yavnym obrazom ego ne zakroet (Ris. 2-3). Takim obrazom (uchityvaya nastraivaemost' samoj sistemy menyu) mozhno v lyuboj moment sozdat' na ekrane dopolnitel'nye "paneli instrumentov", soderzhashchie funkcii, kotorymi v blizhajshee vremya predpolagaetsya vospol'zovat'sya. Privykshemu k drugomu stilyu raboty pol'zovatelyu eto neprivychno, odnako, privyknuv, etu interfejsnuyu osobennost' mozhno ispol'zovat' ves'ma effektivno.

Mnozhestvennost' okon, k sozhaleniyu, mozhet sozdavat' nekotorye neudobstva v sredah bez razvitogo instrumentariya upravleniya oknami. V bolee razvityh sredah mozhno "skleit'" neskol'ko okon, chtoby oni peremeshchalis' kak edinoe celoe ili "podnyat'" okno, chtoby ono prodolzhalo ostavat'sya vidimym, dazhe esli budet aktivizirovano okno, raspolozhennoe "pod nim" (sobstvenno, mnogookonnoe vizual'noe reshenie i sozdano v raschete na nalichie takih sredstv), a esli takie sredstva otsutstvuyut (kak, naprimer, v Microsoft Windows), pol'zovanie redaktorom na monitore s malym razresheniem mozhet byt' otyagoshcheno neobhodimost'yu sovershat' kakie-to dopolnitel'nye dejstviya.

Osnovnaya interaktivnaya funkcional'nost', dostupnaya posredstvom "instrumentov" v glavnom okne, dostatochno tradicionna dlya programm etogo klassa. Ona vklyuchaet, v tom chisle:

V bazovuyu funkcional'nost' GIMP vhodit takzhe vozmozhnost' zahvata izobrazheniya so skanera i s ekrana.

4.6 Fil'traciya i sintez izobrazhenij

Osnovnoj priem avtomatizirovannoj obrabotki izobrazhenij -- fil'traciya ih celikom, libo vydelennyh v nih oblastej. Bol'shaya chast' upomyanutyh vneshnih modulej realizuet imenno funkciyu fil'tracii. Sredi naibolee vazhnyh v prakticheskoj obrabotke izobrazhenij fil'trov otmetim:

Znachitel'noe kolichestvo fil'trov imitiruyut razlichnye "effekty": ot prosmotra izobrazheniya cherez volnistoe steklo do natyazheniya ego na sferu, cilindr ili tor.

Sintez izobrazhenij v bazovoj postavke GIMP i izvestnyh nam fil'trah ne slishkom razvit, odnako est' ryad fil'trov, sozdayushchie fraktal'nye izobrazheniya (v tom chisle, naturomorfnye).

4.7 Resursy

GIMP vhodit vo vse "bol'shie" (mnogodiskovye universal'nye) distributivy OS Linux i vo mnogie "malen'kie" (odno-, dvuh- i trehdiskovye, krome orientirovannyh tol'ko na servernoe primenenie). Interfejs GIMP pereveden na russkij yazyk (hotya est' otdel'nye moduli, dostupnye tol'ko s inoyazychnymi interfejsami).

GIMP dostupen dlya Linux i drugih otkrytyh sistem -- na www.gimp.org; dlya Microsoft Windows -- na www.wingimp.org; dlya MacOS -- na www.macgimp.org. Osnovnoj russkoyazychnyj resurs, posvyashchennyj GIMP -- www.gimp.ru.

Kratkoe sorokastranichnoe vvedenie v GIMP est' v knige [9]. Iz angloyazychnyh knig posovetuem dve svobodno dostupnye [13, 14].

Lekciya 5. OpenCalc -- svobodnyj redaktor elektronnyh tablic

Slovo "komp'yuter", oznachayushchee bukval'no "vychislitel'" i voshodyashchee k lat. computare, segodnya ne nuzhdaetsya v perevode: povsemestno im oboznachayut elektronnye vychislitel'nye mashiny, i ono ponyatno dazhe nositelyam yazykov, v kotoryh dlya komp'yutera est' sobstvennoe slovo. Odnako v anglijskom, iz kotorogo ono i nachalo svoe rasprostranenie, eto slovo imeet i bolee ranee znachenie: chelovek, zanyatyj vychisleniyami.

Paradoksal'no, no skol'ko-nibud' sistematicheskogo issledovaniya voprosa o dinamike sovokupnoj "vychislitel'noj moshchi", kotorymi raspolagalo chelovechestvo do poyavleniya avtomaticheskih vychislitelej, v mirovoj literature ne sushchestvuet (po krajnej mere, s hodu ne nahoditsya), hotya samo soderzhanie obshchematematicheskogo obrazovaniya i professional'noj podgotovki do sih por napolneno, naryadu s teoreticheskimi svedeniyami o prirode i svojstvah matematicheskih ob®ektov, vpolne pragmaticheskimi priemami, sposobami, metodami effektivnogo ruchnogo scheta.

Takoe issledovanie budet neprostym predpriyatiem, uchityvaya, chto v bol'shinstve sluchaev vychisleniya byli ne otdel'noj professiej, a chast'yu drugih professional'nyh zanyatij. Buhgalter, inzhener, tehnik zatrachivali sushchestvennye usiliya na provedenie raschetov, yavlyayushchihsya chast'yu ih povsednevnoj raboty. Komp'yuter menyaet vse eto: ot professionala po-prezhnemu trebuetsya umenie primenit' sposob rascheta, no sami "vychislitel'nye ob®emy" vypolnyayutsya vse bolee i bolee avtomatizirovanno.

Lish' v otnositel'no nebol'shom kolichestve sluchaev takie vychisleniya mozhno sdelat' polnost'yu avtomaticheskimi i centralizovannymi, svalit' ih na "chislomolotilki", a v bol'shinstve sluchaev raschety dolzhny provodit'sya umestno, v tom meste i v tot moment, kogda eto neobhodimo. Inymi slovami, ot vse bol'shego kolichestva professionalov ozhidaetsya umenie programmirovat' vychisleniya.

"Programmirovanie" zdes' upotrebleno ne v uzkom znachenii, svyazannom s opredelennoj professional'noj deyatel'nost'yu, ispol'zovaniem special'nyh sitem notacij i intellektual'noj discipliny, a v samom shirokom, sovpadayushchem s etimologiej slova. "Programmirovat'" oznachaet bukval'no vsego lish' "propisyvat' napered" te dejstviya, kotorye dolzhny byt' vypolneny.

5.1 "Ubojnoe prilozhenie" PK

U marketologov est' takoe slengovoe vyrazhenie: "ubojnoe primenenie", ili "ubojnoe prilozhenie" (killer application). Ono oznachaet to primenenie kakoj-libo mnogofunkcional'noj v svoej osnove veshchi, kotoroe formiruet osnovnuyu dolyu sprosa na nee i prevrashchaet ee iz modnoj novinki v massovyj tovar.

Poyavivshijsya na rubezhe semidesyatyh i vos'midesyatyh, v sravnenii s "nastoyashchim" dorogim komp'yuterom deshevyj PK byl vsem ploh, krome odnogo: on bystro vyvodil dannye na ekran.

Nuzhno vspomnit', chto v te vremena otnositel'no deshevye alfavitno-cifrovye terminaly soedinyalis' s mashinoj posledovatel'nymi interfejsami (RS-232), skorost' peredachi dannyh po kotorym obychno izmeryalas' v sotnyah znakov v sekundu, inogda, v tysyachah. Gorazdo bystree obmenivalis' dannymi X-terminaly, vklyuchennye v set', no eto oborudovanie drugogo klassa, stoivshee sovsem drugih deneg.

"Terminal" personal'nogo komp'yutera -- eto (ne schitaya klaviatury i "myshi") adapter, integrirovannyj na sistemnoj plate ili vstavlennyj v raz®em shiny s parallel'noj peredachej signala so skorost'yu, kak minimum v sotni raz prevyshayushchej propusknuyu sposobnost' posledovatel'nogo interfejsa, a na monitor, nahodyashchijsya vsego v desyatkah santimetrov ot komp'yutera, signal peredaetsya po analogovomu kabelyu.

Dazhe na rannih PK vyvod dannyh na ekran byl, v masshtabah chelovecheskogo vospriyatiya, mgnovennym (esli ne "tormozila", konechno, sama programma). |to pozvolilo otnositel'no deshevo realizovat' razlichnye prilozheniya, sama ideya kotoryh v tom, chtoby predstavit' pol'zovatelyu "zhivuyu" prezentaciyu kakih-libo dannyh. K chislu takih prilozhenij otnositsya polnoekrannoe redaktirovanie tekstov i, v osobennosti, rabota s elektronnymi tablicami. |lektronnye tablicy -- eto, po bol'shomu schetu, edinstvennoe prilozhenie komp'yutera, kotoroe bylo pridumano dlya PK i vpervye realizovano na PK. Segodnya, razumeetsya, blagodarya mnogokratno vozrosshej skorosti peredachi dannyh, redaktorami elektronnyh tablic mozhno pol'zovat'sya v komp'yuternyh sistemah i setyah prakticheski lyuboj topologii (upomyanutyj nizhe KSpread bez problem zarabotal na karmannom komp'yutere Sharp Zaurus).

5.2 Programmirovanie osobogo roda

My priderzhivaemsya otnyud' ne obshchepriznannoj tochki zreniya, soglasno kotoroj populyarnost' elektronnyh tablic kak delovogo prilozheniya komp'yutera, obuslovlena imenno prostotoj resheniya zadach, trebuyushchih programmirovaniya.

|lektronnaya tablica -- eto dvumernyj massiv, kazhdyj element (yachejka) kotorogo mozhet soderzhat' libo znachenie, libo vyrazhenie (formulu), prichem vyrazheniya v kachestve svyazannyh peremennyh mogut soderzhat' ssylki na drugie yachejki. (Mozhno schitat' znachenie (konstantu) chastnym sluchaem formuly, odnako po istoricheskim i ergonomicheskim soobrazheniyam sintaksis etih sushchnostej razlichen. Znacheniya, k kotorym privodyatsya yachejki, soderzhashchie formulu "=100" (esli, kak vo vseh izvestnyh nam sistemah upravleniya elektronnymi tablicami, sintaksis formuly predpolagaet "=" v pervoj pozicii) i konstantu 100, ravny.)

Po suti dela, elektronnaya tablica predpolagaet ispol'zovanie prostogo funkcional'nogo yazyka programmirovaniya (tochnee, sovremennye sistemy upravleniya elektronnymi tablicami kak pravilo realizuyut yazyk formul, funkcional'nyj v svoej osnove, no s elementami infiksnoj notacii, t.e. s vozmozhnost'yu vmesto "=funkciya1(funkciya2((summa(a; proizvedenie(b;c)))))" napisat' chut' koroche: "=funkciya1(funkciya2(a+b*c))").

Sintaksis etogo yazyka ocheviden dlya vseh, kto ponimaet, chto takoe formula v obychnom matematicheskom ponimanii. Krome togo, forma elektronnoj tablicy snimaet s pol'zovatelya-"programmista" zabotu ob organizacii dannyh (ih organizuet sama tablica, i vmesto imen peremennyh mozhno ispol'zovat' koordinaty yacheek), o vvode-vyvode i o svyazyvanii otdel'nyh konstrukcij v programmu (vychislenie formul proishodit po mere neobhodimosti).

Takim obrazom, s pomoshch'yu elektronnyh tablic v uchebnyj kurs informatiki mozhno vvodit' "nulevuyu stepen' programmirovaniya", ob®yasnyaya, chto takoe vyrazhenie i peremennaya, no otkladyvaya na potom to, ot chego mozhno abstragirovat'sya (sushchnosti, perechislennye v predydushchem abzace, i drugie, bolee slozhnye).

5.3 Svobodnye redaktory elektronnyh tablic

Probezhavshis' po katalogam svobodnyh programm (takim, kak "kuznica koda" Sourceforge, soderzhashchaya tysyachi proektov), mozhno obnaruzhit' bolee dvuh desyatkov programm v kategorii "elektronnye tablicy". Bol'shinstvo iz nih -- nezavershennye ili bolee ili menee zakonchennye uchebnye proekty. Rabotu s elektronnymi tablicami mozhno, vidimo, schitat' zrelym personal'no-komp'yuternym prilozheniem: okazyvaetsya, za polgoda-god odin programmist v sostoyanii realizovat' (razumeetsya, opirayas' na sushchestvuyushchie biblioteki) do 90% funkcional'nosti, svojstvennoj lidiruyushchim programmam v etoj kategorii.

Odnako znakomstvo s soderzhaniem kommunikacii na forumah podderzhki pozvolyaet predpolozhit', chto real'nuyu shirokuyu pol'zovatel'skuyu auditoriyu poluchili tri svobodnyh proekta:

Upomyanutoe vyshe slovo -- zrelost' samogo prilozheniya -- klyuchevaya harakteristika. Nabor ozhidanij pol'zovatelya, v obshchem-to, izvesten, prichem ne tol'ko v chasti funkcional'nosti, no i v chasti osnovnyh ergonomicheskih harakteristik programmy: pomimo bogatyh vyrazitel'nyh vozmozhnostej samih funkcij, dlya raboty s elektronnymi tablicami vazhna t.n. "ostensivnaya" operatorika, inymi slovami, vozmozhnost' "pokazat' pal'cem" na ob®ekt, s kotorym nuzhno proizvesti te ili inye dejstviya. Naprimer, "summirovat' znacheniya vot etih yacheek", a ne "... yacheek s A5 po D5". V bol'shej, chem v drugih prilozheniyah, mere ochevidny evristiki, kotorye dolzhny realizovyvat'sya programmoj v kachestve "podskazok"; naprimer, esli v yachejku, zavershayushchuyu dlinnyj stolbec chisel, pol'zovatel' nameren vvesti formulu, skoree vsego on summiruet znacheniya, a esli on nachal ryad "1 2 3" ili "yanvar', fevral', mart", skoree vsego, on prodolzhit ego ochevidnym obrazom.




Sootvetstvenno, razlichij mozhno ozhidat' lish' v detalyah realizacii funkcional'nosti i ergonomiki. I dejstvitel'no, bol'shinstvo redaktorov elektronnyh dablic, vklyuchaya i perechislennye, ochen' pohozhi.

Za dve nedeli, kotorye gotovilas' eta "lekciya", avtor (v obychnoj zhizni ne pol'zuyushchijsya etim klassom programm), proveryaya svoi vpechatleniya, "igral" s chetyr'mya podobnymi sistemami, pytayas' reshat' neslozhnye zadachki, kotorye obychno on reshaet (vvidu specifiki lichnogo profilya navykov) s pomoshch'yu SUBD, vklyuchaya 1) elementarnye inzhenernye raschety (rashod materialov i zhestkost' korpusnoj mebeli), 2) byudzhetirovanie nebol'shogo proekta, 3) byudzhetirovanie lichnyh rashodov. Pod goryachuyu ruku popali i 4) tri zadachki iz uchebnika algebry ego syna (za 11 klass), dve iz kotoryh dazhe udalos' s hodu reshit'.


V chislo etih sistem voshli tri upomyanutye svobodnye programmy i, v kachestve kontrol'nogo obrazca, ochen' populyarnaya nesvobodnaya Microsoft Excel (iz ofisnogo paketa Microsoft Office 2000). Vyvod: sushchestvennoj raznicy v vozmozhnostyah i sposobah ih realizacii 99% pol'zovatelej ne obnaruzhat. Nekotorye tonkosti: samoj "intuitivnoj" pokazalas' Gnumeric, luchshe vsego dokumentirovana Microsoft Excel, u poslednej takzhe naibolee razvity sredstva vizualizacii (postroenie grafikov i diagramm).

Tem ne menee, esli by avtoru predstoyalo regulyarno rabotat' s elektronnymi tablicami, skoree vsego, ego vybor pal by na sravnitel'no "seren'kuyu" OpenCalc iz-za edinstva interfejsa i integrirovannosti s OpenWriter i OpenDraw, kotorymi on pol'zuetsya regulyarno.

5.4 Obzor vozmozhnostej OpenCalc

Kak i ostal'nye upomyanutye programmy (za isklyucheniem Microsoft Excel), OpenCalc opredelyaet osoboe prilozhenie yazyka razmetki XML, kotoroe i ispol'zuetsya dlya hraneniya rabochih knig (pochemu-to workbook perevoditsya kak "rabochaya kniga", hotya voobshche-to eto obychnaya "tetrad'") s podshitymi v nih listami elektronnyh tablic. Kak i ostal'nye komponenty OpenOffice.org, OpenCalc upakovyvaet XML-fajl s soderzhimym (a takzhe ryad vspomogatel'nyh fajlov) v PKZIP-arhiv, kotoryj i yavlyaetsya edinicej hraneniya dokumenta. (O vazhnosti standartizacii yazykov predstavleniya dannyh v "ofisnyh" prilozheniyah my podrobno govorili v pervoj "lekcii", k kakovoj i otsylaem chitatelya.)

Krome "rodnogo" formata, OpenCalc "ponimaet" rasprostranennyj format, ispol'zuemyj Microsoft Excel raznyh versij, eksportiruet dannye v DIF (Data Interchange Format), formaty rannih versij StarCalc, potomkom kotoryh ona yavlyaetsya, SYLK, importiruet -- takzhe iz formatov dBase i Lotus 1-2-3. Knigu (workbook) mozhno s ochen' prilichnym kachestvom eksportirovat' v gipertekst (html 3.2).

Tekushchaya versiya (1.0) OpenCalc pozvolyaet rabotat' s otdel'nymi tablicami (listami) razmerom do 255 stolbcov (pronumerovannyh bukvami i dvuhbukvennymi sochetaniyami, ot A do IV) na 32000 strok (pronumerovannyh chislami), chego vpolne dostatochno dlya bol'shinstva ofisnyh primenenij i uzh, vo vsyakom sluchae, dlya lyubyh razumnyh uchebnyh zadach. OpenCalc dopuskaet absolyutnuyu i otnositel'nuyu adresaciyu yacheek i ih diapazonov.

V OpenCalc podderzhivaetsya tipizaciya dannyh s vozmozhnost'yu ih interpretacii kak chisel, denezhnyh summ, dat, vremeni, logicheskih znachenij i, nakonec, prosto teksta. Vozmozhny i opredelyaemye pol'zovatelem tipy. Dlya nekotoryh tipov opredeleny razlichnye formaty predstavleniya, zadayushchie sposob ih otobrazheniya ili pechati. V sluchae, esli yachejka soderzhit formulu, ee rezul'tat takzhe mozhet byt' tipizovan.

Biblioteka funkcij OCalc dostatochno kompaktna -- ih okolo treh s polovinoj soten. Ona razbita na ryad kategorij: upravlenie BD, rabota s datami i vremenem, finansy, statistika i t.p. Imeyutsya sredstva rasshireniya etogo nabora.

OpenCalc realizuet takie sredstva, kak:

Moshchnyj mehanizm stilej oformleniya, svojstvennyj vsem komponentam paketa OO.o, dostupen i v OpenCalc. Stili oformleniya mogut opredelyat'sya dlya otdel'nyh yacheek, ih sovokupnostej, listov i rabochih knig v celom, a takzhe dlya vklyuchaemyh elementov, takih kak tekst ili illyustracii (v tom chisle, grafiki i diagrammy).

* * *

Ser'eznymi dostoinstvami OpenCalc yavlyayutsya:

1) svobodnoe licenzirovanie i konkurentnaya postavka (s sootvetstvuyushchimi cenovymi posledstviyami);

2) nezavisimost' ot OS (i pol'zovanie im ne diktuet prakticheski nikakih ogranichenij na vybor operacionnoj sistemy i operacionnoj sredy). Bolee togo, navyki raboty s etoj programmoj takzhe v bol'shoj stepeni perenosimy. Fakticheski, OO.o vyglyadit i upravlyaetsya odinakovo pod lyuboj standartnoj OS (razrabotchiki govoryat o podderzhke Linux i Solaris; izvestno ob ustojchivoj rabote paketa pod FreeBSD), a takzhe pod Microsoft Windows 9x/Me i Microsoft Windows NT/00/XP, est' eksperimental'nyj port (perenos) na "Makintoshi", pod MacOS X (po nekotoroj informacii, v komandu uzhe voshli predstaviteli Apple Computers);

3) on ispol'zuet v kachestve yazyka razmetki standartnyj XML. V kachestve kodirovki ispol'zuetsya Unicode, chto pozvolyaet zabyt' pro tret'yu (posle klassicheskih "durakov i dorog") rossijskuyu problemu s raznoboem v kodovyh tablicah, ispol'zuemyh dlya predstavleniya kirillicy v raznyh sistemah,

4) v komande razrabotchikov est' rossijskie programmisty i firmy, kotorym nebezrazlichny perspektivy ego primeneniya v shkole.

5.5 Resursy

Paket OO.o vhodit vo vse "bol'shie" (mnogodiskovye universal'nye) distributivy OS Linux i vo mnogie "malen'kie" (odno-, dvuh- i trehdiskovye, isklyuchaya orientirovannye isklyuchitel'no na servernoe primenenie).

My rekomenduem obratit' vnimanie na rossijskuyu sborku OO.o, postavlyaemuyu s ALT Linux ("bol'shoj" distributiv Master i "malen'kij" Junior; www.altlinux.ru) i ASPLinux (v razlichnyh variantah, www.asplinux.ru). V nej ran'she, chem v osnovnoj vetke, poyavlyayutsya novye vozmozhnosti, orientirovannye na russkoyazychnogo pol'zovatelya, v to zhe vremya, zaderzhka sborok novyh versij (po otnosheniyu k osnovnoj vetvi razrabotok) minimal'na.

Mnogoplatformennaya (Linux i Microsoft Windows) rossijskaya sborka dostupna v sostave sbornika OpenOffice.ru, ego mozhno vzyat' na sajte www.openoffice.ru ili priobresti (spisok resellerov dostupen na tom zhe sajte) odnodiskovuyu korobku. O rossijskih sborkah OOO pod "Makintosh", Solaris i drugie OS nam nichego ne izvestno, i ih pol'zovatelyam mozhno porekomendovat' sledovat' po ssylkam s www.openoffice.org.

Osnovnoj russkoyazychnyj resurs, posvyashchennyj OpenOffice, -- eto tot zhe sajt www.openoffice.ru i ego satellity (vklyuchaya http://docs.openoffice.ru). Osnovnoj mezhdunarodnyj resurs -- eto bazovyj sajt razrabotki www.openoffice.org).

OO.o voobshche i OpenCalc v chastnosti poka osveshcheny lish' v sravnitel'no nebol'shom kolichestve publikacij. Vnimaniya zasluzhivayut [6-8].

Lekciya 6. Stroka dlinoyu v zhizn'

Sushchestvuet shiroko rasprostranennoe zabluzhdenie, soglasno kotoromu graficheskij interfejs yakoby predstavlyaet soboj vysshuyu i poslednyuyu stadiyu razvitiya pol'zovatel'skih interfejsov, a (komandnaya stroka( -- eto nechto primitivnoe i malopoleznoe, esli ne ustarevshee.

Na samom dele, eta posledovatel'nost' otrazhaet ne chto inoe, kak poryadok, s kotorym s dvumya osnovnymi metaforami organizacii pol'zovatel'skih interfejsov poznakomilis' pol'zovateli personal'nyh komp'yuterov. Vplot' do nachala devyanostyh PK byli prostymi i malomoshchnymi, podderzhka grafiki i vozmozhnost' komfortnoj raboty s okonnymi graficheskimi sistemami poyavilas' na nih nedavno (dazhe v masshtabe stremitel'no razvivayushchejsya informacionno-tehnologicheskoj otrasli).

Odnako za gody do etogo graficheskie interfejsy uzhe shiroko primenyalis' na rabochih stanciyah -- konechno, bolee dorogom, redkom i specializirovannom oborudovanii. Esli byt' tochnymi, to obe koncepcii v ih bolee ili menee sovremennom vide sformirovalis' primerno v odno vremya.

V 1967-68 gg. Dug |ngel'bart predstavil prototip t.n. WIMP-interfejsa, t.e. interfejsa, ispol'zuyushchego ponyatiya okon (windows), piktogramm (icons), menyu (menus) i ukazatelej (pointers), yavlyayushchihsya klyuchevymi i dlya segodnyashnih graficheskih pol'zovatel'skih sred.

V 1968-69 gg. Ken Tomson i Dennis Richi predstavili pervyj reliz OS UNIX, po suti, yavivshejsya prototipom artikulirovannoj sistemy sovremennyh ponyatij prakticheskoj informatiki, takih, kak processy i fajly, i soderzhashchej neprotivorechivyj, logichnyj i lakonichnyj yazyk raboty s sootvetstvuyushchimi im sushchnostyami, kotoryj spustya poltora desyatka let stal standartnym pol'zovatel'skim interfejsom OS. (Rubezh shestidesyatyh i semidesyatyh -- uzhe -- proshlogo -- veka voobshche yavlyaetsya "osevym vremenem" informatiki i vychislitel'noj tehniki...).

Razumeetsya, kak odna, tak i vtoraya metaforicheskie sistemy poyavilis' ne na golom meste, i ih rodoslovnuyu mozhno prosledit' nazad vplot' do istokov vychislitel'noj tehniki: do kommunikacionnoj paneli pervyh komp'yuterov, kak veshchi tverdoj i ves'ma graficheskoj (ili, vo vsyakom sluchae, zhivopisnoj) -- eto konec sorokovyh, i do yazykov upravleniya zadaniyami v pervyh programmnyh planirovshchikah, zagruzchikah i OS -- eto seredina pyatidesyatyh, sootvetstvenno. Otmetim, chto ideya upravleniya komp'yuterom kak "priborom" -- s pomoshch'yu organov upravleniya (nevazhno, "v zheleze" ili narisovannyh na ekrane) starshe idei "dialoga" pri pomoshchi slov.

Pri etom, dlya bol'shinstva pol'zovatelej znakomstvo s "komandnoj strokoj" do nedavnego vremeni otyagoshchalos' radikal'nym uproshcheniem i izmeneniem, kotorym yazyk standartnoj obolochki OS byl podvergnut pri razrabotke OS dlya PK (takih, kak CP/M, MS-DOS (PC-DOS) i klonov poslednej). Ogranichivayas' znakomstvom so sredstvami MS-DOS i ee komandnyh fajlov, o metafore "komandnoj stroki" mozhno sostavit' lish' ves'ma prevratnoe i ubogoe predstavlenie.

6.1 Tekstofobiya

Dlya lyudej starorezhimnyh, nachinaya ot vozrasta avtora (emu 33) i starshe, komp'yuter udivitelen i strashen svoej unikal'noj sposobnost'yu k simvolicheskoj aktivnosti. My vyrosli v mire "glupyh" veshchej, passivnyh ili proyavlyayushchih svoyu aktivnost' chisto mehanicheski (kak avtomobil', kotoryj mozhet bystro dovezti, ili zhe razdavit', esli vovremya ne uvernesh'sya), i nesposobnyh k dialogu v bytovom okruzhenii. K dialogu sposobny byli veshchi kul'tury (kniga, kartina, simfoniya) -- no oposredovanno, v otdel'nyh, otvedennyh dlya etogo mestah, v naznachennoe vremya i pri tshchatel'nom otbore sobesednikov.

Vozmozhno, pirozhnoe i govorilo, po Kurtu Levinu, na svoem konditerskom yazyke "s®esh' menya", no nichego podobnogo prodemonstrirovannoj nam nedavno upakovke, govoryashchej "kupi menya" uzhe obychnym chelovecheskim golosom (prichem, s uchetom fizioantropometricheskih dannyh priblizivshegosya pokupatelya), ne bylo. Veshchi byli "glupymi", skol' by izoshchrennyj um svoih sozdatelej oni ne voploshchali, a umnymi byli tol'ko lyudi.

Avtor do sih por nahoditsya pod vliyaniem pervogo svoego opyta v desyatiletnem vozraste obshcheniya s komp'yuterom, chto-to emu otvetivshim v otvet na vvedennuyu stroku. Otvetivshim osmyslenno. (Podrobnostej on ne pomnit, no, skoree vsego, pervym otvetom bylo ukazanie na to, chto komanda soderzhit sintaksicheskuyu oshibku.) Slovo strashen vyshe -- ne sluchajno, no, v konce koncov, komp'yutery byli togda nadezhno zaperty v svoih vychislitel'nyh centrah.

Rol' kletki dlya etogo zverya dlya ochen' mnogih segodnya igraet gladkaya poverhnost' "graficheskih interfejsov", skryvayushchaya dialog. Komp'yuter, prikrytyj takim obrazom, uzhe ne demonstriruet pugayushchuyu simvolicheskuyu nagotu. On reagiruet na nazhatuyu knopku s kartinkoj -- mozhno uspokaivat' sebya, chto eto takaya hitraya mashinka: pylesos posle nazhatiya knopki soset, a komp'yuter -- pechataet, svyazano vse chisto mehanicheski, i nikakogo chelovechka, kotoryj s iznanki interfejsa posmotrel, kuda zhe ty nazhal i opredelil, chto zhe sdelat' s kartinkoj, net.

Na samom dele prizrak malen'kih chelovechkov est' -- za kulisami gladkoj razrisovannoj poverhnosti idet obmen takimi zhe -- mutatis mutandis -- soobshcheniyami, chto ozadachili avtora, kogda on byl malen'kim. Ot nyneshnih malen'kih ih hotyat popryatat', kak elektricheskij tok za izolyaciej. CHtoby ne stuknulo. No v shkafu kazhdogo komp'yutera, bud' on trizhdy personal'nyj, spryatan skelet iskustvennogo razuma, pri vsej uslovnosti poslednego vyrazheniya.

Sushchestvuet vliyatel'naya tendenciya v sovremennyh gumanitarnyh disciplinah, poluchivshaya rasprostranenie v osnovnom v angloyazychnom mire i svyazannaya s ostroumnymi teoriyami kanadskogo professora Marshala Mak-L'yuena, utverzhdavshego, chto pis'mennaya ("vizual'naya") kul'tura svyazana s gipertrofiej analiticheskih funkcij chelovecheskogo intellekta na opredelennyh stadiyah ego razvitiya, i chto ee smenyaet kul'tura "audial'naya", napravlennaya na sintez celogo putem rasseivaniya vnimaniya, i vozvrat k doindividualisticheskomu, obshchinnomu soznaniyu, ot polisa i urba -- k "global'noj derevne".

S etoj smenoj on svyazyval populyarnost' televiden'ya (i utratu populyarnosti chteniya kak dosuga) i "klip-kul'tury", a ego posledovateli ukazyvayut i na nesomnennyj rost v devyanostye populyarnosti "graficheskih pol'zovatel'skih interfejsov" komp'yuterov, prichem ne tol'ko v bytu, no i v delovom okruzhenii.

Mak-L'yuen, vprochem, v svoem "zondirovanii" (kak on imenoval svoe tvorchestvo, ves'ma posledovatel'no otkazyvayas' nazyvat' svoi pozdejshie proizvedeniya "tekstami") byl dostatochno ironichen, chto v gorazdo men'shej stepeni nablyudaetsya v tvorchestve ego posledovatelej.

Razumeetsya, kazhdyj imeet pravo, hotya ono osobo i ne ogovoreno v Konstitucii, na personal'nye fobii, i dazhe pravo postfaktum racionalizirovat' ih v teoriyah. Odnako my polagaem, chto nikomu ne dolzhno byt' pozvoleno translirovat' eti fobii drugim, tem menee -- podrastayushchemu pokoleniyu.

Komp'yutery (i novaya generaciya "umnyh" priborov, mashin i mehanizmov, vklyuchaya promyshlennye, kancelyarskie i bytovye) otlichayutsya ot vsego, sozdannogo chelovekom ranee sposobnost'yu neposredstvenno manipulirovat' simvolami, vosprinimat' simvoly i soobshchat' simvoly cheloveku, t.e., v nekotorom rode vesti s nim dialog.

Stoit li nazyvat' eto svojstvo komp'yuterov i programm "iskustvennym intellektom" -- otdel'nyj vopros, no sam fakt, po nashemu mneniyu, dolzhen zanyat' odno iz osnovnyh mest v soderzhanii uchebnogo predmeta informatiki. V etom smysle, nablyudaemaya tendenciya k vytesneniyu programmnogo instrumentariya, yavlyayushchego eto svojstvo v samoj metodicheski i didakticheski otkrovennoj forme, iz shkol'nyh kursov kazhetsya nam krajne nepriyatnoj i nuzhdayushchejsya v korrekcii.

My s entuziazmom otnosimsya k primeneniyu graficheskih interfejsov, kak v tradicionnoj sfere komp'yuternoj grafiki, tak i v novyh, perspektivnyh prilozheniyah. Kartinka chasto stoit sotni slov, a energichnyj zhest sposoben vyrazit' prostuyu mysl' bystro i odnoznachno.

Odnako mysl' o tom, chto piktogrammami i zhestami mozhno zamenit' polnocennyj yazyk, napominaet nam lish' odnu iz genial'nyh idej akademii nauk v Lagado, opisannoj Sviftom v "Tret'em puteshestvii Gullivera":

"A tak kak slova sut' tol'ko nazvaniya veshchej, to avtor proekta vyskazyvaet predlozhenie, chto dlya nas budet gorazdo udobnee nosit' pri sebe veshchi, neobhodimye dlya vyrazheniya nashih myslej i zhelanij".

Glyadya na vizual'no-dizajnerskoe proizvedenie ocherednogo ih posledovatelya, lish' udivlyaesh'sya: iz kakogo meshka on dostal znachok, vyrazhayushchij ideyu: "Vhod s zhuyushchimi morozhenoe nesovershennoletnimi leopardami v temnoe vremya sutok zapreshchen"? I pochemu on dumaet, chto etot znachok intuitivno ponyaten?

"Mne chasto sluchalos' videt' dvuh takih mudrecov, iznemogavshih pod tyazhest'yu noshi ... Pri vstreche na ulice oni snimali s plech meshki, otkryvali ih i, dostav ottuda neobhodimye veshchi, besedovali v techenie chasa".

V Ladago popytka mudrecov osushchestvit' masshtabnoe vnedrenie svoego izobreteniya zakonchilas' tem, chto:

"ZHenshchiny, vojdya v stachku s nevezhestvennoj chern'yu ... prigrozili podnyat' vosstanie, trebuya, chtoby yazyku ih byla predostavlena polnaya volya ... tak prostoj narod postoyanno okazyvaetsya neprimirimym vragom nauki!"

Grafik naglyaden, lish' poka cifry na nem mozhno razglyadet', a piktogrammy osmyslenny tol'ko pri vybore iz nemnogih variantov (dazhe sotnyu dorozhnyh znakov vyuchit' uzhe neprosto). Dlya artikulirovannogo i gibkogo vyrazheniya idej (daleko ne vse iz kotoryh mozhno narisovat') i ih svyazi chelovechestvo vyrabotalo takoj instrument, kak yazyki (estestvennye i formal'nye), i zameny im poka ne predviditsya.

6.2 Komandnaya obolochka: osnovnye ponyatiya

Opracionnaya sistema, kak "sreda obitaniya" fajlov i processov, sostoit iz yadra i obolochki s utilitami. YAdro pri normal'nom funkcionirovanii sistemy ostaetsya dlya pol'zovatelya "veshch'yu v sebe", kotoruyu neposredstvenno ne vidno i ne slyshno. V to zhe vremya, tol'ko yadro, imeya dostup k oborudovaniyu, sposobno operirovat' fajlami i processami, t.e. osushchestvlyat' "deyatel'nost'" s nekotorym ob®ektivnym rezul'tatom.

Pol'zovatelyu eta funkcional'nost' dostupna tol'ko oposredovanno, cherez osobuyu programmu, kotoraya "obshchaetsya" s nim posredstvom terminala i vpolne logichno nazyvaetsya "obolochkoj". Teoreticheski obolochka mogla by realizovat' zamknutyj yazyk dialoga (i rannie arhitektury OS nosyat sledy takih popytok), no v otkrytyh sistemah prinyata drugaya filosofiya -- razdeleniya, specializacii i minimizacii programm. Poetomu na praktike obolochka ispol'zuetsya vmeste s utilitami -- naborom samyh chasto upotreblyaemyh programm -- i lish' sintaksis i semantika obolochki vkupe s sintaksisom i semantikoj ispol'zuemyh utilit i obrazuyut polnocennyj formal'nyj yazyk dialoga pol'zovatelya s sistemoj. V iyune 1993 g. etot yazyk byl standartizovan Mezhdunarodnoj organizaciej standartizacii (dokument ISO/IEK IS 9945-2:1993), no izvesten on bol'she pod svoim "otraslevym" nazvaniem POSIX.2.

Sushchestvuet mnozhestvo realizacij standartnogo yazyka obolochki i utilit, voshodyashchih k sistemam Unix, BSD, proektu GNU i nekotorym drugim proektam. Naibolee populyarnoj na segodnya yavlyaetsya bash v sostave GNU Tools, razrabotannyh chastichno v Fonde svobodnogo programmnogo obespecheniya i chastichno pri ego podderzhke. GNU Tools yavlyayutsya, naryadu s yadrom Linux, osnovoj operacionnyh sistem na etom yadre, no dostupny i dlya drugih OS, vklyuchaya al'ternativnye arhitektury.

V tehnicheskom aspekte obolochka predstavlyaet soboj postrochnyj interpretator prostogo yazyka sentencional'nogo (direktivnogo) programmirovaniya, v kachestve operatorov kotorogo mogut ispol'zovat'sya utility, kak, vprochem, i lyubye drugie programmy, vklyuchaya, v chastnosti, napisannye samim pol'zovatelem, i, v eshche bol'shej chastnosti, napisannye na yazyke samoj obolochki, ibo, buduchi interpretatorom, ona mozhet chitat' komandy kak interaktivno (s terminala), tak i iz fajla.

6.3 Komandnaya obolochka kak instrument

Pol'zovanie obolochkoj ochen' prosto: v otvet na priglashenie ("podskazku"), vydavaemoe nahodyashchejsya v ozhidanii obolochkoj, pol'zovatel' vvodit komandu i, posle ee vypolneniya (vozmozhno, soprovozhdayushcheesya vyvodom na ekran nekotoroj informacii), obolochka snova vyvodit priglashenie i ozhidaet sleduyushchej komandy. I tak -- poka pol'zovatel' ne vvedet simvol konca fajla (ili komandu exit), posle chego seans raboty zakonchitsya. Podobnym obrazom (s nekotorymi nyuansami) obolochka interpretiruet i fajl "scenariya" (programmy) s zapisannymi v nem komandami (vozmozhno, s ispol'zovaniem upravlyayushchih konstrukcij; obshchuyu harakteristiku obolochki kak yazyka programmirovaniya sm. nizhe).

$ ls
!                     k7m-104.old                tmp.sh
EPIA_Manual_v1.0.pdf  k7m-104.pdf                wget-log
[0-11-9].jpg          words-to-avoid.ru.html.1   army_engl.txt
names                 words-to-avoid.ru.html.2   dengi.rar
opensource.mit.edu    www.computerra.ru          econ.pdf
ruspunk.swf           www.ctc.msiu.ru            firewalls.tar
school                tmp                        gosorgan.amursk.ru
tmp.1                 www.oreilly.com            j463_k7m.pdf
tmp.html
$_
Ris. 1


Prostejshij "obmen replikami" mezhdu obolochkoj i pol'zovatelem priveden na ris. 1 (zdes' i dalee vvodimyj pol'zovatelem tekst vydelen poluzhirnym shriftom, a nevidimye pri vvode simvoly -- kursivom. Vvedya komandu ls (ot LiSt -- vyvesti spisok fajlov v tekushchem kataloge), pol'zovatel' poluchil spisok fajlov, nahodyashchihsya v tekushchem kataloge.

$ ls -l
total 3707
drwxr-xr-x   2 maksim   None         4096 Oct 29  2001 !
-rw-r--r--   1 maksim   None        19743 Nov  5 00:08 EPIA_Manual_v1.0.pdf
-rw-r--r--   1 maksim   None           39 May 27  2002 [0-11-9].jpg
-rw-r--r--   1 maksim   None       666120 Nov 12  2001 army_engl.txt
-rw-r--r--   1 maksim   None        12402 Oct 11  2001 dengi.rar
-rw-r--r--   1 maksim   None       101873 Oct  8  2001 econ.pdf
-rw-r--r--   1 maksim   None      2129920 Aug 15  2001 firewalls.tar
drwxr-xr-x   2 maksim   None            0 Nov 10 08:48 gosorgan.amursk.ru
-rw-r--r--   1 maksim   None       768086 May  1  2002 j463_k7m.pdf
-rw-r--r--   1 maksim   None       340016 May  1  2002 k7m-104.old
-rw-r--r--   1 maksim   None      2543572 Dec  9  2001 k7m-104.pdf
-rw-r--r--   1 maksim   None           23 Nov 28 03:44 names
drwxr-xr-x   5 maksim   None         4096 Nov  7 07:08 opensource.mit.edu
-rw-r--r--   1 maksim   None       855480 Jun  7 17:01 ruspunk.swf
drwxr-xr-x   5 maksim   None            0 Oct 14  2001 school
-rw-r--r--   1 maksim   None        16000 Aug 25 02:24 tmp
-rw-r--r--   1 maksim   None          467 Oct 29  2001 tmp.1
-rw-r--r--   1 maksim   None        67888 Sep 26  2001 tmp.html
-rwxr-xr-x   1 maksim   None          198 Aug 23 04:48 tmp.sh
-rw-r--r--   1 maksim   None          835 Nov 27  2001 wget-log
-rw-r--r--   1 maksim   None        12698 Jun 16  2000 words-to-avoid.ru.html.1
-rw-r--r--   1 maksim   None        12698 Jun 16  2000 words-to-avoid.ru.html.2
drwxr-xr-x   6 maksim   None         4096 Sep 26  2001 www.computerra.ru
drwxr-xr-x   3 maksim   None            0 Oct  9  2001 www.ctc.msiu.ru
drwxr-xr-x  12 maksim   None         4096 Apr 26  2002 www.oreilly.com
$_

Ris. 2

Nachinayushchih pol'zovatelej (osobenno vospitannyh v subkul'ture PK) chasto udivlyaet takaya veshch': esli dat', naprimer, komandu ls, rezul'tat budet ves'ma lakonichnym, v to vremya, kak u nee est' klyuchi-modifikatory, pozvolyayushchie poluchit' ukazannyj spisok v vide, gorazdo bolee podhodyashchem dlya vospriyatiya chelovekom (sm. ris. 2). Pochemu zhe umolchaniem (variantom, primenyaemym v sluchae, esli klyuchi yavno ukazany ne byli) yavlyaetsya imenno lakonichnaya, "nekrasivaya", "neudobnaya" forma?

Prichina ochen' prosta: kak i lyubaya drugaya standartnaya utilita, ls gorazdo chashche ispol'zuetsya ne operatorom, a kakoj-nibud' drugoj programmoj, poetomu ee vyvod prisposoblen dlya naibolee udobnoj ego posleduyushchej obrabotki. Podacha komandy s klaviatury -- isklyuchenie, a ne pravilo, i dlya udobstva operatora predusmotren sootvetstvuyushchij klyuch. Esli pol'zovatelyu chasto nuzhno vyvodit' spisok fajlov na ekran, on zaprogrammiruet obolochku, opredeliv dlya sebya sinonim (naprimer, sinonimom konstrukcii ls -al --color=always | less, postranichno vyvodyashchej spisok fajlov so vsemi atributami i s vydeleniem tipov fajlov cvetami, mozhet byt' opredelena komanda lls).

Ponyat' etu prostuyu veshch' oznachaet ponyat' ves'ma ser'eznuyu chast' komp'yuternoj kul'tury. Universal'nye sistemy (naprimer, OS), v otlichie ot specializirovannyh (naprimer, mul'timedijnyh kioskov ili igrovyh pristavok) sozdayutsya ne dlya udobstva pol'zovaniya imi "iz korobki" abstraktnym "prostym pol'zovatelem", a dlya udobstva ih nastrojki (programmirovaniya) konkretnym pol'zovatelem pod ego konkretnye nuzhdy. |to ne udobstvo, a metaudobstvo, ne vstroennaya v steny komnaty mebel', a modul'nyj garnitur s instrukciej po sborke, ne "dlya vseh", a dlya kazhdogo. A "prostyh" pol'zovatelej ne byvaet, vse my slozhnye i raznye.

$ cat
Petya
Petya
YAna
YAna
Vasya
Vasya
Masha
Masha
^D
$_
$ cat >names
Petya
YAna
Vasya
Masha
^D
$ ls names
names
$ cat <names
Petya
YAna
Vasya
Masha
$_

Ris. 3

Ris. 4


Utility mogut ne tol'ko vyvodit' tekst, no i chitat' vvod. Prostejshij primer -- utilita konkatenacii cat, kotoraya, buduchi izdana bez argumentov, prosto postrochno kopiruet tekst (sm. ris. 3). Utilita, chitayushchaya chto-libo iz standartnogo vvoda i vyvodyashchaya chto-libo na standartnyj vyvod, nazyvaetsya fil'trom, fil'trami yavlyayutsya mnogie iz standartnyh POSIX-utilit.

Standartnyj vvod-vyvod -- eto dva fajla, kotorye po umolchaniyu svyazany s tekushchim terminalom. Moshchnejshim sredstvom obolochki yavlyaetsya perenapravlenie vvoda i vyvoda v proizvol'nyj fajl, zadayushcheesya sootvetstvenno znakami < i >, za kotorymi sleduyut imena fajlov. Na ris. 4. pokazano perenapravlenie vyvoda komandy cat v fajl names i perenapravlenie vvoda etoj komandy iz sozdannogo predydushchej komandoj fajla. Vazhno zametit', chto perenapravlenie standartnogo vvoda-vyvoda proizvoditsya imenno obolochkoj, "umeniya" raspoznavat' perenapravlenie kak svoi argumenty ot samoj utility (ili, k primeru, pol'zovatel'skoj programmy) ne trebuetsya.

Eshche odnim moshchnym sredstvom obolochki yavlyaetsya tak nazyvaemyj "konvejer" (ili "kanal") -- soedinenie vyvoda odnoj komandy s vvodom drugoj.

$ cat names names >names2
$ cat <names2
Vasya
Masha
Petya
YAna
Vasya
Masha
Petya
YAna
$ sort <names2
Vasya
Vasya
Masha
Masha
Petya
Petya
YAna
YAna
$ uniq <names2
Vasya
Masha
Petya
YAna
Vasya
Masha
Petya
YAna
$ sort <names2 | uniq
Vasya
Masha
Petya
YAna

Ris. 5

Na ris. 5 priveden razvernutyj primer. Komandoj cat names names >names2 my sozdaem fajl names2, soderzhashchij udvoennoe soderzhimoe ranee sozdannogo fajla names. Utilitoj sort ego mozhno otsortirovat' v alfavitnom poryadke, a pro utilitu uniq izvestno, chto ona udalyaet povtoryayushchiesya stroki. Odnako udalyaet ona tol'ko podryad idushchie stroki, poetomu, chtoby unikalizirovat' stroki v fajle, soderzhashchem ih v proizvol'nom poryadke, fajl nuzhno sperva otsortirovat'.

Nam uzhe izvestno, chto perenapravleniem vvoda-vyvoda mozhno sozdat' vremennyj fajl (eto vyglyadelo by tak: sort <names2 >temp ; uniq temp ; rm temp), odnako konvejer, zadavaemyj simvolom |, pozvolyaet "zamknut'" vyvod komandy sort na vvod uniq bez sozdaniya promezhutochnogo fajla, kotoryj potom nuzhno udalyat': sort <names2 | uniq temp. Cepochka komand, ob®edinyaemyh v konvejer, mozhet byt' proizvol'noj dliny.

I, nakonec, eshche odnim moshchnym sredstvom komandnoj obolochki yavlyaetsya podderzhka shablonov imen fajlov (usechennogo varianta tak nazyvaemyh "regulyarnyh vyrazhenij"). Esli my hotim udalit' iz kataloga, soderzhimoe kotorogo otobrazhalos' v primere na ris. 1, fajly words-to-avoid.ru.html.1 i words-to-avoid.ru.html.2, nam ne obyazatel'no peredavat' ih spisok komande rm; dostatochno opredelit' vyrazhenie, odnoznachno ih harakterizuyushchee, naprimer words-to-avoid*. Metasimvol * oznachaet lyuboe kolichestvo lyubyh simvolov; sushchestvyut i drugie metasimvoly. Rezul'tat vypolneniya etoj komandy v ukazannom kataloge v tochnosti ekvivalenten komande rm words-to-avoid.ru.html.1 words-to-avoid.ru.html.2, prichem "raskrytie" metasimvolov vypolnyaet, opyat' zhe, ne utilita, a sama obolochka.

6.4 Komandnaya obolochka kak yazyk programmirovaniya

V kachestve yazyka programmirovaniya standartnaya obolochka mozhet byt' oharakterizovana sleduyushchim obrazom:

Takim obrazom, yazyk obolochki horosho podhodit dlya togo, dlya chego on prednaznachen: napisaniya programm (scenariev) raboty s fajlami (nebezynteresno, chto znachitel'naya chast' samih otkrytyh OS napisana imenno na yazyke obolochki). On ne slishkom podhodit dlya resheniya algebraicheskih zadach, hotya otsutstvie vstroennogo mehanizma raboty s plavayushchej arifmetikoj mozhet byt' obojdeno primeneniem special'nyh utilit, naprimer, universal'nogo kal'kulyatora proizvol'noj tochnosti bc, i hraneniem znachenij veshchestvennyh chisel v strokovyh peremennyh. Podobnym zhe obrazom ispol'zovaniem vneshnih utilit mozhno pisat' na etom yazyke programmy s okonnym (kak psevdograficheskim, tak i graficheskim) interfejsom.

Sintaksis yazyka (v chastnosti, sintaksis vyrazhenij) ne otlichaetsya vneshnim izyashchestvom (hotya dlya znatoka scenarii mogut byt' ves'ma krasivymi i netrivial'nymi) i vryad li mozhet byt' rekomendovan7 v kachestve pervogo yazyka pri znakomstve s programmirovaniem. Otsutstvie tipizacii i nepodderzhka inyh, krome sentencional'noj, paradigm programmirovaniya, vo vsyakom sluchae, sluzhat veskim povodom k tomu, chtoby ne vvodit' ego v uchebnyj kurs v kachestve edinstvennogo.

V to zhe vremya, hotya by begloe znakomstvo s yazykom obolochki, pomimo ochevidnogo pragmaticheskogo znacheniya, didakticheski polezno. On vpolne prigoden dlya demonstracii takih vazhnyh ponyatij, kak prisvoenie znachenij, smysl i ispol'zovanie upravlyayushchih konstrukcij, podprogrammy (funkcii). Tehnicheski on prost v ispol'zovanii blagodarya nalichiyu interpretatora bash (mogushchego rabotat' v POSIX-rezhime, t.e. v strogom sootvetstvii so standartami) pod rukoj v lyuboj standartnoj OS (a takzhe nalichiyu portov togo zhe bas prakticheski dlya lyuboj al'ternativnoj platformy). On mozhet byt' edinstvennym sentencional'nym yazykom v obshcheobrazovatel'nom kurse informatiki.

6.5 Resursy

Metodicheskaya literatura, special'no orientirovannaya na shkol'nyj kurs i posvyashchennaya programmirovaniyu na yazyke obolochki, na russkom yazyke segodnya otsutstvuet, hotya sleduet otmetit', chto "klassicheskie" rukovodstva po Unix za tridcat' let razvitiya otrasli dostigli prakticheski kristal'noj prozrachnosti izlozheniya i legko mogut byt' adaptirovany dlya nuzhd kak uchitelej, tak i samih uchashchihsya. Po-russki nam izvestna edinstvennaya kniga [11], special'no posvyashchennaya programmirovaniyu na yazyke obolochki.

Interpretatory yazyka obolochki yavlyayutsya neot®emlemoj chast'yu otkrytyh sistem i vklyucheny v sostav lyubogo distributiva (tak zhe, kak i rukovodstva pol'zovatelya); luchshim iz nih my schitaem svobodnyj bash, razrabotannyj Fondom svobodnogo programmnogo obespecheniya. Dlya pol'zovatelej al'ternativnyh arhitektur (naprimer, Microsoft Windows) my rekomenduem takzhe bash, dostupnyj v sostave mnogochislennyh programmnyh paketov.

Dlya Microsoft Windows rekomenduetsya ustanovka paketa Cygwin, soderzhashchego utility GNU i nekotorye drugie programmy, pozvolyayushchie organizovat' standartnuyu rabochuyu sredu. Sleduet uchest', chto pri rabote v versiyah MS Windows, osnovannyh na MS-DOS (MS Windows 95/98/Me), u mnogih programm voznikayut slozhnosti iz-za otsutstviya v MS-DOS kontrolya za pravami dostupa k fajlam i katalogam (versii, osnovannye na NT -- MS Windows NT/00/XP, lisheny etogo nedostatka), a takzhe to, chto lokalizovannaya dlya russkoj sredy sborka Cygwin v nastoyashchee vremya ne postavlyaetsya. Dlya podderzhki kirillicheskih simvolov neobhodimo v kataloge pol'zovatelya sozdat' fajl s imenem .inputrc, soderzhashchij stroki:

set meta-flag on
set convert-meta off
set output-meta on

Al'ternativoj Cygwin (po ryadu prichin menee predpochtitel'noj) yavlyaetsya ispol'zovanie sistemy Interix UNIX Tools for Windows, takzhe soderzhashchej utility GNU, vklyuchaya bash (ee mozhno priobresti cherez Microsoft na diske libo skachat' s ih sajta).

Lekciya 7. Graficheskij interfejs pol'zovatelya

Do serediny devyanostyh sushchestvovali otdel'no komp'yuternaya grafika i otdel'no -- nastol'nye igry v komp'yuternuyu grafiku. Pomnyashchie istoriyu otechestvennoj shkol'noj informatizacii chitateli, vozmozhno, stalkivalis' s chudom tehniki pod nazvaniem "cifrovoj displej rastrovyj" (CDR), kotoroe udavalos' podklyuchit' k pervomu otechestvennomu personal'nomu komp'yuteru DVK, chtoby otobrazhat' na ekrane televizora neskol'ko tysyach pikselov v chetyreh cvetah. V to vremya v Laboratoriyah Komp'yuternoj Grafiki nekotoryh vuzov mozhno bylo vstretit' Graficheskie Rabochie Stancii s vektornymi ustrojstvami i X-terminalami, i dazhe plotterami.

Zakon Mura tem vremenem delal svoe (v dannom sluchae, ne chernoe, a mnogocvetnoe) delo, i k seredine devyanostyh na komp'yutere s processorom Intel 486 uzhe zapuskalas' ta samaya sistema, kotoruyu pyat'yu godami ran'she nablyudat' mozhno bylo lish' na X-terminalah i graficheskih stanciyah, stoivshih kakih-to nemyslimyh (chto po tem vremenam, chto segodnya) deneg.

Igry v samodel'nuyu grafiku, konechno, prodolzhayutsya i segodnya, no v celom mir vossoedinilsya, i osoboj nuzhdy v takih igrah davno net. Hotya -- takova dialektika massovyh rynkov -- imenno eti igry (vklyuchaya igry v bukval'nom smysle) porodili spros na deshevye ustrojstva (prezhde vsego, graficheskie akseleratory), kotorye i delayut nastoyashchuyu komp'yuternuyu grafiku dostupnoj pol'zovatelyu massovoj x86- i PowerPC-tehniki, dazhe ustarevshie "personalki" -- sopostavimymi s X-terminalami, a bolee novye i moshchnye -- sopernikami i s professional'nyh graficheskih rabochih stancij nachal'nogo i srednego urovnya.

7.1 X Window System i Xfree86

X Window System -- odin iz samyh bol'shih i uspeshnyh proektov v istorii komp'yuternoj tehniki -- voshodit k 1984 g., kogda razrabotchiki dvuh sistem komp'yuternoj grafiki, pretenduyushchih na universal'nost' -- proektov Athena (Massachussetskij tehnologicheskij institut) i W Windowing (Stenfordskij universitet) -- reshili ob®edinit' svoi usiliya. S teh por prakticheski kazhdaya kompaniya, ser'ezno zanimayushchayasya grafikoj, poschitala svoim dolgom vnesti kakie-libo razrabotki v sistemu, formal'nym "hozyainom" kotoroj v 1987 g. stal vnov' sozdannyj X Consortium (nyne X Open Group, www.X.org).

S teh por X proshel cherez odinnadcat' osnovnyh relizov i mnozhestvo versij.

Dal'nejshee izlozhenie orientirovano na svobodnuyu realizaciyu X, kotoraya nazyvaetsya XFree86, podderzhivaetsya odnoimennym partnerstvom (www.xfree86.org) i voploshchaet na segodnya versiyu 4.2 tekushchego reliza. XFree86 -- samaya populyarnaya realizaciya X, ona postavlyaetsya v sostave podavlyayushchego bol'shinstva otkrytyh sistem (kak svobodnyh, tak i nesvobodnyh) dlya x86-sovmestimyh komp'yuterov, podderzhivaet besprecedentno shirokij spektr oborudovaniya i, blagodarya dostupnosti ishodnyh tekstov i pol'zovatel'skoj auditorii v desyatki millionov chelovek, dostatochno "vylizana", po krajnej mere, naskol'ko eto vozmozhno dlya takogo raznoobraziya "zheleza". Nesmotrya na to, chto istoricheski cifry "86" v nazvanii paketa otnosyatsya k sootvetstvuyushchemu semejstvu processorov ot Intel, sovremennye versii XFree86 realizovany dlya bol'shinstva drugih populyarnyh processorov. XFree86 dostupen i dlya nekotoryh al'ternativnyh arhitektur OS, vklyuchaya Microsoft Windows NT.

Bol'shinstvo nizheskazannogo spravedlivo dlya lyuboj realizacii X na lyubom oborudovanii i pod lyuboj OS, spisok kotoryh mozhno najti na www.X.org.

7.2 Cvetnoj sendvich

To, chto pol'zovatelyu, sidyashchemu za monitorom, predstavlyaetsya sploshnoj graficheskoj operacionnoj sredoj, realizovano kak mnogoslojnyj sendvich tehnologij.

Neposredstvenno s oborudovaniem (videosistemoj, ustrojstvami vvoda i dinamikom) rabotaet X-server. |ta programma zahvatyvaet oborudovanie i predostavlyaet ego vozmozhnosti drugim programmam kak resursy (sobstvenno, imenno poetomu ona i nazyvaetsya serverom) po osobomu protokolu, kotoryj tak i nazyvaetsya, X-protokol. Perechislennoe oborudovanie v sovokupnosti nazyvaetsya X-terminalom (apparatnym X-terminalom nazyvaetsya i specializirovannyj komp'yuter, na kotorom ispolnyaetsya isklyuchitel'no X-server).

Zdes' srazu vidno otlichie X Windows System ot bol'shinstva samodel'nyh sistem grafiki, ispol'zuemyh v proprietarnyh sistemah: vzaimodejstvie X-servera s ego mnogochislennoj klienturoj proishodit po specificirovannomu protokolu, kotoryj mozhet tunnelirovat'sya cherez TCP/IP i, sootvetstvenno, klienty i server mogut ispolnyat'sya na raznyh uzlah Seti. |to oznachaet, chto odni i te zhe programmy mogut ekspluatirovat'sya v raznyh topologiyah, vklyuchaya sovokupnost' avtonomnyh rabochih stancij ("personal'nyh komp'yuterov"), sovokupnost' rabochih stancij bez dannyh ili bezdiskovyh rabochih stancij ("lokal'naya set'"), mnogopol'zovatel'skuyu sistemu s X-terminalami (ili kakuyu-libo gibridnuyu topologiyu).

Eshche odnim resursom, kotoryj predostavlyaet X-server, yavlyayutsya shrifty. Operirovat' shriftami on mozhet samostoyatel'no, libo s pomoshch'yu drugoj programmy, kotoraya nazyvaetsya server shriftov X i obespechivaet ih masshtabirovanie.

Bol'shinstvo pol'zovatelej, ustanoviv sistemu, poluchayut v svoe rasporyazhenie gotovuyu graficheskuyu sredu. My postupim inache -- budem razbirat'sya s nej po sloyam.

7.3 "CHistyj" X

Na Ris. 1 izobrazhena "golaya" sistema X Window -- to, s chem bol'shinstvo pol'zovatelej nikogda ne stalkivaetsya. Zapustit' ee obychno mozhno tak: X.


My vidim tradicionnyj seryj ekran s ne menee tradicionnym kursorom v vide bukvy X. Ispol'zuya mysh' ili drugoe koordinatnoe ustrojstvo, kursor mozhno peremeshchat' po ekranu. Na nazhatie knopok myshi i klavish nikakoj vidimoj reakcii ne sleduet. I nevidimoj tozhe -- server gotov peredavat' eti signaly svoim klientam, a klienty poka ne zapushcheny. Hotya na samom dele nekotorye kombinacii klavish X perehvatyvaet i obrabatyvaet. |to Zap (Control-Alt-Backspace) -- zavershenie raboty servera (esli eta vozmozhnost' ne zapreshchena pri konfiguracii), Zoom (Control-Alt-+/-) -- "goryachee" pereklyuchenie dostupnyh videorezhimov. V nekotoryh OS (Naprimer, GNU/Linux) Control-Alt v sochetanii s funkcional'noj klavishej osvobozhdaet oborudovanie i peredaet ego na vremya sootvetstvuyushchej virtual'noj konsoli.

Vospol'zuemsya poslednej vozmozhnost'yu, perejdem na konsol' i zapustim pervoe klientskoe prilozhenie: programmu xterm (Ris. 2). Na ekrane X obrel poyavilos' okno, a v okne mozhno videt' interfejs klientskogo prilozheniya. V dannom sluchae interfejs tekstovyj, a prilozhenie -- emulyator terminala, na kotorom zapushchena dialogovaya obolochka sistemy po umolchaniyu. S emulyatorom mozhno delat' vse to zhe, chto i s obychnym terminalom: izdavat' komandy, poluchat' rezul'tat i zapuskat' drugie programmy. Esli programmy tekstovye (strochnye ili okonnye), ispolnyat'sya oni budut v tom zhe okne, a esli graficheskie (kak i sam xterm) -- v otdel'nyh oknah.

Zapustim programmu xclock (Ris. 3). Pri ee zapuske my ispol'zovali neskol'ko parametrov, zadayushchih geometriyu (mestopolozhenie i razmer) vnov' porozhdaemogo okna, cvet ego fona i shrifta po umolchaniyu, tolshchinu i cvet ramki. |ti (i nekotorye drugie) parametry tipichny dlya programm, postroennyh na osnove graficheskoj biblioteki X Toolkit. Znacheniya parametrov, zadannye pri vyzove programmy, mogut byt' perekryty samim zapuskayushchimsya prilozheniem, krome opcii geometrii. Delo v tom, chto okno vydelyaetsya klientskomu prilozheniyu pri zapuske, i vse dostupnye emu resursy etim oknom i ogranicheny -- eto svojstvo X-protokola.

Zapustiv neskol'ko ekzemplyarov togo zhe xterm (i pochitav dokumentaciyu) mozhno obnaruzhit', chto i "golyshom" X umeet ne tak malo. Naprimer, operiruet buferom obmena tekstom mezhdu prilozheniyami i predostavlyaet tekstovym prilozheniyam takoj resurs, kak polosu prokrutki (zabavnaya poloska, skrollirovat' tekst s pomoshch'yu kotoroj vverh ili vniz mozhno, shchelkaya po nej raznymi knopkami myshi, -- eto nasledie proekta Athena).

Est' li pol'za ot sistemy, rabotayushchej s fiksirovannymi oknami? Da, esli vspomnit', chto "universal'nyj desktop" -- ne edinstvennaya sfera primeneniya komp'yutera. Mozhno zapustit' pri zagruzke X i brauzer na ves' ekran i poluchit' gipermedijnyj kiosk po cene PC. A mozhno posadit' za tot zhe brauzer operatora, kotoryj budet cherez nego ves' den' "rulit'" bazu dannyh.

No my pojdem dal'she. Itak, osnovnaya rabota X-servera -- sozdavat' okna i predostavlyat' klientskim prilozheniyam vozmozhnosti raboty v nih. Dlya togo, chtoby rabotat' s oknami, nuzhna drugaya programma, kotoraya tak i nazyvaetsya -- menedzher okon (window manager).

7.4 Oknovody

Kak zhe menedzher okon preodolevaet ukazannoe ogranichenie X-protokola? Nikak -- prosto vydelennym emu oknom yavlyaetsya ves' ekran. (Na samom dele, menedzher okon -- ne edinstvennaya programma, sposobnaya rabotat' s "kornevym" oknom; naprimer, vhodyashchaya v komplekt postavki xsetroot pozvolyaet ustanovit' cvet fona ili pomestit' na nego risunok.)

Menedzherov okon sushchestvuet prevelikoe mnozhestvo -- pod lyuboj nabor zadach, kotorye mozhet reshat' graficheskaya mnogookonnaya sistema. Ih nastol'ko mnogo, chto vybrat' kakoj-nibud' v kachestve "tipichnogo predstavitelya semejstva" zatrudnitel'no. Poetomu vyberem odin iz samyh razvityh -- Enlightenment.

"Prosveshchenie" (www.Enlightenment.org) sozdano Karstenom Hajclerom i Dzheffom Harrisonom (Carsten Haitzler, Geoff Harrison) i ego tekushchaya versiya -- 0.16.5. Do 2000 g. on byl "shtatnym" menedzherom okon v populyarnoj srede GNOME (ej budet posvyashchena otdel'naya "lekciya"), zatem ustupiv eto mesto menee funkcional'noj, no bolee bystroj "Rybe-pile" (Sawfish). On prodolzhaet ostavat'sya GNOME-sovmestimym, i mnogie pol'zovateli etogo populyarnogo desktop-menedzhera predpochitayut ego, hotya i bez GNOME u Enlightenment poklonnikov hvataet.


Zapustim "Prosveshchenie" (Ris. 4). Kak rezko izmenilas' kartina!

Pervoe, chto my vidim -- eto poyavivshiesya vokrug okna nashego xterm "vidzhety" (elementy okon) -- stroka zagolovka s knopkami i ramka. Okno teper' mozhno peremeshchat' po ekranu, "uhvativ" za zagolovok, masshtabirovat', "vzyav" za bok ili za ugol, maksimizirovat', minimizirovat' ili zakryt', nazhav sootvetstvuyushchuyu knopku. Sprashivaetsya, chto eshche mozhno delat' s oknom?

Vopros ne prazdnyj. Nazhav na levuyu knopku v zagolovke, poluchaem neozhidanno raznoobraznoe menyu (menyu -- eto tozhe "vidzhet") takih dejstvij (Ris. 5). Okazyvaetsya, ego mozhno eshche unichtozhit' (Annihilate), podnyat'/opustit' (Raise/Lower), ottenit'/rastenit' (Shade/Unshade) prikleit'/otkleit' (Stick/Unstick) i vypolnit' eshche massu dejstvij, dlya kotoryh potrebovalis' otdel'nye menyu! Nabor etih dejstvij zavisit ot konkretnogo menedzhera okon (i Enlightenment -- odin iz samyh bogatyh vozmozhnostyami), a to, kakie iz nih vyvedeny v stroku zagolovka otdel'nymi knopkami -- voobshche ot ego nastrojki.

Sobstvenno, upravlenie oknami -- osnovnaya funkciya okonnogo menedzhera, i na etom ego funkcional'nost' mozhet i zakanchivat'sya. Odnako bol'shinstvo iz nih vypolnyayut po krajnej mere eshche odnu funkciyu.

Vy uzhe obratili vnimanie na to, chto pri zapuske "Prosveshcheniya" na ekrane poyavilos' eshche odno okno. |to tak nazyvaemyj pejdzher (pager), na Ris. 6 on izobrazhen krupnym planom. Na pejdzhere predstavlena miniatyurnaya kopiya ekrana, obnovlyayushchayasya v rezhime real'nogo vremeni, prichem, esli podvesti kursor k izobrazheniyu otdel'nogo okna, ono uvelichivaetsya i ryadom vysvechivaetsya nazvanie prilozheniya, zapushchennogo v nem. No pochemu ekran zanimaet tol'ko chetvert' okna pejdzhera? Potomu chto okonnyj menedzher pozvolyaet operirovat' "virtual'nym stolom, po razmeru prevyshayushchim fizicheskij ekran, a pejdzher -- odno iz sredstv peremeshcheniya fizicheskogo ekrana po rabochemu stolu. Enlightenment pozvolyaet sozdavat' do 64 ekranov na rabochem stole.

Eshche odin vazhnyj komponent Enlightenment my ne uvideli srazu: eto menyu nastrojki samogo menedzhera, kotoroe mozhno "dostat'", shchelknuv pravoj knopkoj myshi na fone ekrana (Ris. 7). Poryvshis' v nastrojkah, mozhno obnaruzhit', chto vysheskazannoe o sposobah operirovaniya s etim menedzherom ves'ma uslovno, potomu chto pomenyat' mozhno bukval'no vse, ot dekora vidzhetov do kolichestva i funkcij elementov oformleniya okon i ih reakcii na razlichnye dejstviya.

Lish' odin primer: skol'ko sposobov vizualizirovat' peremeshchenie okna vy znaete? Razrabotchiki "Prosveshcheniya" pridumali celyh shest', vklyuchaya fantasticheskij "poluprozrachnyj". Nastrojki i rasshireniya Enlightenment mozhno ob®edinyat' v "temy" (themes) i obmenivat'sya imi.

Sobstvenno, na etom funkcii okonnogo menedzhera kak takovogo i zakanchivayutsya, a dal'she Enlightenment vtorgaetsya vo vladeniya drugogo klassa programm -- menedzherov rabochego stola...

7.5 Stolonachal'niki

...CHto demonstriruet otsutstvie rezkoj granicy mezhdu nimi. Sushchestvuet dva podhoda k tomu, chtoby dostroit' okonnuyu sistemu do polnofunkcional'noj sredy. Pervyj -- dobavit' v "graficheskij sendvich" eshche odin sloj -- menedzher rabochego stola -- rabotayushchij "poverh" okonnogo menedzhera i ispol'zuyushchij funkcional'nost' poslednego. |tim putem idut komandy razrabotchikov GNOME i KDE, kotorym posvyashcheny otdel'nye "lekcii".

Drugoj put' -- "dotyanut'" do polnofunkcional'noj sredy funkcional'nost' samogo okonnogo menedzhera, i im idet Enlightenment i ryad drugih proektov.

CHto nam ne hvataet do polnofunkcional'noj sredy? Menedzhera programm, utilit i prilozhenij. Tak vot, v "Prosveshchenii" est' i takaya funkcional'nost', dostupnaya (po umolchaniyu) po shchelchku na fone levoj knopkoj.

Kommentirovat' zdes' osobo nechego: punkty menyu pozvolyayut zapustit' mnozhestvo razlichnyh prilozhenij, prichem, krome nezavisimo razrabotannyh, i celuyu pachku "eppletov", postavlyaemyh vmeste s Enlightenment. Al'ternativnyj sposob zapuska -- cherez "panel'" -- vstroen v nekotorye temy "Prosveshcheniya".

Otkuda berutsya takie resursy, kak "vidzhety" s ih dekorom i sposobom povedeniya? Konechno, menedzher okon mozhet soderzhat' ih v sebe. No takoj podhod ne ochen' harakteren dlya otkrytyh sistem, odnim iz principov razrabotki kotoryh yavlyaetsya komponentnost'. Bol'shinstvo razvityh okonnyh menedzherov, menedzherov rabochego stola i "zatochennyh" pod nih prilozhenij mozhno sgruppirovat' po bibliotekam (toolkits), s oporoj na kotorye oni razrabotany.

7.6 Triumf interfejsa nad pol'zovatelem?

Kosmeticheskih uluchshenij za tridcat' let sushchestvovaniya paradigmy WIMP byla pridumana massa, a vot bolee ili menee ser'eznyh, pri vnimatel'nom analize, obnaruzhivaetsya tol'ko dva: integraciya zvuka (i prevrashchenie graficheskoj (vizual'noj) sredy v sensual'nuyu) i nachalo ekspluatacii koncepcii giperssylok, v terminah kotoryh mozhno pereformulirovat' pochti ves' interfejs.

Frederik Bruks eshche v 1995 g., obsuzhdaya osnovnye processy, proizoshedshie v programmnoj otrasli za 20 predshestvovavshih let, nazval v chisle "naibolee vpechatlyayushchih yavlenij" "triumf interfejsa WIMP" [17, ss. 239-243]. V etom stavshem klassicheskim chetyrehstranichnom analize (vsem, interesuyushchimsya temoj, krajne rekomenduetsya prochitat' eti chetyre stranicy. A zaodno -- i vsyu knigu Bruksa). Bruks:

Proshlo eshche pyat' let, i my mozhem otmetit', chto:

"Sploshnoj" zhe WIMP-sredy i vovse net nigde, krome vstroennyh/specializirovannyh sistem: v lyubom okruzhenii, pretenduyushchem dazhe ne na universal'nost', a prosto na shirokuyu sferu primeneniya, elementy WIMP sochetayutsya s elementami drugoj interfejsnoj modeli -- komandno-strochnoj -- inogda bolee organichno (OFM, AppleScript i t.p.), a chashche eklektichno, protivorechivo i s fatal'nym dlya proizvoditel'nosti ishodom (fragmenty "rvanoj" komandnoj stroki v "dialogovyh oknah", raznoobraznye Wizards i "okna ustanovki predpochtenij").

Esli perechitat' tekst doklada, v kotorom idei WIMP vpervye byli predstavleny shirokoj publike [16], stanet ponyatno, pochemu: model' WIMP predlagalas' kak sredstvo neposredstvennogo manipulirovaniya konkretnymi ob®ektami ("vzyat' eto i polozhit' tuda", "izmenit' takoe-to svojstvo togo-to ob®ekta", a ne kak sredstvo formulirovaniya abstraktnyh polozhenij i komand ("vse li fajly, lezhashchie v kataloge X, imeyut format Y?", "udalit' vse fajly, sozdannye do 01.01.2000 v kotoryh upominaetsya Boris El'cin" i t.p.). Sootvetstvenno, sdelat' WIMP-rabochee mesto dlya vypolneniya tehnicheskih procedur, "rabskogo", nekvalificirovannogo truda mozhno, a vot sistemu podderzhki polnocennoj svobodnoj praktiki -- zatrudnitel'no.

7.7 Ot kakogo nasledstva nam ne stoit otkazyvat'sya?

Viktor Vagner [18] protivopostavlyaet "ryhlosti" modeli WIMP, pust' i celostnoj metaforicheski, konceptual'nuyu celostnost' komandno-strochnogo interfejsa (sm. takzhe nashu predydushchuyu "lekciyu"), osnovyvayushchuyusya na chetyreh principah:

Po Vagneru, po-nastoyashchemu uspeshnym graficheskim interfejsom (true UNIX GUI) budet interfejs, predlagayushchij ne menee celostnuyu i posledovatel'no realizovannuyu konceptual'nuyu osnovu. Prichem, predlagayushchij ne tol'ko i ne stol'ko konechnomu pol'zovatelyu, skol'ko razrabotchiku, t.e. realizovannyj nachinaya s sistemy bystroj razrabotki (RAD). V upomyanutoj stat'e Vagner rassmatrivaet neskol'ko kandidatov na rol' universal'noj formy predstavleniya informacii v graficheskoj srede i rassuzhdaet o tom, kakie principy mogli by stat' analogami drugim "kitam", na kotoryh pokoitsya komandno-strochnyj interfejs.

Na samom dele, sushchestvuet celyj ryad sistem, v toj ili inoj stepeni zakladyvayushchih osnovu "interfejsov sleduyushchego pokoleniya". K sozhaleniyu, ni odnu iz nih nel'zya nazvat' na segodnya massovoj, krome, vozmozhno, yazyka opisaniya interfejsa XUL, ispol'zovannogo v Mozilla (www.mozilla.org) i, sootvetstvenno, v Netscape 6 (www.netscape.com), no i dlya XUL poka net RAD. No eto uzhe sovsem drugaya tema (sm. "Lekciyu" 10).

Lekciya 8. GIP II: "Legkie" graficheskie sredy

V to vremya, kak sama graficheskaya platforma X Window System mnogo let yavlyaetsya fakticheskim otraslevym standartom, lezhashchie "nad" neyu sloi graficheskoj sredy ne standartizovany.

Kakuyu-libo klassifikaciyu graficheskih sred dat' zatrudnitel'no, odnako samym grubym obrazom ih mozhno razdelit' na "integrirovannye" i "legkie".

8.1 Zachem nuzhny "legkie" sredy?

Oborotnoj storonoj integrirovannosti yavlyaetsya dostatochno vysokaya ih trebovatel'nost' k resursam. Komfortnaya rabota s KDE ili GNOME "svezhego razliva" nachinaetsya primerno ot proizvoditel'nosti, ekvivalentnoj proizvoditel'nosti 800 MGc processora Celeron, otkaz ot nekotoryh resursoemkih svojstv (animaciya izmenenij v srede i t.p.) pozvolyaet "snizit' planku" primerno do 500 MGc pri ob®eme operativnoj pamyati ot 128 MB. Razumeetsya, eti cifry dazhe nizhe harakternyh dlya komp'yuterov "startovogo urovnya", postavlyaemyh segodnya proizvoditelyami, odnako park mashin, nahodyashchihsya v eksplutacii, kak v ofisah, tak doma i v shkole, vklyuchaet i komp'yutery s bolee nizkimi harakteristikami.

Tak, v shkole ves'ma zhelatel'no predostavit' vozmozhnost' raboty v graficheskoj srede na menee moshchnyh mashinah. Zdes' pomogut "legkie" graficheskie sredy, predstavlyayushchie soboj okonnye menedzhery s neskol'ko rasshirennymi vozmozhnostyami (bazovaya i rasshirennaya funkcional'nost' tipichnyh okonnyh ienedzherov opisana nizhe).

Obsuzhdaemye segodnya IceWB, BlackBox i fluxBox (a takzhe chut' bolee trebovatel'nyj k resursam WindowMaker)8 pozvolyayut dostatochno komfortno rabotat' s grafikoj na mashinah proizvoditel'nost'yu (v ekvivalente Intel Pentium) primerno ot 100 MGc i s pamyat'yu ot 32M (tekst odnoj iz predydushchih "lekcij" nabiralsya v poezde, s odnovremennoj "s®emkoj" izobrazhenij s ego ekrana graficheskim redaktorom GIMP (sm. "lekciyu" 3) na noutbuke s processorom Intel Pentium MMX 166 i OZU ob®emom 64MB).

Sleduet ogovorit'sya, chto otkaz ot integrirovannyh graficheskih sred ne yavlyaetsya "volshebnoj palochkoj": konkretnye prikladnye programmy mogut byt' sami po sebe dostatochno trebovatel'nymi k resursam. Tak, na upomyanutom noutbuke zapusk word-processora OpenWriter, obsuzhdavshegosya v pervoj "lekcii", zanimaet bolee minuty (hotya dal'nejshaya rabota ne sopryazhena s sushchestvennymi zaderzhkami). Krome togo, esli prikladnaya programma iznachal'no sozdana v orientacii na opredelennuyu integrirovannuyu sredu, ona mozhet intensivno ispol'zovat' sootvetstvuyushchie biblioteki, dazhe esli zapuskaetsya v "legkoj" srede. Naprimer, zapusk programm iz paketa KOffice, kotoryj budet obsuzhdat'sya v odnoj iz sleduyushchih lekcij, v "legkoj" srede, na samom dele, daet nebol'shoj vyigrysh po sravneniyu s ego zapuskom iz "rodnoj" dlya nego sredy KDE.

(Esli neobhodimo zadejstvovat' imeyushchijsya park "slaboj" tehniki dlya takih zadach, a takzhe, esli neobhodimo sohranyat' v ekspluatacii eshche menee proizvoditel'nye mashiny (naprimer, starshie modeli IBM PC-sovmestimyh komp'yuterov na baze processorov Intel 486 ili AMD 586 ili "Makintoshi" na processorah Motorola 68K), sleduet podumat' ob ispol'zovanii takoj tehniki v rezhime graficheskih terminalov ili, po krajnej mere, variante zapuska naibolee "tyazhelyh" prikladnyh programm na servere. Ob etom u nas budet vozmozhnost' pogovorit' v "lekcii", posvyashchennoj oborudovaniyu pod svobodno-programmnye resheniya.)

Sleduet ogovorit' takzhe, chto ogranichennost' apparatnyh resursov ispol'zuemogo oborudovaniya ne yavlyaetsya edinstvennym motivom ispol'zovaniya "legkih" graficheskih sred. Kazhdaya graficheskaya sreda, integrirovannaya ili legkaya, obladaet sobstvennymi unikal'nymi osobennostyami, sobstvennym stilem, i umestnost' pol'zovaniya konkretnoj sredoj v znachitel'noj stepeni zavisit ot nabora zadach, reshaemyh na komp'yutere konkretnym pol'zovatelyam, i ot ego lichnyh predpochtenij.

8.2 Bazovaya funkcional'nost' okonnogo menedzhera

Kak govorilos' v proshloj "lekcii", klyuchevoj komponent graficheskoj platformy -- X Window Server:

V "goloj" srede, obrazuemoj X Window Server bez okonnogo menedzhera, okno, vydelyaemoe klientu, yavlyaetsya fiksirovannym: ego geometriya (mestopolozhenie na ekrane i razmer) zadaetsya pri zapuske klienta i sohranyaetsya v techenie vsego seansa raboty s etim klientom. |to vpolne sootvetstvuet celi sozdaniya specializirovannyh sistem s graficheskim interfejsom pol'zovatelya (takih, kak mul'timedijnye kiooski i t.p.), no sovershenno nedostatochno dlya universal'nogo "nastol'nogo" primeneniya.

Pri universal'nom primenenii komp'yutera harakterna poocherednaya rabota s razlichnymi programmami (inogda dostatochno bol'shim ih kolichestvom), prichem pol'zovatel' mozhet otryvat'sya, dopustim, ot redaktirovaniya teksta, chtoby porabotat' drugoj programmoj s illyustraciej, prochitat' pochtu ili zaglyanut' na WWW-stranicu, zatem vozvrashchat'sya k redaktirovaniyu teksta i t.d. Graficheskaya operacionnaya sreda dolzhna byt' dostatochno gibkoj, chtoby dopuskat' i podderzhivat' takoj, "sub®ektno-orientirovannyj", a ne orientirovannyj na strogo posledovatel'noe vypolnenie predzadannyh procedur, stil' raboty.

V chastnosti, dolzhno podderzhivat'sya upravlenie (s pomoshch'yu klaviatury ili "myshi") oknami, t.e. vozmozhnost' izmenyat' "na letu" ih geometriyu (polozhenie i razmery), a takzhe (obychno ne otnosimoe k geometrii) polozhenie v voobrazhaemoj "stopke" okon, t.e. opredelenie togo, kakoe iz okon budet "verhnim" (vidimym polnost'yu), esli okna perekryvayut drug druga na ploskosti ekrana.

Upravlenie oknami i sostavlyaet bazovuyu funkcional'nost' okonnogo menedzhera (ustoyavshijsya termin window manager, otnosyashchijsya k etomu klassu programm, budet peredavat'sya dalee slovosochetaniem-kal'koj "okonnyj menedzher", kotoroe, vprochem, ne predstavlyaetsya osobenno udachnym, tak zhe, kak i vstrechayushchiesya v literature "menedzher okon" i "administrator okon").

Tehnicheski ogranichenie na izmenenie geometrii raz vydelennogo okna preodolevaetsya okonnym menedzherom za schet togo, chto emu v kachestve okna vydelyaetsya ves' ekran.

Prikladnym programmam, takim obrazom, vydelyayutsya dalee uzhe ne okna sobstvenno X, a okna okonnogo menedzhera. Dlya nih eto sovershenno prozrachno, hotya zhelatel'no, chtoby programma byla dostatochno "soobrazitel'noj", chtoby izmenit' svoe povedenie pri izmenenii razmerov vydelennogo ej okna "na letu" (izmenenie polozheniya okna v podavlyayushchem bol'shinstve sluchaev nichego ot klienta ne trebuyut), eto spravedlivo dlya bol'shinstva, no ne dlya vseh programm (v chastnosti, etogo ne "umeyut" mnogie starye programmy i nekotorye komp'yuternye igry).

V svoyu ochered', i okonnyj menedzher mozhet byt' dostatochno "umen", chtoby ponyat', chto programma ne reagiruet na izmenenie geometrii, i zablokirovat' vozmozhnost' izmeneniya razmerov okna pol'zovatelem (chtoby on ne okazalsya v situacii, kogda emu vidna lish' chast' oblasti vyvoda programmy ili naoborot, chast' okna prikladnoj programmy pusta). Odnako takoe reshenie mozhet privesti k ves'ma diskomfortnym situaciyam (naprimer, esli pri zapuske programmy ee okno okazyvaetsya bol'she ekrana)9.


8.3 "Vidzhety"

Bazovaya (a takzhe rasshirennaya) funkcional'nost' okonnyh menedzherov dostupna pol'zovatelyu prezhde vsego za schet vvedeniya v interfejs tak nazyvaemyh "vidzhetov" (widgets = window gadgets, "okonnye prisposobleniya") -- takih vizual'nyh elementov, kak ramki, knopki, menyu i pr., kotorye sluzhat "organami upravleniya" okna. Tehnicheski vidzhety predstavlyayut soboj otdel'nye okna (v terminah X Window System), primykayushchie k oknu prikladnoj programmy i, kak pravilo, peremeshchayushchiesya vmeste s nim.

V pol'zovatel'skoj perspektive vidzhety, sostavlyayushchie obramlenie okna, chasto vosprinimayutsya kak ego chast'. Odnako ne sleduet zabyvat', chto vnutri okna (soderzhimym kotorogo upravlyaet prikladnaya programma) zachastuyu tozhe est' svoi vidzhety: knopki, polosy prokrutki, pereklyuchateli, menyu i t.p. V obshchem sluchae, ispol'zuemye okonnym menedzherom i prikladnoj programmoj biblioteki vidzhetov mogut i ne sovpadat'.

(Zachastuyu pri proektirovanii vydvigaetsya trebovanie edinstva stilya organov upravleniya i soglasovannogo upravleniya izmeneniem etogo stilya (naprimer, dlya nastrojki sredy dlya pol'zovatelya s ogranichennymi vozmozhnostyami: so slabym zreniem, narusheniem motoriki i t.p.), i v etom sil'no vyigryvayut integrirovannye graficheskie sredy GNOME i KDE, ispol'zuemye sovmestno s prikladnymi programmami, osnovannymi na teh zhe graficheskih bibliotekah i nasleduyushchimi te zhe nastrojki. Odnako na praktike ogranichit'sya naborom programm, osnovannyh na odnoj biblioteke graficheskih primitivov, byvaet trudno, poetomu razumno poznakomit' uchenikov s osobennostyami po krajnej mere samyh rasprostranennyh iz nih.)

Obramlenie okna obychno vklyuchaet:

Detali realizacii obramleniya okna mogut byt' ves'ma razlichnymi v zavisimosti ot konkretnogo okonnogo menedzhera i ego nastroek.

8.4 Rasshirennaya funkcional'nost' okonnogo menedzhera

Sobstvenno, perechislennymi funkciyami okonnyj menedzher, prednaznachennyj dlya raboty v sostave integrirovannoj operacionnoj sredy, mozhet i ogranichit'sya. Pri ispol'zovanii zhe v kachestve operacionnoj graficheskoj sredy samogo okonnogo menedzhera, krajne poleznoj mozhet okazat'sya ego rasshirennaya funkcional'nost'. K nej mozhno otnesti:

* * *

Vyshe pri harakteristike teh ili inyh (predpolozhitel'no, obshchih) harakteristik okonnyh menedzherov chashche obychnogo upotreblyalis' slova "obychno", "kak pravilo", "mozhet" i t.p. |to svyazano s chrezvychajnym raznoobraziem reshenij na baze rasprostranennyh okonnyh menedzherov. Nizhe samye rasprostranennye iz nih harakterizuyutsya bolee podrobno i opredelenno.

8.5 Okonnye menedzhery BlackBox i FluxBox


BlackBox (BB) -- odin iz samyh kompaktnyh, "minimalistichnyh" i bystrodejstvuyushchih okonnyh menedzherov. On pozvolyaet effektivno organizovat' rabotu na "rabochem stole", ne "zahlamlyaya" ego nenuzhnymi ssylkami i ne rashoduya ekrannoe prostranstvo na otobrazhenie gromozdkih elementov oformleniya.

Naryadu s bazovoj funkcional'nost'yu, BB predostavlyaet (fakul'tativno) panel', soderzhashchuyu knopki pereklyucheniya mezhdu "rabochimi stolami" (po umolchaniyu ih chetyre) i zagolovki otkrytyh okon. Obshchee menyu vyzyvaetsya "shchelchkom" pravoj knopkoj "myshi" na svobodnom ot okon meste "stola". Menyu (ili lyuboe iz vlozhennyh v nego menyu) "shchelchkom" po zagolovku mozhet byt' prevrashcheno v okno, ostayushcheesya na ekrane do yavnogo ego zakrytiya shchelchkom na sootvetstvuyushchej knopke.

Po umolchaniyu na polose zagolovka kazhdogo okna prisutstvuyut knopki svorachivaniya (svorachivanie mozhno vypolnit' takzhe dvojnym "shchelchkom" na samom zagolovke), maksimizacii i zakrytiya okna. Svernutoe okno prisutstvuet na ekrane v vide polosy zagolovka, razvernut' ego mozhno povtornym dvojnym "shchelchkom" na polose zagolovka ili iz menyu Workspaces ("rabochie prostranstva"), dostupnogo po "shchelchku" srednej knopkoj myshi na svobodnom ot okon meste "stola". |to zhe menyu pozvolyaet perejti na drugoj "stol", dobavit' ili udalit' "stol" iz rabochego prostranstva.

BB podderzhivaet razlichnye modeli fokusirovki vvoda. Click to focus ("fokusirovka po shchelchku") pozvolyaet realizovat' stil' raboty, privychnyj dlya pol'zovatelej GNOME, KDE ili Microsoft Windows: akno stanovitsya aktivnym (prinimayushchim tekushchij vvod s klaviatury i ot "myshi") posle "shchelchka" na nem. Aktivnoe okno avtomaticheski stanovitsya "verhnim" (vidimym polnost'yu, dazhe esli ono chastichno perekryvaetsya s drugimi oknami). Model' Sloppy focus ("nebrezhnaya fokusirovka") predpolagaet aktivizaciyu okna pri popadanii na nego kursora myshi (okno pri etom ne "vsplyvaet" avtomaticheski naverh).

Naryadu s panel'yu i konvertiruemymi v dopolnitel'nye okna-"paneli" menyu, BB realizuet eshche odin avtonomnyj vidzhet -- tak nazyvaemuyu "shchel'" (Slit). "SHCHel'" raspolagaetsya na krayu vidimogo ekrana i mozhet soderzhat' malen'kie (bez obramlenij) okna specializirovannyh programmok (ih rasprostraneno poryadka desyatka), indiciruyushchih kakie-libo sostoyaniya sredy ili pozvolyayushchih bystro vypolnit' chasto ispolnyaemye dejstviya.

Na osnove BB sozdany dva bolee razvityh okonnyh menedzhera -- OpenBox i bolee populyarnyj FluxBox.

"Naibolee harakternaya osobennost' Fluxbox -- realizaciya zakladok (tabs) v kontekste rabochego stola. Esli zakladki v brauzere pozvolyayut odnovremenno otkryt' neskol'ko stranic v odnom okne, to zakladki fluxbox pozvolyayut udobno sgruppirovat' neskol'ko okon na stole. Vse okna v gruppe imeyut odinakovye razmery i raspolozheny strogo odno pod drugim. Dlya pereklyucheniya na kakoe-libo iz nih dostatochno navesti kursorom myshi ili shchelknut' (v zavisimosti ot nastroek) po sootvetstvuyushchej zakladke. K primeru, mne prihoditsya rabotat' s neskol'kimi razlichnymi pochtovymi klientami. Sovmestiv ih v odnu gruppu, ya mogu legko pereklyuchat'sya mezhdu nimi i pri etom ya vsegda znayu, gde raspolozheno kazhdoe okno. Na slovah ob®yasnit' preimushchestva etogo original'nogo podhoda ne ochen' legko, no posle neskol'kih dnej prakticheskogo ispol'zovaniya, stanovitsya trudno bez nego obhodit'sya: k horoshemu privykaesh' bystro." [3]

Vneshnij vid BB, FluxBox i OpenBox legko nastraivaetsya s pomoshch'yu mehanizma "tem" rabochih stolov.

8.6 Okonnyj menedzher WindowMaker


WindowMaker (WM) -- eto svobodnaya realizaciya (v ramkah proekta GNUStep) koncepcij NextSTEP -- pervoj poluchivshej bolee ili menee shirokuyu izvestnost' realizacij idej universal'noj graficheskoj sredy pol'zovatelya. Za nedostupnost'yu original'noj NextSTEP dlya sovremennyh platform, poznakomit'sya s WM polezno i pouchitel'no vne zavisimosti ot togo, sobiraetes' li vy s nim rabotat' -- eto pozvolit uvidet' ishodnuyu tochku razvitiya graficheskih sred i ocenit' produktivnost' (ili kontrproduktivnost') togo, chem eti idei "obrosli" so vremenem.

Osnovnym avtonomnym vidzhetom WM, kak i NextSTEP, yavlyaetsya "pirs" prikladnyh programm, predstavlennyj pri zapuske piktogrammoj so skrepkoj. Pri zapuske lyuboj "korrektnoj" (s tochki zreniya WM), a takzhe nekotoryh "nekorrektnyh" programm, krome ee okna na ekrane poyavlyaetsya ee piktogramma. Esli "prishvartovat'" etu piktogrammu k "pirsu", ona tam i ostanetsya, pozvolyaya zapuskat' etu programmu vnov' i vnov' prostym shchelchkom po nej -- eto "rodnoj" nekststepovskij integriruyushchij interfejs.

WM pozvolyaet rabotat' s neskol'kimi "stolami" (pereklyuchenie po umolchaniyu po Alt-n ili cherez menyu, dostupnoe po "shchelchku" pravoj knopkoj na svobodnom peste "stola"). WM ochen' gibko nastraivaetsya, kak v chasti vneshnego vida, tak i v chasti "povedeniya", prichem bol'shaya chast' nastroek dostupna iz programmy Wprefs.app, dostupnoj po shchelchku na piktogramke "so stupen'koj".

8.7 Okonnyj menedzher IceWM



IceWM -- prostoj okonnyj menedzher, ochen' chasto vybiraemyj pol'zovatelyami, prihodyashchimi iz-pod Microsoft Windows ili OS/2, poskol'ku on sposoben dostatochno tochno imitirovat' ih osnovnye cherty.

Iz avtonomnyh vidzhetov prezhde vsego stoit otmetit' panel' s knopkoj, vyzyvayushchej glavnoe menyu (podobno tomu, kak eto delaet knopka v Microsoft Windows, GNOME ili KDE). S pomoshch'yu paneli mozhno takzhe upravlyat' tekushchim seansom i nastraivat' IceWM. Vprochem, osnovnoe menyu tazhe dostupno i po "shchelchku" pravoj knopkoj na svobodnom meste "stola", chto bolee privychno dlya pol'zovatelej WindowMaker, Sawfish, Blackbox ili Enlightenment.

Panel' takzhe soderzhit spisok zapushchennyh programm (vklyuchaya te, okna kotoryh minimizirovany), na nee mozhno vyvesti i "mini-terminal", pozvolyayushchij operirovat' komandnoj strokoj. Lyubye dejstviya mogut vypolnyat'sya s pomoshch'yu associirovannyh klaviaturnyh kombinacij.

IceWM takzhe pozvolyaet rabotat' s mnozhestvom "stolov" ("rabochih mest"), kotorye numeruyutsya ili imenuyutsya pol'zovatelem.

8.8 Resursy

Upomyanutye okonnye menedzhery prisutstvuyut prakticheski v lyubom distributive svobodnoj OS, nachinaya s odnodiskovyh. Isklyuchenie sostavlyat FluxBox, obychno ne vklyuchaemyj v "malen'kie" distributivy (esli ochen' hochetsya ego posmotret', a dostupa k Internet net, popytajtes' najti disk, prilagavshijsya k zhurnalu [19] -- pri zakaze etogo odnodiskovogo distributiva redakciya special'no poprosila vklyuchit' etu nespravedlivo "obizhaemuyu" programmu.

Upomyanutyj vypusk zhurnala soderzhit, pomimo prilagaemogo distributiva ALT Linux Junior 2.1 (www.altlinux.ru), podborku statej, posvyashchennyh ispol'zovaniyu svobodnyh programm doma.

Lekciya 9. GIP III: Integrirovannye graficheskie sredy

Zapusk graficheskoj sredy (tochnee, "buterbroda" iz X Window System, okonnogo menedzhera i graficheskoj sredy) v otkrytoj operacionnoj sisteme mozhno sravnit' s zapuskom Microsoft Windows v MS-DOS10.

Odnako, shodstvo zakanchivaetsya, ne uspev nachat'sya. MS-DOS -- eto odnozadachnaya i odnopol'zovatel'skaya sistema, i zapushchennaya obolochka zahvatyvaet vse ee resursy. Iz-za nepolnocennosti OS obolochke prihoditsya brat' na sebya nesvojstvennye ej funkcii (naprimer, imitaciyu mnogozadachnosti), s kotoroj ona spravlyaetsya ploho (tak, "zavisanie" odnoj programmy vpolne mozhet privesti k nerabotosposobnosti vsej sistemy).

Pri zapuske graficheskoj sredy pod polnocennoj OS, ona, s tochki zreniya poslednej, predstavlyaet gruppu obychnyh processov, upravlenie kotorymi proizvoditsya obshchesistemnymi sredstvami. Tochno tak zhe, obshchesistemnymi sredstvami proizvoditsya i upravlenie processami, zapuskaemymi "iz-pod" etoj graficheskoj sredy. Bolee togo, poskol'ku platformoj dlya zapuska konkretnoj sredy yavlyaetsya iznachal'no setevaya X Window System, prikladnaya programma dazhe ne obyazana zapuskat'sya na tom zhe komp'yutere.

Sreda otnyud' ne monopoliziruet ispol'zovanie etogo komp'yutera; parallel'no s ee rabotoj prodolzhaet ispolnyat'sya mnozhestvo sluzhebnyh sistemnyh processov; s drugih terminalov (esli sistema mnogoterminal'naya) mogut zapuskat'sya drugie programmy ili dazhe drugie graficheskie sredy (ili dopolnitel'nye ekzemplyary toj zhe sredy). Bolee podrobno ob etom budet rasskazano v "lekcii", posvyashchennoj operacionnym sistemam.

9.1 Plyusy i minusy integrirovannyh sred

Odnorodnost' opyta i svyazannaya s neyu privychnost' (inogda oshibochno nazyvaemaya "intuitivnost'yu", hotya ona ne imeet otnosheniya k filosofskomu i psihologicheskomu ponyatiyam intuicii) pozvolyayut pri osvoenii novogo instrumenta-programmy sosredotochit'sya na ee prikladnoj logike (aspektami, svyazannymi s konkretnym prilozheniem IT, kotoroe ona realizuet), ne zadumyvayas' i special'no ne fokusiruya vnimaniya na aspektah, obshchih dlya raznogo instrumentariya. |to delaet bolee "krutoj" preslovutuyu "krivuyu obucheniya" novogo pol'zovatelya.

(Razumeetsya, eto sil'no idealizirovannaya kartina. Inogda prikladnaya logika diktuet nekotorye elementy ergonomiki; naprimer, interfejsy bol'shinstva sistem avtomatizirovannogo konstruirovaniya i proektirovaniya (CAD, SAPR) ves'ma shodny, vne zavisimosti ot sredy, v kotoroj rabotayut eti programmy.)

Kak ni paradoksal'no, osnovnoj nedostatok raboty v integrirovannoj srede yavlyaetsya oborotnoj storonoj osnovnogo dostoinstva: zhestko zakreplennye navyki meshayut pri vyhode za ee predely. Konechnomu pol'zovatelyu, ogranichennomu opytoj raboty v odnoj srede, nedostaet "stereoskopichnosti" videniya, glubiny ponimaniya; elementy ergonomicheskoj logiki mogut napryamuyu associirovat'sya s opredelennymi vizual'nymi elementami i "zhestami", s pomoshch'yu kotoryh podayutsya komandy.

Obshcheizvestny slozhnosti, s kotorymi stalkivayutsya lyudi, nekol'ko let pol'zovavshiesya MacOS ili Microsoft Windows pri neobhodimosti porabotat' v drugoj (pust' dazhe i ves'ma shozhej) srede. Podobnaya "rigidnost'" opyta mozhet formirovat'sya i pri rabote v lyuboj iz svobodnyh sred, hotya kak pravilo pol'zovatel' v nih ne ogranichen (v otlichie ot specificheski personal'no-komp'yuternyh sred) prikladnymi programmami, special'no razrabotannymi dlya dannoj sredy i delyashchimi s nej nabory elementov interfejsa ("vidzhetsety"), poetomu ego opyt iznachal'no bolee raznoobrazen.

V etom smysle, krajne poleznym predstavlyaetsya znakomstvo uchashchihsya s raznymi sredami uzhe na nachal'nom etape osvoeniya graficheskih interfejsov. |to ne obyazatel'no dolzhny byt' raznye integrirovannye sredy, no samo predstavlenie o tom, chto odin i tot zhe rezul'tat mozhet dostigat'sya s pomoshch'yu raznyh interfejsnyh sredstv, dolzhno byt' peredano obyazatel'no. V obshchem sluchae eto vozmozhno i v ramkah odnoj integrirovannoj sredy iz chisla rassmatrivaemyh nizhe -- i KDE, i GNOME v vysshej stepeni gibki v otnoshenii nastrojki vneshnego vida i "povedeniya". |ta gibkost' takzhe ves'ma polezna dlya obespecheniya dostupnosti i maksimal'no dostizhimogo komforta uchashchimsya s fiziologicheskimi osobennostyami i fizicheskimi nedostatkami (dal'tonizmom, slabym zreniem, ogranichennoj podvizhnost'yu ili rasstroennoj koordinaciej dvizhenij i t.p.).

9.2 Obshchie cherty integrirovannyh sred

Skol'ko-nibud' posledovatel'noj teorii integrirovannyh graficheskih sred ne sushchestvuet. Izuchaya otdel'nye sredy v dinamike ih razvitiya, mozhno, tem ne menee, vydelit' neskol'ko obshchih chert:

(Za ogranichennost'yu ob®ema "za bortom" ostayutsya bolee slozhnye voprosy, takie, kak komponentnaya ob®ektnaya model' i modeli setevogo vzaimodejstviya, tak ili inache "vtyagivaemye" v proekty integrirovannyh sred.)

Na segodnya sushchestvuyut i razvivayutsya dve svobodnyh integrirovannyh graficheskih sredy obshchego naznacheniya: KDE i GNOME. Oni vhodyat v postavku bol'shinstva standartnyh (otkrytyh) OS, kak svobodnyh, tak i nesvobodnyh. Hotya GNOME na polgoda molozhe KDE, my nachnem obsuzhdenie imenno s GNOME.

9.3 GNOME (Model'naya sreda setevyh ob®ektov GNU)



GNOME (GNU Network Object Model Environment -- "Sreda GNU, osnovannaya na modeli setevyh ob®ektov", no takzhe i "Obrazcovaya sreda dlya setevyh ob®ektov GNU") -- odin iz samyh ambicioznyh i masshtabnyh proektov v programmistskom soobshchestve.

Krome realizacii funkcional'no polnoj graficheskoj sredy (vozmozhno, umestnee govorit' o sensual'nyh sredah, uchityvaya to, chto zvuk stal ih polnopravnoj chast'yu), "Gnom" pretenduet na to, chtoby polnost'yu realizovat' specifikacii promyshlennoj platformy setevogo vzaimodejstviya CORBA i polnost'yu abstragirovat' sloj "menedzhera rabochego stola" (ili "graficheskoj sredy") ot nizlezhashchego sloya upravleniya oknami ("okonnogo menedzhera").

GNOME podderzhivaet ryad okonnyh menedzherov, sredi kotoryh: Sawfish ("shtatnyj" okonnyj menedzher po umolchaniyu), Enlightenment, IceWM, WindowMaker, AfterStep i FVWM2, sovmestimye s GNOME, vprochem, v raznoj stepeni.

Segodnyashnyaya versiya "Gnoma" (GNOME 2.1) -- polnocennaya integrirovannaya sreda, vklyuchayushchaya realizaciyu povsednevno neobhodimyh funkcij i pozvolyayushchaya ispol'zovat' storonnie resheniya dlya realizacii funkcional'nosti, kotoraya v nej otsutstvuet.

GNOME ispol'zuet odin iz samyh razvityh interfejsnyh paketov GTK+, realizovannyj dlya raznyh platform. Nad nim nadstraivaetsya massa komponentov i bibliotek, obespechivayushchih setevuyu funkcional'nost', interfejsy k razlichnym yazykam programmirovaniya, rabotu so zvukom cherez mehanizmy OS i pr. Sam "Gnom" stremitsya ostavat'sya mobil'nym i dostupnym vo vseh otkrytyh sistemah. On stabil'no rabotaet v Linux, BSD, AIX i Solaris; poslednee obstoyatel'stvo sposobstvovalo podderzhke razrabotki GNOME, kotoruyu okazyvaet Sun Microsystems cherez sozdannyj v 2001 g. godu Fond GNOME, sredi uchreditelej kotorogo takzhe krupnejshie postavshchiki svobodnyh OS.

S pol'zovatel'skoj tochki zreniya GNOME predstaet kak nabor bazovyh komponentov interfejsa i "appletov", utilit i prikladnyh programm. K bazovym komponentam otnosyatsya menedzher fajlov i poverhnosti stola Nautilus, paneli upravleniya i menyu GNOME Panel i centr upravleniya (Gnome Control Center).

"Nautilus". Menedzher fajlov Nautilus pozvolyaet otobrazhat' soderzhimoe fajlov i katalogov v oknah i vypolnyat' nad fajlami obychnye dejstviya (udalenie, pereimenovanie, kopirovanie i peremeshchenie i t.p.), a takzhe osushchestvlyat' predvaritel'nyj prosmotr mnogih tipov dannyh. "Nautilus" effekten, no rabota s nim ne bolee effektivna, chem s prochimi brauzerami fajlov, vklyuchaemymi obychno v graficheskie sredy (menedzher fajlov CDE ili Microsoft Windows Explorer).

Pomimo otobrazheniya soderzhimogo katalogov v oknah, "Nau" takzhe mozhet otobrazhat' odin iz katalogov na poverhnosti "rabochego stola": razmeshchennye na nem ikonki kak by prikleeny k monitoru, i pri smene tekushchego ekrana ostayutsya na tom zhe meste otnositel'no nablyudatelya (tak zhe, kstati, vedut sebya i otkrytye okna, esli ih "prikleit'").

Podderzhivaetsya shirokij spektr operacij perenosa mysh'yu (drag'n'drop), prichem "peretaskivaniyu" podverzheny ne tol'ko ob®ekty (fajly, punkty menyu i t.p.), no i nekotorye ih svojstva: tak, mozhno "vzyat' cvet" v okne vybora cveta i perenesti ego na panel', kotoraya vosprimet ego. Est' dazhe operacii, pozvolyayushchie naznachit' odin ob®ekt svojstvom drugogo: naprimer, esli na panel' "peretashchit'" ne cvet, a fajl s kartinkoj, poslednyaya stanet ee fonom. "Taskat'" fajly mezhdu oknami "Nau", na rabochij stol i paneli mozhno prakticheski bez ogranichenij.

Paneli i menyu. Uzhe upomyanutye paneli yavlyayutsya, naryadu s menedzherom fajlov, vazhnejshej sostavnoj chast'yu interfejsa GNOME. Panelej mozhet byt' neogranichennoe kolichestvo. Panel' mozhet otnosit'sya k odnomu iz pyati tipov, no na samom dele ih dva: panel'-menyu (menu panel) i ob®ektnaya panel'. Pervaya iz nih soderzhit punkty menyu i mozhet soderzhat' piktogrammy, a vtoraya -- tol'ko piktogrammy. Poslednyaya mozhet byt' kraevoj (edge), vyravnennoj (aligned), skol'zyashchej (sliding) ili plavayushchej (floating), no eto skoree svojstvo paneli (kotoroe mozhno menyat' "na hodu"), opredelyayushchee osobennosti ee povedeniya, chem tip.

Vneshnij vid i povedenie panelej yavlyaetsya v vysshej stepeni konfiguriruemym. Pol'zovatel' mozhet zadavat' kak global'nye predpochteniya (animaciya dvizheniya panelej, otobrazhenie panel'nyh ob®ektov i pr.), tak i individual'nye predpochteniya dlya kazhdoj iz nih (ee tip i polozhenie na ekrane, shirina, vozmozhnost' avtosokrytiya i prinuditel'noj minimizacii, cvet i fonovoe izobrazhenie i t.p.) Nu i, razumeetsya, pol'zovatel' mozhet "nabivat'" paneli temi ob®ektami, kotorye emu nuzhny.

Na panelyah mogut prisutstvovat' ob®ekty pyati tipov:

Za rabotu sistemy menyu, kak i za rabotu panelej, otvechaet komponent GNOME Panel, i eto ne sluchajno: raznica mezhdu panel'yu i menyu bolee dekorativnaya, chem sushchnostnaya: lyuboe menyu mozhno zafiksirovat' na ekrane, i ono prevratit'sya v podobie paneli-menyu (tol'ko vertikal'noe, a ne gorizontal'noe, i s men'shimi vozmozhnostyami nastrojki).

U "Gnoma" net edinoj ierarhii menyu: krome glavnogo, vyzyvayushchegosya ob®ektom-menyu s gnom'ej lapoj (ono zhe, kogda vyzyvaetsya shchelchkom pravoj knopki na fone ili nazhatiem klavishi, pochemu-to nazyvaetsya global'nym (global)), pol'zovatel' mozhet sozdavat' "obychnye" (normal) menyu, svyazannye s ob®ektami-menyu na panelyah.

Menyu nastraivayutsya primerno tak zhe, kak i paneli: pol'zovatel' mozhet dobavlyat', menyat' i udalyat' punkty, sozdavat' podmenyu i t.p. Pri etom sozdavaemye "obychnye" menyu iznachal'no pusty, a glavnoe/global'noe "nabivaetsya" pri ustanovke vsem, chto "Gnom" najdet v sisteme, i pol'zovatelyu ostaetsya tol'ko ubrat' lishnee i perestavit' punkty v sootvetstvii so svoimi predpochteniyami.

Utility, applety i "kapplety". Dlya nastrojki razlichnyh aspektov funkcionirovaniya sistemy prednaznachen Centr upravleniya, predstavlyayushchij soboj nabor "upravlyayushchih appletov" (capplets), svyazannyh s raznymi komponentami i prikladnymi programmami.

Odni iz nih pozvolyayut menyat' parametry rabochego stola i oblik prilozhenij (vklyuchaya ispol'zovanie "tem"), drugie -- nastraivat' mul'timedia, tret'i -- upravlyat' svojstvami klaviatury i myshi, i t.d.

Vazhnym "kappletom" yavlyaetsya menedzher t.n. "drajverov dokumentov" (Document Handlers), ustanavlivayushchij sootvetstvie mezhdu tipom fajla ili protokola i programmoj, vypolnyayushchej razlichnye operacii s nimi. Nabor "kappletov" yavlyaetsya rasshiryaemym, ih mozhno pisat' ne tol'ko dlya programm, napisannyh special'no dlya "Gnoma", no i dlya vneshnih programm.

Eshche bolee otkryt nabor utilit, prikladnyh programm i appletov, postavlyaemyh s GNOME -- vmeste s programmami, vhodyashchimi v bol'shinstvo distributivov OS, o kotoryh "Gnom" "v kurse", ih chislo prevyshaet sotnyu.

Perechislit' ih zdes' net nikakoj vozmozhnosti, no v ih chislo vhodyat interfejsy dlya administrirovaniya sistemy, sredstva zvukozapisi i vosproizvedeniya, setevye utility, igry i mnogoe drugoe.

GNOME snabzhen vstroennoj sistemoj pomoshchi; krome togo, ego razrabotchikami sovmestno s Sun Microsystems podgotovleno kompaktnoe (130 s.) rukovodstvo, dostupnoe v raznyh formatah na sajte proekta. V ego postavku vhodit sistema razrabotki graficheskih prilozhenij pod GTK+, kotoraya nazyvaetsya Glade i vklyuchaet v sebya specificheskie dlya Gnome elementy.

"Gnom" i bol'shinstvo ego komponent sootvetstvuyut soglasheniyam ob internacionalizacii i, sootvetstvenno, podderzhivayut rabotu s kirillicej i lokalizaciyu i perevod interfejsa. K sozhaleniyu, lokalizaciya "Gnoma" sil'no otstaet ot razrabotki.

9.4 KDE (Nastol'naya sreda K)


Samo nazvanie KDE -- yavnaya parodiya na CDE -- Common Desktop Environment ("Obshchaya nastol'naya sreda") -- poslednyuyu popytku otrasli standartizovat' graficheskuyu sredu na nesvobodnoj osnove, predprinyatuyu v konce devyanostyh godov. "K" v KDE nichego ne oznachaet.

Nesmotrya na yavno igrivyj ton, nachinayushchijsya s nazvaniya sredy i prodolzhayushchijsya v nazvanii komponent (v KDE lyubyat igrat' so slovami; naprimer, universal'nyj brauzer, vhodyashchij v sredu, nazyvaetsya Konqueror (ot Conqueror -- "zavoevatel'", "pokoritel'"), terminal -- Konsole (ot Console -- "konsol'), a sistema pomoshchi -- voobshche Kandalf (ot imeni Gendal'fa, maga iz fantazijnyh proizvedenij Dzh.R.R.Tolkiena)), KDE -- ochen' ser'eznyj proekt.

Esli edinoobrazie i "sploshnost'" sredy schitat' dostoinstvom, to KDE -- nesomnennyj lider sredi vseh (kak svobodnyh, tak i nesvobodnyh) integrirovannyh graficheskih sred. Osnovnoe "vidimoe" sredstvo integracii -- eto universal'nyj brauzer Konqueror. Funkciya Konqueror blizka k toj, kotoruyu priobrel Microsoft Internet Explorer v Microsoft Windows (nachinaya s MS Windows 98 v linejke MS-DOS i MS Windows 2000 v linejke NT) -- on sovmeshchaet funkcii gipermedijnogo brauzera WWW i brauzera lokal'nyh resursov.

Razrabotchiki KDE poshli dazhe dal'she svoih kolleg iz Microsoft i opredelili ryad dopolnitel'nyh protokolov, chto pozvolilo, v chastnosti, prosmatrivat' s pomoshch'yu brauzera v edinoobraznom formate vse raznoobrazie spravochnoj informacii, predstavlennoe v segodnyashnih otkrytyh sistema (tradicionnye stranicy rukovodstva man, gipertekstovuyu sistemu Info iz proekta GNU, razroznennye fajly dokumentacii v tekstovom i gipertekstovom formate). V Konqueror integrirovana takzhe vozmozhnost' predvaritel'nogo prosmotra soderzhimogo bol'shogo kolichestva tipov fajlov.

KDE vklyuchaet takzhe nastraivaemuyu sistemu panelej i menyu i integrirovannyj "centr upravleniya", pozvolyayushchij soglasovanno izmenyat' parametry sredy. KDE neskol'ko menee gibka v nastrojke, chem GNOME, odnako na ee gibkosti vpolne dostatochno dlya resheniya lyubyh prakticheskih zadach (v tom chisle, imitacii vida i povedeniya drugih sred). KDE rabotaet tol'ko s sobstvennym okonnym menedzherom KWin.

V postavku KDE vhodit mnozhestvo "aksessuarov" i prikladnyh programm, k tomu zhe "ryadom" s proektom vyrosla celaya "gribnica" soputstvuyushchih, orientirovannyh na te ili inye predmetnye prilozheniya, iz kotoryh samym razvitym yavlyaetsya KOffice.

9.5 "Ofisnyj" prikladnoj paket KOffice

S proektom KDE tesno sopryazhen proekt KOffice, v ramkah kotorogo razrabatyvayutsya "ofisnye" programmy na osnove toj zhe osnovnoj biblioteki Qt i prednaznachennyj dlya sovmestnogo s KDE ispol'zovaniya. KOffice na segodnya vklyuchaet v sebya sleduyushchie osnovnye programmy, nahodyashchiesya na raznyh stadiyah gotovnosti:

Sobstvennye formaty KOffice orientirovany, kak i sobstvennye formaty bol'shinstva sovremennyh "ofisnyh" paketov, na XML, hotya ne vse iz nih yavlyayutsya chisto XML-prilozheniyami. Zayavlena podderzhka dostatochno bol'shogo kolichestva "chuzhih" i unasledovannyh formatov, hotya kachestvo podderzhki na segodnya ves'ma srednee; v osobennosti poslednee otnositsya k podderzhke kirillicheskih tekstov.

KDE i KOffice dostatochno operativno lokalizuyutsya (sm. www.kde.ru), odnako, k sozhaleniyu, v perevodah na segodnya eshche bol'she, chem v originalah, "personal'no-komp'yuternogo" slenga.

9.6 Resursy

GNOME i KDE vhodyat v postavku prakticheski vseh (svobodnyh i nesvobodnyh) otkrytyh sistem dlya vseh apparatnyh platform. Ob ih stabil'nyh perenosah pod al'ternativnye OS nam nichego ne izvestno.

Dopolnitel'nuyu informaciyu o nih mozhno najti na sajtah http://www.gnome.org i http://www.kde.org, sootvetstvenno. Russkaya informaciya o KDE periodicheski obnovlyaetsya na http://www.kde.ru (http://www.gnome.ru ne obnovlyaetsya, tekushchie lokalizacionnye iniciativy "sbrasyvayutsya" v osnovnoe derevo razrabotki).

Bazovuyu informaciyu ob obeih integrirovannyh sredah mozhno najti prakticheski v lyubom "nekanonicheskom" uchebnike ili rukovodstve po Linux (naprimer, v [20]) ili v dokumentacii po lyubomu distributivu, odnako vryad li vy najdete tam chto-to takoe, chego ne bylo by vo vstroennyh elektronnyh rukovodstvah. Sushchestvuet obshirnaya angloyazychnaya (dlya KDE -- eshche i nemeckoyazychnaya) literatura dlya razrabotchikov v obeih sredah, iz kotoroj na russkij poka nichego ne perevedeno.

Lekciya 10. Svobodnye kommunikacii

Tipichnye lokal'no-setevye prilozheniya -- eto razdelenie fajlovyh struktur, uslugi pechati, centralizovannaya autentifikaciya pol'zovatelej i t.p., predostavlyaemye v masshtabe ot odnogo ofisa (komnaty) do celoj gruppy zdanij.

Tipichnye internet-prilozheniya11 -- eto elektronnaya pochta, WWW, obmen "bystrymi soobshcheniyami" ("internet-pejdzhing") i pr. sistemy, razvorachivaemye obychno v global'nom masshtabe.

Osnovnoj tendenciej poslednego desyatiletiya stalo postepennoe vytesnenie specializirovannyh lokal'no-setevyh nizkourovnevyh protokolov i zamena ih internet-protokolami (TCP/IP). Dazhe protokoly, special'no razrabotannye dlya personal'no-komp'yuternyh sistem i ispol'zuemye v unasledovannyh setyah, takie, kak AppleShare ili NetBIEU, mogut segodnya razvertyvat'sya poverh TCP/IP. V otlichie ot setej Internet, obrazuyushchih soobshchestvo s edinoj numeraciej i edinym imenovaniem komp'yuterov, lokal'nye TCP/IP-seti, otdelennye ot Internet, nazyvayut intranet.

Podderzhka TCP/IP na setevom i transportnom urovnyah vpervye realizovana v OS BSD i realizovana v sovremennyh OS na urovne yadra12. Na urovne yadra obychno -- iz soobrazhenij effektivnosti -- realizuyutsya i takie, naprimer, servisy, kak ekranirovanie (firewalling) trafika. Protokoly bolee vysokogo urovnya realizuyutsya v vide sistemnyh ili prikladnyh servisov.

10.1 Lokal'nye seti

NFS. V otkrytyh OS lokal'no-setevaya funkcional'nost' tradicionno realizuetsya v ramkah koncepcii Setevoj fajlovoj sistemy NFS. NFS pozvolyaet predostavlyat' katalogi dlya udalennogo montirovaniya i montirovat' (t.e. delat' chast'yu lokal'noj fajlovoj sistemy) ih udalenno. Poskol'ku s tochki zreniya standartnoj OS lyuboe ustrojstvo predstavleno fajlom, etogo dostatochno ne tol'ko dlya sovmestnoj raboty s katalogami, no i predostavleniya dostupa k printeram, lentochnym nakopitelyam i prochemu oborudovaniyu13.

BD i dostup k nim. Tak zhe tradicionno bolee slozhnaya semantika setevyh vzaimodejstvij (dlya kotoryh fajlovoe predstavlenie dannyh i fajlovye operacii vlekut slishkom bol'shie izderzhki), vnedryalas' s pomoshch'yu baz dannyh sovmestnogo dostupa i special'nyh protokolov dostupa k nim14, takih, kak DAP (X.500) ili ego uproshchennaya i bolee populyarnaya versiya LDAP. LDAP vhodit v postavku prakticheski vseh distributivov svobodnyh OS i shiroko ispol'zuetsya v sovremennyh sistemah, no poka v osnovnom dlya resheniya administrativnyh zadach.

SMB i ego rasshireniya. V personal'no-komp'yuternyh sistemah bol'shee razvitie poluchil al'ternativnyj podhod, opirayushchijsya na koncepciyu obmena blochnymi soobshcheniyami (SMB), razrabatyvavshijsya pervonachal'no korporaciej IBM, na osnove kotorogo kompaniyami Novell, Microsoft i drugimi byli razrabotany semejstva lokal'no-setevyh protokolov vysokogo urovnya, k sozhaleniyu, ne standartizirovannye i pereuslozhnennye. Bolee slozhnaya semantika obmena blochnymi soobshcheniyami vlechet za soboj i bolee slozhnyj audit bezopasnosti postroennyh na ego osnove sistem, poetomu primenimost' SMB i ego rasshireniya v ser'eznyh prilozheniyah ogranichena.

Tem ne menee, sushchestvuet sovremennaya avtoritetnaya i ochen' effektivnaya svobodnaya realizaciya SMB i (chastichno) ego pozdnejshih rasshirenij, nazyvayushchayasya SAMBA (www.samba.org). SAMBA vhodit v postavku prakticheski lyubogo distributiva svobodnyh OS.

SAMBA daet vozmozhnost' predostavlyat' v sovmestnyj dostup katalogi, a takzhe printery i drugie ustrojstva i poluchat' k nim dostup15, chto pozvolyaet razvorachivat' slozhnye geterogennye seti, vklyuchayushchie, pomimo standartnyh OS, takzhe unasledovannye sistemy na osnove Microsoft Windows i Novell OS.

SAMBA predpolagaet ispol'zovanie specificheskih lokal'no-setevyh protokolov, takih kak IPX ili NetBIOS, lish' poverh TCP/IP, chto, hotya i vlechet za soboj nekotorye izderzhki16, no pozvolyaet zametno povysit' nadezhnost' sistemy za schet primeneniya sobstvennyh sredstv obespecheniya bezopasnosti TCP/IP (ekranirovanie, a pri neobhodimosti i shifrovanie i autentifikaciyu trafika).

Paket SAMBA dostupen kak dlya otkrytyh OS, tak i dlya ryada al'ternativnyh arhitektur (vklyuchaya Microsoft Windows NT. Bolee podrobno funkcional'nost' SAMBA v etih "lekciyah" rassmatrivat'sya ne budet.

10.2 Internet

Servernaya i infrastrukturnaya sostavlyayushchaya mezhsetevyh cifrovyh kommunikacij -- tradicionnoe prilozhenie dlya svobodnogo PO. V etoj "lekcii" my ne budem pogruzhat'sya v organizaciyu lokal'nyh setevyh sluzhb, WWW-serverov i t.p., hotya eto vazhnaya i nuzhnaya v shkole tema, ona ne imeet pryamogo otnosheniya k predmetu shkol'noj informatiki. Nizhe sleduet obzor nekotoryh svobodnyh klientskih programm, realizuyushchih sovremennuyu setevuyu funkcional'nost' sessionnogo, prezentativnogo i prikladnogo urovnya.

10.3 Paket Mozilla

Sredi massy svobodnyh klientskih programm, svyazannyh s setevoj funkcional'nost'yu, za ogranichennost'yu pechatnogo ob®ema ostanovimsya na proekte Mozilla.

Mozilla predstavlyaet soboj svobodnyj pol'zovatel'skij prikladnoj paket, realizuyushchij interfejsy prosmotra WWW (brauzer), elektronnoj pochty i novostej USENET, mnogopol'zovatel'skih dialogov v real'nom vremeni ("chatov") IRC i redaktirovaniya stranic WWW (komponovshchik). Vhodyashchie v paket programmy, takim obrazom, otkryvayut dostup ko vsem naibolee populyarnym prilozheniyam Internet (krome, na segodnya, "bystryh soobshchenij"). Sushchestvennoj sil'noj storonoj Mozilla yavlyaetsya prakticheski neizmennaya funkcional'nost' i ergonomika na shirokom spektre platform, vklyuchaya kak standartnye (MacOS X, GNU/Linux, Solaris, Irix, HPUX, BSD/OS i pr.), tak i al'ternativnye (MacOS 9, Microsoft Windows, BeOS, OS/2) operacionnye sistemy na bol'shinstve apparatnyh platform.

Slegka modificirovannaya versiya Mozilla 1.x takzhe rasprostranyaetsya organizatorom razrabotki -- kompaniej AOL Time WarnerKompaniya AOL priobrela tri goda nazad kompaniyu Netscape. proekt Mozilla prototipirovalsya na rannih razrabotkah etoj kompanii -- Netscape Navigator i Netscape Communicator, yavlyavshihsya, v svoyu ochered', razvitiem pervogo graficheskogo WWW-brauzera NSCA Mozaic. -- pod nazvaniem Netscape Navigator 6.x i 7.x.

Russkaya lokalizaciya Mozilla vypolnena Valentinoj Vaneevoj, Vadimom Vinichenko i Sergeem Degtyarvym.

10.4 Bazovaya funkcional'nost' Mozilla17


Brauzer. Dlya prosmotra stranic WWW i "hozhdeniya" po FTP-serveram prednaznachen komponent Navigator. Na paneli komponent Mozilla on izobrazhaetsya morskim shturvalom (sm. ris. 1).

Vse vozmozhnosti programmy dostupny iz menyu, naibolee chasto upotreblyaemym sootvetstvuyut takzhe "goryachie klavishi" i knopki paneli navigacii. Pod menyu -- eshche odna panel', kotoruyu mozhno nastroit' po svoemu zhelaniyu (chashche vsego, na nee vynosyatsya ssylki na desyatok samyh poseshchaemyh stranic), eshche nizhe -- okno dlya otobrazheniya gipertekstovoj informacii s poseshchaemyh stranic. Zamykaet okno stroka sostoyaniya s panel'yu komponent sleva i sluzhebnymi piktogrammami sprava.

S kakim by komponentom vy ne rabotali v danyj moment, vsegda mozhno zapustit' lyuboj drugoj knopkoj s sootvetstvuyushchim znachkom iz paneli komponent ili punkt menyu "Okno". Iz punkta menyu "Sozdat'..." vy mozhete, krome togo, otkryt' eshche odno okno prosmotra ili vkladku (vkladka -- eto okno v okneIdeya ispol'zovat' vkladki v osnovnom okne brauzera vpervye byla realizovana v brauze Opera. Bud'te ostorozhny: nachav ih ispol'zovat', vy vryad li zatem udovletvorites' brauzerom, ne podderzhivayushchim takoj vozmozhnosti.) uzhe otkrytogo okna, na raznyh vkladkah vy mozhete prosmatrivat' raznye stranicy s odnogo sajta ili raznye sajty. |to pozvolyaet ne zahlamlyat' ekran i panel' zadach oknami odnogo tipa i srazu videt', gde zakachka stranicy uzhe zavershilas', a gde eshche net.

Iz punkta menyu "Fajl" mozhno takzhe otkryt' lyuboj lokal'nyj html-fajl ili katalog (ili fajl drugogo izvestnogo Navigatoru formata, naprimer, graficheskij ili tekstovyj), odnoj komandoj pereslat' po pochte adres ponravivshejsya stranicy ili dazhe vsyu stranicu, sohranit' stranicu na zhestkom diske ili napechatat' na printere.

Programma vedet uchet stranic, kotorye vy posetili ("Perejti... ZHurnal poseshchenij"). |to udobno dlya bystrogo vozvrata na uzhe poseshchennuyu stranicu. Skol'ko prosmotrennyh adresov (i na kakoe vremya) programma budet ih sohranyat', mozhna ukazat' v obshchem okne nastroek.

Kak i v drugih brauzerah, vy mozhete vesti strukturirovannuyu bazu zakladok na ponravivshiesya sajty i redaktirovat' parametry kazhdoj zakladki, v chastnosti, menyat' nazvaniya i delat' pometki na pamyat': a chem zhe zacepila vas imenno eta stranica.

Navigator mozhet peredat' zapros na poisk informacii na ukazannye poiskovye mashiny, daet vozmozhnosti upravleniya zapolneniem form i blokirovaniya izobrazhenij (eto udobno dlya otsecheniya reklamy iz mnogochislennyh bannernyh setej) i cookies konkretnyh sajtov, zapreta poyavleniya vyskakivayushchih okon.

Navernoe, samaya interesnaya osobennost'yu programmy -- "bokovaya panel'" (Sidebar). Razmeshchennaya v levoj chasti vseh okon, ona znachitel'no oblegchaet rabotu. Na nee mozhno vyvesti mnozhestvo poleznoj informacii. Naprimer, vy mozhete nastroit' ee tak, chtob srazu pri zapuske programmy, videt' svezhie novosti novosti s lyubimyh novostnyh sajtov, vse svoi zakladki v vide dereva, imet' dostup k svoim lyubimym poiskovikam ili eshche chto-nibud', chto sami pridumaete.

Pochta. |lektronnaya pochta sorevnuetsya s WWW za pochetnoe zvanie glavnogo kommunikacionnogo prilozheniya. Sushchestvuet massa svobodnyh programm dlya raboty s pochtoj, i sredi nih -- modul' Mozilly "Pochta i novosti".

Otkryt' ego mozhno, nazhav knopochku s izobrazheniem konverta, vybrav sootvetstvuyushchij punkt menyu "Okna".

|tot modul' pozvolyaet obmenivat'sya pis'mami s druz'yami, pisat' i poluchat' pochtu iz pochtovyh rassylok i grupp novostej. Vsyu svoyu pochtu vy mozhno razlozhit' po papochkam i nastroit' sistemu fil'trov, chtoby novaya pochta popadala, kuda nuzhno, a nadoedlivyj spam -- v musor.

Vy mozhete otvechat' na pis'ma, pereadresovyvat' poluchennoe komu-to eshche, otsylat' i poluchat' nuzhnye fajly. Kogda nuzhno byt' uverennym v lichnosti otpravitelya i neprikosnovennosti pis'ma, vospol'zujtes' integraciej s GPG, svobodnoj realizaciej populyarnogo formata OpenPGP, obespechivayushchih elektronnuyu podpis' i shifrovanie soobshchenij.

V pochtovom yashchike vozmozhen poisk po teme, otpravitelyu, slovam v samom pis'me, date, prioritetu, adresatam, datam ili kombinacii etih parametrov -- etogo hvatit, chtob ne poteryat'sya v svoem pochtovom yashchike. Mozhno imet' neskol'ko pochtovyh yashchikov na raznyh serverah i rabotat' s nimi v odnom okne.

Glavnoe okno programmy podeleno na chetyre chasti. Sleva vverhu -- spisok pochtovyh yashchikov, pod nim bokovaya panel'. Sprava vverhu -- spisok pisem v vybrannoj papke, pod nim -- tekst vybrannogo soobshcheniya. Mnogie iz nih mozhno vremenno spryatat', chtob osvobodit' mesto dlya drugih okoshek. I zdes' dostupna bokovaya panel' so vsemi ee vozmozhnostyami.

Vybrav v pravoj chasti nazvanie pochtovogo yashchika, vy uvidite spisok dejstvij, kotorye mozhete vypolnit' v nem i nad nim. Naprimer, nastroit' sam pochtovyj yashchik, esli est' neobhodimost', i ego parametry roboty s pochtovym serverom, parametry dlya ishodyashchih i vhodyashchih soobshchenij. Vozmozhnosti gibkoj nastrojki i moshchnaya sistema fil'tracii soobshchenij, vmeste s vozmozhnostyami proverki pravopisaniya dlya mnogih yazykov (vklyuchaya anglijskij, russkij, ukrainskij) sdelayut vashu perepisku udobnoj i priyatnoj.

"Komponovka" sobstvennyh stranic. Nemnogo pobrodiv po Seti, kazhdyj ispytyvaet zhelanie soobshchit' o chem-to svoem vsemu mirovomu soobshchestvu. Prepyatstviem k etomu okazyvaetsya neobhodimost' izuchat' standart HTML. Ne ochen'-to prosto najti dlya etogo vremya, osobenno esli rech' idet o sozdanii stranichki na paru abzacev o domashnem lyubimce.

V etoj situacii vam na pomoshch' prijdet "Komponovshchik", spryatavshijsya za knopkoj s listkom i perom dlya pis'ma. Vyzvav ego, vy smozhete bystro i bez pogruzheniya v izuchenie standarta sozdat' prostuyu stranicu v rezhime vizual'nogo redaktirovaniya. Kak v word-processore, prosto pishete tekst, vstavlyaete tablicy i risunki i srazu mozhete videt', chto u vas poluchaetsya. Bolee togo, zaglyanuv na drugie vkladki okna Komponovshchika, mozhno eshche i poduchit' HTML. V etom pomogut vkladki "Vse tegi" i "<HTML> Kod". Proverit', kak vasha rabota budet smotret'sya v okne prosmotra Navigator, mozhno na poslednej vkladke. Glavnoe preimushchestvo etogo instrumenta pered mnogimi pohozhimi sostoit v sozdanii pravil'nogo HTML koda bez lishnih i nestandartnyh tegov, poetomu rekomenduyu ego kak pervyj instrument nachinayushchego (razumeetsya, dlya sozdaniya ser'eznyh proektov izuchenie standartov W3C obyazatel'no).

V okne programmy sperva linejka menyu, pod nej instrumental'nye paneli, dalee glavnoe rabochee okno s vkladkami i panel' sostoyaniya pod nim. Dlya podrobnogo opisaniya vseh vozmozhnostej modulya potrebuetsya ne odna stranica. Prosto zapustite ego i poprobujte chto-nibud' sozdat'. Bol'shinstvo piktogramm i komand nikakogo ob®yasneniya ne trebuyut.

Adresnaya kniga. Po mere togo, kak uvelichivaetsya krug vashih znakomyh, pomnit' vse neobhodimye adresa stanovitsya vse tyazhelee, no na pomoshch' prihodit adresnaya kniga programmy. Kazhdyj raz, kogda vy pishete pis'mo novomu adresatu ili poluchaete pis'mo ot novogo otpravitelya, etot komponent programmy zapominaet ego adres. Dal'she, kogda vy nachinaete zapolnyat' pole "komu" novogo pis'ma, on pytaetsya zavershit' nabor za vas. Esli adres ugadan pravil'no, mozhno prosto perehodit' k zapolneniyu ostal'nyh polej. Kogda programma oshiblas', mozhno vybrat' podhodyashchij adres iz vypadayushchego spiska ili zavershit' nabor samostoyatel'no.

Vneshnij vid okna Adresnoj knigi dostatochno tipichen: snova, sperva menyu, zatem panel' instrumentov i osnovnoe okno s panel'yu sostoyaniya. Osnovnoe okno podeleno na chetyre chasti, nekotorye iz kotoryh mozhno pryatat'. Sleva -- nazvaniya kollekcij adresov vverhu i bokovaya panel' pod nimi. Sprava -- spisok kartochek vybrannoj kollekcii vmeste s panel'yu poiska po nim vverhu, i okno dlya otobrazheniya informacii s vybrannoj kartochki vnizu. Zapisi dlya kazhdoj kartochki redaktiruyutsya po neobhodimosti.

Nastrojki. Mozilla -- paket ne tol'ko moshchnyj, no i ochen' gibkij v nastrojke. Vse dostupnye parametry nastroek sobrany v odnom okne -- derevo dostupnyh nastroek podeleno na kategorii v sootvetstvii s imeyushchimisya programmami plyus neskol'ko obshchih.

V obshchej kategorii "Vneshnij vid" nastraivaetsya ispol'zovanie shriftov dlya kazhdoj kodovoj stranicy, otobrazhaemye pri zapuske Mozilly okna, ispol'zovanie cvetov, yazyk interfejsa.

Vtoraya obshchaya kategoriya -- "Dopolnitel'no" -- pozvolyaet otregulirovat' ispol'zovanie cookies, Java, razmer i vremya sohraneniya bufera na diske dlya bystrogo vozvrata k uzhe prosmotrennym stranicam, ispol'zovanie proksi-serverov i eshche nekotorye poleznye parametry.

Nazvanie gruppy "Privatnost' i bezopasnost'" govorit samo za sebya. Kolichestvo dostupnyh v nej nastroek, govorit o tom, naskol'ko otvetstvenno razrabotchiki otneslis' k etomu voprosu. Predlagayu vam razobrat'sya s nej samostoyatel'no.

Regulirovat' vneshnij vid okna programmy i stepen' "svezhesti" stranicy v okne prosmotra, vam pozvolyat punkty menyu "Vid". Otsyuda mozhno zapretit' ili razreshit' pokaz kazhdogo iz komponentov okna programmy, podobrat' razmer shrifta na stranice, izmenit', esli nuzhno, kodovuyu stranicu dlya pokaza teksta, uvidet' ishodnyj kod stranicy i poluchit' informaciyu pro stranicu na kotoroj sejchas nahodites'.

10.5 Mozilla: kak eto sdelano

Vozmozhno, bolee interesnym budet obshchij vzglyad na "nachinku" Mozilla, poskol'ku eta tema ostaetsya poka prakticheski neraskrytoj v publikaciyah na russkom. A imenno interesnymi vnutrennimi arhitekturnymi resheniyami i vozmozhnostyami, kotorye oni otkryvayut dlya programmistov, obuslovlena perspektivnost' i vostrebovannost' etogo proekta.

"Dvizhok" Gecko. Sobstvenno interpretaciyu ("rendering") giperteksta i gipermedia v brauzere i komponovshchike osushchestvlyaet "dvizhok" pod nazvaniem Gecko ("gekkon", "yashcherka"). Sam po sebe "dvizhok" kompakten i bystr. On ispol'zuetsya takzhe ryadom al'ternativnyh brauzerov, takih, kak Galeon, Aphrodite i Phoenix; pervyj iz nih, dostachno razvityj i "shustryj", mozhet rekomendovat'sya pol'zovatelyam staryh ili malomoshchnyh (naprimer, karmannyh) mashin.

YAzyk XUL. Vidimo, samoj interesnoj osobennost'yu Mozilla yavlyaetsya realizaciya interfejsa pol'zovatelya na yazyke XUL, predstavlyayushchem soboj XML-prilozhenie, t.e. nabor opredelenij vida i povedeniya vizual'nyh ob®ektov, svojstvennyh sovremennym graficheskim interfejsam pol'zovatelya, na rasshiryaemom yazyke razmetki XML (ob XML i ego integriruyushchej roli v sovremennyh prilozheniyah komp'yutera podrobnee govorilos' v "lekcii" 1).

V bol'shej svoej chasti programmy Mozilla "napisany dlya XUL" i interpretiruyutsya "na letu". Obratnoj i nepriyatnoj dlya pol'zovatelya storonoj etogo ostaetsya znachitel'naya resursoemkost' Mozilla i razmer paketa. Bazovaya ustanovka zanimaet poryadka 30 Mb i komfortnaya rabota v bol'shinstve sred nachinaetsya ot 128 Mb OZU i 500 MGc processora.

"Svetloj" storonoj XUL'nosti Mozilla yavlyaetsya ego chrezvychajnaya gibkost', chto, vidimo, pozvolit uzhe v blizhajshie gody "maloj krov'yu" sushchestvenno rasshirit' nabor vhodyashchih v paket programm i prakticheski polnost'yu pokryt' imi klientskie prilozheniya Internet.



Na risunke vidno, chto po special'nomu protokolu chrome mozhno prosto "otkryt'" v brauzere eshche odin brauzer (ili lyuboj drugoj komponent paketa), prichem eto ne prosto izobrazhenie ego interfejsa, a polnocennaya rabotayushchaya programma.

Razumeetsya, sut' ispol'zovaniya XUL ne v etom, a v tom, chto na etom otnositel'no prostom yazyke razmetki mogut byt' legko realizovany ... Na sajtah www.mozdev.org i www.xulplanet.com mozhno najti desyatki programm na XUL, a po http://books.mozdev.org/chapters/ mozhno najti tekst knigi "Sozdanie prikladnyh programm v Mozilla" (k sozhaleniyu, poka tol'ko na anglijskom).

Naprimer, tak vyglyadit tradicionnaya pervaya programma "Privet, mir!" na XUL (ee tekst zaimstvovan iz upomyanutoj knigi):

<?xml version="1.0"?>
<!-- Sample XUL file -->
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<box align="center">
<button label="hello xFly" onclick="alert('Hello World');" />
</box>
</window>

Znakomym s JavaScript-scenariyami v HTML ili XML etot primer dolzhen byt' kristal'no ponyatnym. Odnako vnimanie sleduet obratit' na to, chto elementy razmetki, opredelyaemye XUL, svojstvenny graficheskim interfejsam obshchego naznacheniya ("okno" (window), "kontejner" (box), "knopka" (button) i t.p.), i ves' XUL-fajl opredelyaet interfejs, a ne stranicustrogo govorya, Mozilla podderzhivaet i smeshannye konteksty, naprimer, XUL-komponenty v HTML ili naoborot, no XUL-interpretator kak takovoj ne obyazan etogo delat', i XUL-interpretatorom, sootvetstvenno, vovse ne obyazatel'no dolzhen byt' brauzer. XUL mozhet ne tol'ko interpretirovat'sya, no i translirovat'sya, hotya translyatory nam na segodnya ne izvestny.

Perspektivy, otkryvaemye universal'nym yazykom opisaniya graficheskogo interfejsa pered otrasl'yu bystroj prikladnoj razrabotki (RAD) i prakticheskim programmirovaniem voobshche -- ochevidny. No zdes' umestnee budet ukazat' na metodicheskie perspektivy: vklyuchenie v odin i tot zhe vvodnyj kurs programmirovaniya na XUL naryadu s izucheniem yazykov razmetki kontenta (naprimer, HTML, osobenno v ego nyneshnej, XML-versii) pozvolit osushchestvit' znachitel'nuyu ponyatijnuyu ekonomiyu. Vozmozhno, chto nash krugozor ogranichen, no nam ne izvestny drugie polnocennye yazyki programmirovaniya interfejsa, krome XUL, yavlyayushchiesya korrektnymi i ispolnimymi XML-prilozheniyami.



10.6 Resursy

Paket Mozilla v ishodnikah i sborkah dlya bol'shinstva OS dostupen na glavnom sajte proekta, lokalizovannye versii -- na russkom sajte. Mozilla vhodit v bol'shinstvo postavok otkrytyh OS (kak svobodnyh, tak i nesvobodnyh).

Literatura

1. Ministerstvo obrazovaniya Rossijskoj Federacii. "Obyazatel'nyj minimum soderzhaniya obrazovaniya po informatike".

2. Maksim Otstavnov (red.). "Svobodnoe programmnoe obespechenie: biznes-modeli i korporativnye iniciativy" -- M.: GU-VSH|, 2001. Rasshirennuyu versiyu etogo sbornika mozhno najti na: http://www.otstavnov.com/fsr
3. |rik Rejmond. "Sobor i bazar" // "Otkrytye sistemy", ## 09-10, 1999 g.
4. S.V. Sergeev, N.A. Roganova. Prakticheskaya informatika: uchebnoe posobie. CH.1 -- M.: MGIU, 2001. Sm. tzh. http://www.ctc.msiu.ru/materials/
5. "Informatika" # 29, 2002 g.
6. Dokumentaciya na StarOffice 5.2 ("Rukovodstvo pol'zovatelya" i "Instrukciya po installyacii", v sovokupnosti okolo 600 str.) vhodit v russkoe "korobochnoe" izdanie etogo paketa. "Rukovodstvo pol'zovatelya" takzhe (v znachitel'no uluchshennom perevode) izdavala i vklyuchala v "korobochnye" izdaniya svoih distributivov, soderzhashchih StarOffice, moskovskaya kompaniya ASPLinux (www.asplinux.ru). Sleduet zametit', chto OO.o 1.0 neskol'ko otlichaetsya ot StarOffice 5.2 i bolee rannih versij; odnako edinstvennym ser'eznym s tochki zreniya pol'zovatelya otlichiem yavlyaetsya lish' otsutstvie edinogo "rabochego stola" v pervom.

7. Sergej Glushakov, Aleksej Suryadnyj. Linux dlya doma i ofisa: Uchebnyj kurs. -- Har'kov: "Folio", 2002. -- 389 s. Nesmotrya na nazvanie, bOl'shaya chast' etoj knigi posvyashchena prikladnym svobodnym paketam, i v tom, chto kasaetsya OO.o i Mozilla, ee soderzhanie nespecifichno dlya Linux (ili kakih-libo konkretnyh OS voobshche). CHast' III, posvyashchennaya OW -- eto stodesyatistranichnoe (t.e. zanimayushchee bolee chetverti knigi) opisanie bazovoj funkcional'nosti OW s tochki zreniya pol'zovatelya.V OpenDraw udelili vsego 7 stranic. CHast', posvyashchennaya OpenCalc -- eto vos'midesyatistranichnoe (t.e. zanimayushchee okolo chetverti knigi) opisanie bazovoj funkcional'nosti OpenCalc s tochki zreniya pol'zovatelya.

8. Anton Ionov i dr. OpenOffice.ru. Rukovodstvo pol'zovatelya. -- M.: ALT Linux, 2002. -- 115 s. Dvadcat' pyat' stranic etoj broshyury, ne prodayushchejsya otdel'no, no vhodyashchej v "korobochnuyu" komplektaciyu ALT Linux 2.0 Master i OpenOffice.ru i dostupnoj na sajte http://docs.openoffice.ru, posvyashcheno OW, i eto dejstvitel'no kratchajshaya instrukciya po ispol'zovaniyu.V Dvadcat' pyat' stranic posvyashcheno OpenDraw, i eto dejstvitel'no kratchajshaya instrukciya po ispol'zovaniyu, pyatnadcat' stranic --V  OpenCalc

Dlya metodicheskih celej cenno to, chto eto svobodnaya kniga, izdannaya pod licenziej GNU dlya svobodnoj dokumentacii (GNU FDL) i, sootvetstvenno, ona mozhet ispol'zovat'sya (vklyuchaya modifikaciyu i rasprostranenie) bez dopolnitel'nyh razreshenij ili otchislenij avtoram (ne zabyvajte o soblyudenii neimushchestvennyh prav avtorov i o tom, chto rasprostranenie modificirovannoj versii dopuskaetsya lish' na usloviyah toj zhe licenzii).

9. S.V.Andreev, N.A.Roganova. Prakticheskaya informatika: Uchebnoe posobie. CHast' 1. -- M.: MGIU, 2001. -- 348 s. |to tozhe svobodnaya kniga pod GNU FDL, ee mozhno kupit' na bumage ili skachat' otsyuda: www.ctc.msiu.ru/materials/books.php. Posobie konservativno i, nesmotrya na obnovlenie, poka opisyvaet StarWriter 5.2, a ne OW; vprochem, kak uzhe otmechalos', raznica mezhdu nimi s tochki zreniya pol'zovatelya nevelika.

10. T.Roberts, "Tekstovye redaktory" // "CHelovecheskij faktor". T. 6. -- M.: "Mir", 1992

11. Devid Tejnsli "Linux i Unix: programmirovanie v shell" -- Kiev: BHV, 2001

12. Richard Stollmen. Rukovodstvo po GNU Emacs (trinadcataya redakciya) -- M.: Institut logiki, 1999

13. Karin Kylander & Olof S Kylander. GIMP: The Official Handbook. The Coriolis Group: 1999, ISBN 1-57610-520-2

Karina i Olaf Kilander vzyali na sebya nelegkij trud oficial'nogo dokumentirovaniya GIMP, sozdannogo polutora sotnyami programmistov. Napisannyj imi "Oficial'nyj spravochnik po GIMP" dostupen (v raznyh formatah, vklyuchaya gotovye k pechati postscript- i pdf-fajly) so stranic http://manual.gimp.org, on takzhe izdan na bumage The Coriolis Group.

Ostaetsya nadeyat'sya, chto rano ili pozdno eta kniga poyavitsya i po-russki, a poka skachat' eto monumental'noe tysyachestranichnoe izdanie rekomenduetsya vsem, kto chitaet po-anglijski i ispol'zuet ili gotovitsya ispol'zovat' GIMP. Tem, kto poka ne sobiraetsya -- tozhe, poskol'ku, pomimo vsego prochego, eta kniga -- odno iz luchshih vvedenij v rastrovuyu komp'yuternuyu grafiku voobshche.

14. Carey Bunks. Grokking the GIMP New Riders Publishing, 2000; ISBN: 0735709246; 352 pp.

Iz drugoj literatury, posvyashchennoj GIMP, mozhno porekomendovat' napisannyj Keriem Banksom uchebnik Grokking the GIMP, takzhe dostupnyj v Seti na http://gimp-savvy.com/BOOK/.

15 Nikolai Bezroukov. The Orthodox File Manager (OFM) Paradigm. Work in progress // http://www.softpanorama.org/OFM/Ofm_00.shtml

16 D. Englebart, W. English. A Research Center for Augmenting Human Intellect // AFIPS Conf. Proc., Fall Joint Computer Conf. -- San Francisco, 1968.

17 Frederik Bruks. Mificheskij cheloveko-mesyac: dvadcat' let spustya // Ego zhe. Mificheskij cheloveko-mesyac. -- SPb.: "Simvol-plyus", 1999

18 Viktor Vagner. True UNIX GUI // http://www.ice.ru/~vitus/thoughts/true_unix_gui.txt/true_unix_gui.txt

19. "Domashnij komp'yuter" #12, 2002 g. Materialy nomera takzhe dostupny onlajn (http://www.homepc.ru/offline/2002/78/).

20. Matt Uelsh i dr. "Zapuskaem Linux" -- SPb.: "Simvol", 2000

Ob avtore

Maksim Otstavnov <maksim@otstavnov.com> (www.otstavnov.com) -- vedushchij analitik kompanii TechInvestLab.com, chlen redkollegij ezhenedel'nika "Infobiznes" (www.ibusiness.ru) i ezhemesyachnika "CIO" (www.cio.ru), chlen rabochej gruppy po zakonodatel'stvu v oblasti elektronnoj ekonomiki pri Predsedatele SF Federal'nogo sobraniya RF, chlen ekspertnogo soveta fonda "Novaya ekonomika" (www.neweco.ru).

Osnovnaya oblast' professional'nyh interesov -- gumanitarnye aspekty i sociokul'turnye effekty informacionnyh tehnologij. Avtor bolee 150 statej, redaktor-sostavitel' sbornika "Svobodnoe programmnoe obespechenie: biznes-modeli i korporativnye iniciativy" ( M.: GU-VSH|, 2001).

1 Naprimer, tipichnaya cena odno-dvuhdiskovogo distributiva rossijskoj sborki, vklyuchayushchego soft, dostatochnyj dlya obespecheniya shkol'noj programmy po informatike, ne prevyshaet trehsot rublej, v to vremya, kak komplekt Microsoft Windows i Microsoft Office, pokryvayushchij lish' chast' programmy, so vsemi skidkami obojdetsya ne deshevle treh tysyach.

2 Vozmozhno, ispol'zovanie dvoichnyh formatov i bylo opravdanno vo vremena, kogda pozvolyalo ekonomit' bajty pamyati i nositelej na "personalkah" s krajne ogranichennymi apparatnymi resursami. V to zhe vremya, sovremennye komp'yutery (dazhe otnosimye k klassu personal'nyh, "startovogo urovnya") obladayut resursami, pozvolyayushchimi organizovat' gorazdo bolee udobnuyu shemu: szhatie "na letu" po standartnomu algoritmu standartno razmechennogo teksta ili inyh dannyh.

3"V devichestve" (do togo, kak amerikanskaya korporaciya Sun Microsystems priobrela nemeckuyu kompaniyu StarDivision i svobodno licenzirovala kod, prava na kotoryj prinadlezhali ranee poslednej) paket nazyvalsya StarOffice, a word-processor -- StarWriter; pod takim nazvaniem on poluchil izvestnost' i obrel dostatochnuyu populyarnost', v tom chisle, i v Rossii (osobenno versii 5.1 i 5.2).

4 Krivuyu obucheniya mozhno sgladit', sozdav dopolnitel'nyj nabor makrokomand pod konkretnyj kurs i, navernoe, eto pravil'nyj sposob, no on potrebuet ot metodista nezauryadnogo znaniya ne tol'ko Emacs, no i Emacs Lisp.

5 My ne kasaemsya zdes' special'nogo voprosa o slozhnyh formatah kodirovaniya, vklyuchayushchih vektornye elementy i fragmenty rastra, tak zhe, kak i -- rastrovogo i vektornogo -- kodirovaniya dvizhushchihsya izobrazhenij i voprosov szhatiya rastrovyh izobrazhenij.

6 Stoit otmetit', chto stoimost' odnoj kopii poslednego, samogo po sebe ne deshevogo, vmeste so vsemi takimi modulyami sostavlyaet neskol'ko tysyach dollarov.

7 Poskol'ku ispol'zovanie teh ili inyh yazykov programmirovaniya v uchebnom processe samo po sebe yavlyaetsya predmetom postoyannyh sporov, na vsyakij sluchaj stoit, ne pogruzhayas' v glubinu argumentacii, vse zhe zametit', chto avtor priderzhivaetsya ves'ma konservativnyh vzglyadov, i schitaet, chto v kachestve pervogo yazyka luchshe vsego podhodyat Algol-60, Paskal', APL ili lyuboj drugoj prostoj yazyk sentencional'nogo programmirovaniya, libo prostoj ob®ektnyj yazyk napodobie Logo. Ispol'zovanie yazykov, pooshchryayushchih plohoj stil' (kak Bejsik) ili loyal'no k nemu otnosyashchihsya (kak S), vo vsyakom sluchae, ne kazhetsya emu udachnym vyborom. Krajne vazhnym emu kazhetsya hotya by poverhnostnoe znakomstvo kak minimum s dvumya s raznymi (razrabotannymi v orientacii na raznye paradigmy) yazykami.

8Vozmozhnost'yu predstavit' ih obzor v kompaktnom vide avtor obyazan prezhde vsego svoim soavtoram po [3] Egoru Grebnevu, Sergeyu Ivanovu, Mihailu SHigorinu.

9 Sleduet otmetit', chto bol'shinstvo bazovyh funkcij okonnyh menedzherov pri ispolnenii opirayutsya na podderzhku okonnoj sistemoj X funkcij dvumernoj graficheskoj akseleracii (uskoreniya), realizovannyh prakticheski vo vseh sovremennyh graficheskih adapterah. V otlichie ot trehmernoj akseleracii, poleznoj lish' dlya dostatochno uzkogo kruga prilozhenij (programm trehmernogo modelirovaniya, komp'yuternyh igr), dvumernaya akseleraciya -- dejstvitel'no universal'na polezna dlya graficheskogo pol'zovatel'skogo interfejsa. Pri ispol'zovanii karty bez dvumernogo uskoreniya ili karty, ch'ya akseleratornaya funkcional'nost' ne podderzhivaetsya sistemoj X, mozhno rekomendovat' nastrojku sredy dlya isklyucheniya, naprimer, vizualizacii peremeshcheniya okna so vsem ego soderzhimym, daby izbezhat' neopravdannogo rosta nagruzki na processor i dramaticheskogo padeniya proizvoditel'nosti.)

10 Imeyutsya v vidu graficheskie obolochki (Microsoft Windows 1.x, 2.x, 3x, 9x i Me), a ne semejstvo Microsoft Windows NT (segodnyashnimi versiyami kotoryh yavlyayutsya Microsoft Windows 2000, XP i .NET Server).

11 Zdes' i dalee "internet" s malen'koj bukvy oboznachaet summu setevyh tehnologij, osnovannyh na protokolah TCP/IP, a "Internet" s zaglavnoj -- vsemirnoe soobshchestvo internet-setej. Vozmozhno razvorachivanie internet-setej, ne vhodyashchih v Internet. Slovo "internet" -- sokrashchenie ot internetworking, chto bukval'no oznachaet vsego lish' "mezhsetevoe vzaimodejstvie".

12 Vse sushchestvuyushchie realizacii voshodyat k Berkley TCP/IP Stack v kachestve zhivogo prototipa, hotya v nekotoryh OS sam tekst realizacii uzhe perepisan po neskol'ko raz.

13 Real'no ispol'zuyutsya neskol'ko bolee slozhnye priemy, pri kotoryh udalennyj dostup predostavlyaetsya ne k samomu ustrojstvu, a k ocheredi zadanij dlya nego.

14 Naryadu so standartnym SQL.

15 A takzhe vypolnyat' nekotorye drugie lokal'no-setevye procedury, takie kak ob®edinenie otdel'nyh sistem v "domeny" i upravlenie imi.

16 Prakticheski nezametnye v sovremennyh 100-megabitnyh i gigabitnyh Ethernet-setyah.

17 Razdel napisan Andreem Dobrovol'skim <dobr@iop.kiev.ua>. Tekst ranee publikovalsya v [19].


Last-modified: Tue, 22 Apr 2003 08:43:40 GMT
Ocenite etot tekst: