Nareszcie edytor dla ludzi?

Programowanie to sprawa zbyt poważna, by pozostawić ją w rękach programistów - to wcale nie jest paradoks, tylko obiektywna prawda.

Programowanie to sprawa zbyt poważna, by pozostawić ją w rękach programistów - to wcale nie jest paradoks, tylko obiektywna prawda. Wystarczy uświadomić sobie różnicę punktów widzenia, jakie dzielą autora programu i użytkownika. Ten pierwszy grzebie się w głębokich trzewiach programu i najbardziej zajmują go problemy całkowicie obce temu drugiemu - jak zrobić efektywne sortowanie rekordów, szybkie przewijanie tekstu, przeszukiwanie bazy danych, itp. Użytkownik wprost przeciwnie - porusza się wyłącznie w obszarze, który dla zainteresowań programisty jest marginalny. Programista, zafrapowany szukaniem odpowiedzi na pytanie "Jak to zrobić?", ma naturalną tendencję do lekceważenia odpowiedzi na pytanie poprzedzające: "Co zrobić?", fundamentalne właśnie dla użytkownika. Więź między autorem programu i użytkownikiem przypomina tę, która łączy nurka i żeglarza - jeden penetruje głębiny, drugi porusza się jedynie po powierzchni; wcale nie muszą uważać, iż mają sobie coś do powiedzenia.

W pewnym stopniu potwierdzeniem powyższej tezy jest historia rozwoju edytorów tekstu. Jako wieloletni użytkownik edytorów wiem, co mówię. Edytory rozwijają się bardziej po linii wyznaczonej przez skłonność programistów do popisywania się umiejętnościami, niż przez prawdziwe potrzeby tych, którzy się nimi posługują.

Dotychczasowy rozwój edytorów można w skrócie opisać następująco: najpierw pojawiły się bardzo proste programy, pozwalające po prostu pisać i składować tekst na dysku, wkrótce uzupełnione o operacje na blokach tekstu. Następnie doszły pewne funkcje systemowe, takie jak kopiowanie, przesuwanie, odczytywanie katalogów, a także wspomaganie leksykalne (głównie słowniki ortograficzne i słowniki synonimów). A potem się zaczęło - organizacja rozdziałów, komunikacja z bazami danych, arkuszami kalkulacyjnymi, włączenie poczty elektronicznej, tryb graficzny, myszy, ikony i multum innych rzeczy, które aż strach wymieniać.

A tymczasem co jest potrzebne sekretarce, dziennikarzowi, pisarzowi czy tłumaczowi? W 99 % chodzi im o to, by móc tekst po prostu napisać, a następnie zredagować. Komuś, kto mniej lub bardziej profesjonalnie pracuje nad tekstami, najbardziej potrzebne są rzeczy całkiem podstawowe: prosty sposób na szybkie przeniesienie słowa w inne miejsce, zmiana porządku dwóch liter w przypadku tzw. czeskiego błędu, przeniesienie akapitu, wyszukiwanie ciągów znaków, przeglądanie tekstu. I niewiele więcej! Komunikacja z arkuszem kalkulacyjnym to rzecz bardzo efektowna - w życiu przydatna raz na pół roku. Ktoś, kto pracuje nad książką, sam sobie doskonale da radę z panowaniem nad rozdziałami, a nigdy nie pracuje się nad kilkoma książkami naraz.

Jest rzeczą trudną do pojęcia, dlaczego edytory, mimo tak spektakularnego rozwoju, nadal sprawiają nadmierne i całkowicie zbędne trudności przy najprostszych operacjach. W dodatku, działa coś w rodzaju prawa Kopernika o pieniądzu - edytory lepsze są wypierane przez gorsze. Tak właśnie się stało z bardzo dobrym WordStarem 2000, który definitywnie przegrał z WordPerfectem, zaś koszmarny Word święci triumfy nad jednym i drugim.

I oto, gdy już straciłem nadzieję, że doczekam się edytora, który, oszczędzając mi zapierających dech w piersiach opcji, pozwoli po prostu efektywnie pracować nad tekstem, pojawiło się coś, co ma wiele wspólnego z wyobrażeniami o ideale. Ratunek nie przyszedł, o dziwo, ani z Microsoftu, ani od Horstmana, tylko z polskiego Malkomu, i przyjął postać QR-tekstu.

