Klawiatura dla programisty: tempo kodu i AltGr
W linii if (i < 10) { x = tab[i]; } na 27 znaków pięć wymaga Shifta, a nawiasy klamrowe i kwadratowe leżą w prawej kolumnie obok Enter, czyli pod najsłabszym palcem. To jedna liczba, która wyjaśnia, dlaczego tempo osiągane na prozie nie przenosi się na kod, i dlaczego nie ma w tym niczego niepokojącego.
Dlaczego proza i kod to dwie różne czynności
Pisząc prozę, czytasz wyprzedzająco. Ręka dostaje całe wyrazy, a język podpowiada, co przyjdzie dalej, więc palce pracują na gotowych wzorach ruchu. Kod tej podpowiedzi nie ma: nazwa zmiennej bywa skrótem, kolejność nawiasów zależy od zagnieżdżenia, a średnik pojawia się w miejscu wyznaczonym przez składnię, nie przez rytm zdania.
Dochodzi do tego rozkład znaków. W polskim zdaniu na dziesięć naciśnięć wypada zwykle jedna spacja i sporadyczny przecinek, w linii kodu na dziesięć naciśnięć trafiają dwa albo trzy znaki spoza rzędów liter. Każdy taki znak to sięgnięcie po Shift, po prawą kolumnę albo po rząd cyfr, a więc wyjście z pozycji bazowej i powrót.
Trzecia rzecz nie ma nic wspólnego z klawiaturą: pisanie kodu przerywa myślenie. Człowiek zatrzymuje się nad nazwą, cofa o dwie linie, patrzy w podpowiedź narzędzia. Miernik tempa zliczyłby tu przede wszystkim pauzy, dlatego liczba WPM z kodu niczego nie opisuje.
Ile znaków kodu wymaga prawego Alta na polskim programisty
W układzie polski programisty prawy Alt nie jest potrzebny do żadnego znaku używanego w kodzie. Nawiasy klamrowe powstają jako Shift z nawiasami kwadratowymi, pionowa kreska jako Shift z ukośnikiem odwrotnym, tylda jako Shift z klawiszem przy jedynce. Ten układ jest zwykłym QWERTY w wariancie ANSI, a prawy Alt dokłada do niego wyłącznie polskie litery: ą, ć, ę, ł, ń, ó, ś, ź i ż.
Właśnie dlatego programiści w Polsce zostają przy tym układzie. Pozycje znaków zgadzają się z dokumentacją narzędzi i z opisami skrótów, a ogonki są dostępne bez przełączania układu. Pełne rozłożenie tych znaków opisuje osobno tekst o nawiasach i znakach w kodzie.
Konflikt, który naprawdę boli
Kłopot leży w innym miejscu, niż się zwykle sądzi. W Windows prawy Alt działa jak równoczesne Ctrl i Alt, więc każdy skrót zbudowany z Ctrl, Alt i litery zderza się z polską literą przypisaną do tej samej litery. Skrót z Ctrl, Alt i L w środowisku programistycznym może wpisać ł zamiast wykonać polecenie, a Ctrl z Altem i E potrafi wstawić ę.
Rozwiązania są trzy i każde ma cenę. Można przepisać skróty narzędzia na kombinacje bez Alta, można używać lewego Alta razem z Ctrl, bo ta kombinacja nie składa polskich liter na wszystkich klawiaturach, albo można trzymać dwa układy i przełączać je świadomie. Ostatnie wyjście wygląda najprościej, a kosztuje najwięcej pomyłek, bo litera zależy wtedy od stanu, którego nie widać na klawiaturze.
Zamiast zgadywać, sprawdź u siebie, co realnie wychodzi z tych kombinacji. Test klawiatury pokazuje przy każdym naciśnięciu i pozycję klawisza, i znak, jaki z niego wyszedł, więc konflikt widać w jednej próbie.
Dlaczego część programistów pisze na układzie angielskim
Powody są praktyczne. Układ angielski nie ma akordów z prawym Altem, więc żaden skrót się z nimi nie zderza. Dokumentacja, przykłady konfiguracji i opisy skrótów w narzędziach zakładają pozycje z klawiatury ANSI, a więc dokładnie te, które ten układ daje. Przy pracy w zespole mieszanym językowo znika też pytanie, na jakim układzie powstał plik.
Cena jest jedna i konkretna: bez przełączenia układu nie napiszesz po polsku ani słowa z ogonkiem. Kto wybiera to rozwiązanie, zwykle trzyma polski układ do korespondencji i angielski do pracy z kodem, i to działa, dopóki przełączanie jest odruchem, a nie decyzją. Różnicę w kształcie klawiszy między wariantami opisuje tekst o klawiaturze ISO i ANSI, bo od tego zależy, gdzie leży ukośnik odwrotny.
Sprzęt czy ustawienia
Zapytanie o klawiaturę dla programisty prowadzi zwykle do porównań sprzętu, a rozstrzyga się nie na sprzęcie. Nie polecamy modeli i nie sprzedajemy niczego, więc można powiedzieć wprost: o wygodzie pisania kodu decyduje najpierw układ i konfiguracja skrótów, potem kształt klawiatury, a na końcu rodzaj przełącznika.
Trzy cechy sprzętu mają jednak wpływ mierzalny w codziennej pracy. Wariant ISO albo ANSI zmienia miejsce ukośnika odwrotnego i kształt Entera, obecność bloku numerycznego decyduje o odległości ręki do myszy, a rząd cyfr bez luk przyspiesza sięganie po nawiasy. Reszta jest kwestią wygody, a nie tempa, i nie ma sensu udawać, że jest inaczej.
Co z tego wynika dla ćwiczenia
Kod pisze się wolniej niż prozę, u wszystkich, i podnoszenie tempa na znakach składni ma sens tylko do momentu, w którym ręka przestaje ich szukać. Dalej pracę robi układ i konfiguracja narzędzia, nie palce.
Ćwiczenie ma natomiast sens tam, gdzie nawiasy i akordy z prawym Altem spotykają się w jednym tekście. Martwe klawisze pokazują, jak podobnie zachowują się układy z akcentami składanymi w dwóch krokach.
Na rozgrzewkę palców po sesji z kodem dobrze działa tekst z gęstą diakrytyką. Pan Tadeusz, inwokacja Adama Mickiewicza z 1834 roku prowadzi przez wykrzykniki, wielkie litery w apostrofie i całą serię ogonków, czyli przez wszystkie akordy z prawym Altem, które w kodzie zwykle śpią.