Monday, November 9, 2009

Vim - otsetee mõttest koodini






Tuntud tekstiredaktor nimega Vim on minu igapäevane töövahend. Ta ei ole seda üldse vägisi - ma olen ta valinud endaga kaasas käima. Ei saa just öelda, et valin töökohta selle põhjal, kas saan Vim-iga koodi kirjutada, aga kui võrrelda minu efektiivsust ja head tuju Vim-i ja näiteks Visual Studio redaktoriga töötades, siis viimast peale surudes peab tööandja ilmselt arvestama topelt ajakulu ja minu katkiste närvidega.

Vim ja tema eelkäija Vi on nii vanad redaktorid, et võimaldavad töötada täiesti ilma hiirt kasutamata. Miks mulle hiir ei meeldi? Minu arust soodustab hiire pidev kasutamine lihaskasutuse ebasümmeetriat ja see omakorda toob kaasa lihaspinged. Olgu, tegelikult on enamikku tarkvaravahendeid võimalik nii seadistada, et hiirt pole vaja - määrad kiirklahvid ja toimib. Nii et eriline argument see klaverile suunatus muidugi pole.

Aga kuidas sa mõnes suvalises redaktoris teed seda, mida visual block? Noh et valid ära 10 rida ja sisestad iga rea ette üheainsa liigutusega näiteks paljudes keeltes esineva kommentaarimärgi '#'? Kommentaarimärk on ka võib-olla paha näide, sest programmeerimiseks mõeldud redaktorid pakuvad vist enamasti võimalust koodiplokki sisse ja välja kommenteerida. Aga visual blocki abil saad ju suvalisel positsioonil võtta ette suvalise liigutuse ja seda kogu valitud plokile rakendada. Väga kodune.

Ükskord me aga avastasime kodus (juhtumisi elan ühe omasugusega, kes ka igapäevatöös Vim-i kasutab), et kui oled Vim-i kasutamisel tõeliselt vilunud, võib see tegevus kõrvaltvaatajale paista paraja maagiana. Alam-aknad tekivad ja kaovad, asetuvad üksteise suhtes ümber; koodiplokid tekivad ja kaovad; funktsioonide definitsioonid avanevad ja sulguvad; hüppad koodis markerite abil kuhu iganes ja noh, näiteks ctagsi abil ka funktsiooni väljakutse juurest otse tema definitsiooni algusesse.

Aga ma pole oma argumentatsiooniga ikkagi rahul. Kindlasti võiks täpselt samasugust kiidulaulu kuulda Emacsi ja Eclipse'i ja tõesti ilmselt ka Visual Studio kohta, lihtsalt tuleb otsida vastavat redaktorit väga armastav inimene.
Samas kaldun arvama, et võib-olla on programmeerijatele mõeldud töövahendid lihtsalt kujunenud tarkvaraergonoomika osas väga headeks - vastasel juhul keegi lihtsalt ei kasutaks neid.

Selles mõttes võiks öelda, et iga redaktor, mida kasutab märkimisväärne hulk programmeerijaid oma igapäevatöös, aastaid ja hoolimata töökohtade ja projektide muutumisest, väärib ergonoomika osas esiletõstmist. Kusjuures ilmselt on ka nii, et kui oled ühe omaks võtnud, siis teised tunduvad tüütud, mõttetud, kohmakad, liiga hiirepõhised.

No comments:

Post a Comment