A oto lista rewelacji, jakie można znaleźć w tym programie, niedostępnych prawie nigdzie indziej, a w każdym razie nie wszystkie naraz: gdy się kasuje słowo, to stojący za nim przecinek lub kropka nie są kasowane; na <Ctrl-[w lewo]/[w prawo]> chodzi po pierwszych literach słów zatrzymując się po drodze na kropkach, przecinkach i średnikach; wielokrotne "Undo"; chodzenie kursorem po początkach akapitów; samoczynne, powolne przewijanie tekstu aż do ręcznego zatrzymania; wyszukiwanie pojedynczych znaków w uproszczonym trybie; naturalny sposób definiowania makropoleceń.

Nic nadzwyczajnego, prawda? Tyle, że w takich przypadkach jak poprawienie słowa "niesubodrynacja" nie trzeba klepać wielokrotnie klawisza "strzałki", czy też grać w ruletkę z kursorem, wystarczy klepnąć: <+><r><Ctrl-V>. Kto się bawi w korektę na większą skalę, ten doceni. Co prawda, brak bezpośrednio wmontowanej równie szybkiej możliwości przeniesienia całego słowa z jednego miejsca w drugie, ale można zrobić makroinstrukcję, która to załatwi: {<Ctrl-[w prawo]> <Ctrl-[w lewo]> <Ctrl-W>}, a potem <Ctrl-P>.

Tak niewiele potrzeba do szczęścia! Ciekaw jestem, czy Autor programu miał proroczy sen, czy po prostu porozmawiał z jakimś użytkownikiem?

Do niebagatelnych zalet należy możliwość robienia tzw. zrzutów ASCII z zachowaniem polskich liter w zadanym standardzie, a takżę umiejętność czytania plików zapisanych w formacie kilku popularnych edytorów, choć to nie jest już (na szczęście) cecha wyjątkowa.

Nie ma jednak róży bez kolców.

Uderza pewien brak konsekwencji w koncepcji bloków tekstu. Autor wyraźnie był na tropie znakomitego pomysłu, jakim byłaby zasada, że przy zdefiniowanym bloku nadal działa menu główne, z tą różnicą, że zasięg oddziaływania jego funkcji jest ograniczony do obszaru bloku. Spowodowałoby to, jak sądzę, znaczne uproszczenie struktury menu, jednocześnie rozszerzając możliwości operacyjne.

Program tworzy aż trzy rodzaje plików przechowujących dane o formacie tekstu - format strony, format akapitu i plik przechowujący wartości zmiennych globalnych. W dodatku, dwa z tych plików są umieszczane w ścieżce systemowo aktywnej, prowokując niezwykłe ich rozmnożenie. Powstaje w ten sposób ogromna mnogość formatów różnych typów, nad którymi nie sposób zapanować pamięciowo. Proponowałbym ograniczenie się do jednego pliku formatującego, wzorem wielu innych edytorów.

Jest jeden drobny, lecz dokuczliwy błąd - jeżeli kursor stoi na ostatnim słowie w linii, to <Ctrl-[w prawo]> powoduje przeskok o jedno słowo za daleko. Proponowałbym też wykorzystanie kombinacji <Ctrl-PgDn/PgUp>, obecnie nie aktywnej, do przesuwania kursora na koniec/początek strony ekranowej.

Słownik ortograficzny działa efektywnie, lecz nie proponuje podpowiedzi; mam nadzieję, że w następnej wersji to się zmieni. Niezbyt szczęśliwe jest umieszczanie słownika haseł dodanych przez użytkownika w ścieżce aktywnej, a nie obok słownika podstawowego, przez co nie jest on dostępny z innych ścieżek. Słownik synonimów uderza wysokim poziomem opracowania leksykalnego. Ale - uwaga - po wybraniu synonimu "odległego", rekomendowanego z komentarzem: "Patrz także:", edytor się zawiesza (przynajmniej na moim komputerze).

Na komputerach klasy XT program działa dość powoli. Jednak, jak sądzę, jest to cena zapłacona za ogólność programu źródłowego, który daje się kompilować również pod innymi systemami operacyjnymi. To jest z kolei niebagatelna zaleta - jeżeli kogoś los przerzuci z DOS-u do UNIX-u lub SunOS-u, to będzie mógł zabrać ze sobą swój ulubiony edytor.

Pomimo tych zastrzeżeń, nie będę ukrywał, że w pracy właśnie przeszedłem na QR-tekst.


TOP 200