Nawiasy i znaki w kodzie: gdzie leżą na klawiaturze
Nawias klamrowy powstaje na układzie polski programisty jako Shift z nawiasem kwadratowym, a na niemieckim QWERTZ jako AltGr z siódemką i AltGr z zerem. Ten sam znak, dwie zupełnie różne drogi, i to jest źródło większości kłopotów z pisaniem kodu na obcej klawiaturze.
Sześć znaków, o które chodzi
W kodzie wracają nieustannie te same znaki spoza alfabetu: nawiasy klamrowe, nawiasy kwadratowe, nawiasy ostre, ukośnik odwrotny, pionowa kreska i tylda. Do tego dochodzą znaki, które istnieją też w prozie, więc rzadziej sprawiają kłopot: nawiasy okrągłe, dwukropek, średnik, gwiazdka i znak zapytania.
Kluczowa uwaga na początek: nadruk na klawiszu nie decyduje o niczym. Znak wynika z układu wybranego w systemie, a nie z tego, co wytłoczono na plastiku. Klawiatura kupiona w Niemczech przełączona na polski programisty pisze polskie znaki, mimo że pokazuje niemieckie.
Polski programisty i ANSI, czyli ten sam rozkład
Układ polski programisty jest zwykłym QWERTY z klawiatury ANSI, do którego dołożono polskie litery pod prawym Altem. Znaki kodu leżą więc dokładnie tam, gdzie w układzie angielskim.
- Nawiasy kwadratowe zajmują dwa klawisze na prawo od P, bez żadnego modyfikatora.
- Nawiasy klamrowe to Shift z tymi samymi dwoma klawiszami.
- Ukośnik odwrotny leży nad Enterem w wariancie ANSI, a pionowa kreska to Shift z tym samym klawiszem.
- Tylda to Shift z klawiszem po lewej stronie jedynki, tym samym, na którym siedzi znak wstecznego apostrofu.
- Nawiasy ostre to Shift z przecinkiem i Shift z kropką.
Wniosek praktyczny jest wygodny: do znaków kodu prawy Alt nie jest tu potrzebny w ogóle. Zostaje w całości dla ą, ć, ę, ł, ń, ó, ś, ź i ż, co nie znaczy, że obywa się bez kolizji, bo skróty z Ctrl i Altem opisuje osobno tekst o klawiaturze dla programisty.
Co zmienia kształt ISO
Klawiatura w wariancie ISO ma Enter wysoki na dwa rzędy i o jeden klawisz więcej niż ANSI. Ukośnik odwrotny przenosi się wtedy z góry na prawo, obok Enter, a między lewym Shiftem i literą Z pojawia się dodatkowy, wąski klawisz, którego w ANSI zwyczajnie nie ma.
Ten dodatkowy klawisz jest cichym bohaterem całej sprawy. W układzie niemieckim leżą na nim nawiasy ostre i pionowa kreska, w wielu układach romańskich inne znaki, a w polskim programisty powiela ukośnik odwrotny. Różnice w kształcie i liczbie klawiszy między wariantami opisuje tekst o klawiaturze ISO i ANSI.
QWERTZ, czyli klamry pod cyframi
Na niemieckim QWERTZ prawie wszystkie znaki kodu wymagają prawego Alta i to on jest tam jedyną drogą.
- Nawias klamrowy otwierający to AltGr z siódemką, zamykający to AltGr z zerem.
- Nawias kwadratowy otwierający to AltGr z ósemką, zamykający to AltGr z dziewiątką.
- Ukośnik odwrotny to AltGr z klawiszem ß, a pionowa kreska AltGr z dodatkowym klawiszem przy literze Y.
- Tylda to AltGr z klawiszem plus, po prawej stronie litery Ü.
- Nawiasy ostre leżą pod dodatkowym klawiszem ISO obok lewego Shiftu, bez modyfikatora.
Do tego Y i Z są zamienione miejscami, więc nawet nazwy zmiennych piszą się inaczej. Osoba przyzwyczajona do polskiego programisty traci na takiej klawiaturze nie tempo, tylko pewność, bo każdy nawias wymaga świadomej decyzji.
Podobnie działa układ AZERTY, gdzie nawiasy również siedzą pod prawym Altem razem z cyframi. Które litery wymieniły się miejscami, najszybciej widać w teście klawiatury: pokazuje pozycję fizyczną klawisza obok znaku, który z niej wychodzi.
Polski maszynistki, czyli układ 214
Drugi polski układ systemowy, nazywany maszynistki albo 214, rozwiązuje diakrytykę inaczej: polskie litery mają w nim własne klawisze, bez akordów z prawym Altem. Cena tego rozwiązania jest taka, że litery i znaki muszą się przesunąć, więc pozycje nawiasów, cudzysłowu i części znaków działań nie zgadzają się z klawiaturą ANSI.
Do pisania kodu ten układ prawie się nie używa i powód jest praktyczny, nie ideologiczny. Dokumentacja narzędzi opisuje pozycje z klawiatury angielskiej, a skróty w programach są pod nie zaprojektowane, więc na układzie 214 trzeba by uczyć się dwóch map naraz. Porównanie obu polskich układów zasługuje na osobny tekst, tutaj wystarczy sama różnica.
Dlaczego AltGr bywa jedyną drogą
Powód jest arytmetyczny. Układ musi pomieścić litery narodowe, więc miejsca zajęte w angielskim przez nawiasy i znaki działań idą na umlauty, akcenty albo ogonki. Klawiszy nie da się dołożyć, zostaje więc trzecia warstwa nad każdym klawiszem, otwierana prawym Altem. Stąd bierze się reguła, że im więcej znaków narodowych w układzie, tym więcej znaków kodu schodzi do warstwy z prawym Altem.
Jak sprawdzić, co naprawdę wychodzi z klawisza
Zwykły edytor pokazuje tylko wynik, a przy nauce potrzebna jest też informacja, który klawisz został naciśnięty. Test klawiatury rozdziela te dwie rzeczy: pozycję fizyczną klawisza podaje niezależnie od układu, a obok pokazuje znak, jaki system z niego wyprowadził. Dzięki temu nawiasy, ukośniki i tylda wyświetlają się poprawnie nawet wtedy, gdy nadruk mówi coś innego niż układ, a klawisz, który tylko czeka na drugie naciśnięcie, zachowuje się jak martwy klawisz i widać to od razu.
Po takiej mapie znaków przyjemnie przejść na tekst, w którym interpunkcja jest treścią, a nie składnią. Wstęp do bajek Ignacego Krasickiego z 1779 roku to wyliczenie zbudowane z powtarzanego początku wersu i rozdzielone średnikami, więc palec ćwiczy w nim ten jeden znak z prawej strony rzędu środkowego, który w kodzie kończy niemal każdą linię.