5 darmowych programów must-have dla każdego programisty
Nikomu dziś nie trzeba przedstawiać takich narzędzi deweloperskich jak Visual Studio Code, Git, Docker czy Confluence. Obok nich istnieje jednak osobna kategoria oprogramowania, która nie jest stricte związana z powstaniem kodu, dbałością o jego kod czy utrzymywaniem repozytoriów.
Mowa o swojego rodzaju szwajcarskich scyzorykach, mulititoolach programisty – zazwyczaj nieskomplikowanych, lecz praktycznych programów użytkowych, które zwyczajnie się przydają. Nieoczywistych, często nieodkrytych narzędziach, które raz zainstalowane sprawią, że stają się nieodłącznym narzędziem pracy nad oprogramowaniem.
DevToys
Przegląd rozpoczynamy od narzędzia, które zainspirowało nas do przygotowania niniejszego tekstu – DevToys, o którym bez przesady można powiedzieć, że jest właśnie jak scyzoryk – w jednym miejscu, w postaci przejrzystego i łatwego w obsłudze programu GUI, dostępnego niestety tylko na Windowsa, zgromadzone zostały liczne niewielkie narzędzia przydatne na co dzień.
W Dev Toys znajdziemy gros generatorów, konwerterów czy porównywarek, które mogą odczuwalnie przyśpieszyć pracę programisty. Bo niby wszystkie funkcje DevToys znajdziemy bez problemu w pierwszych wynikach Google, ale jednak komfort dostępu do nich z poziomu jednego desktopowego programu działającego również offline jest trudny do przecenienia.
Program umożliwia między innymi konwersję JSON-YAML, wartości liczbowych pomiędzy systemami, kodowanie i dekodowanie w BASE64 czy JWT, formatowanie plików JSON czy XML, generowanie hashy i sprawdzanie sum kontrolnych czy manipulacje na tekście i obrazie. Dostępny jest nawet symulator zaburzeń rozpoznawania barw.
Program jest dostępny za darmo w polskiej wersji językowej i trzeba przyznać, że może stanowić przykład świetnie przygotowanej nowoczesnej windowsowej aplikacji wykorzystującej nowe frameworki UI Microsoftu, zwłaszcza że jest to projekt rozwijany hobbystycznie przez jedną osobę.
AutoHotKey
AutoHotKey to program pozwalający na pisanie własnych skryptów przyśpieszających i automatyzujących programowanie na Windowsie i w ogóle pracę w środowisku tego systemu operacyjnego. Całość jest darmowa, opensource’owa i może stanowić świetny zamiennik dla skryptów w Pythonie. Wystarczy zapoznać się z dziecinnie łatwą składnią, uruchomić notatnik, przygotować skrypt, zapisać go jako plik o rozszerzeniu .ahk i opcjonalnie dodać go do autostartu.
Prostota obsługi bynajmniej nie jest jednoznaczna z tym, że możliwości AutoHotKey są ograniczone. Wręcz przeciwnie, to bodaj jedno z najlepszych, najbardziej zaawansowanych narzędzi pozwalających na remapowanie klawiszy klawiatury, przygotowywanie autorskich skrótów klawiszowych, np. przywołujących całe bloki kodu, pozwalających na pisanie własnych skryptów autokorekty czy zaawansowane zarządzanie systemowym schowkiem.
Cold Turkey
Czas na narzędzie adresowane do tych, którzy miewają problemy z koncentracją. Cold Turkey to program służący do blokowania witryn internetowych, tak aby nic nie odrywało programisty od jego pracy. Program w wersji podstawowej dostępny jest za darmo, zaś w wersji płatnej (169 zł za dożywotnią licencję) pozwala na blokowanie aplikacji desktopowych i przygotowywanie całych długookresowych harmonogramów blokowania.
Jeśli więc masz tendencję do odrywania się od pracy, by zerknąć, jaka burza ma aktualnie miejsce na Twiiterze, to Cold Turkey będzie świetnym wyborem. Program pozwala na blokowanie konkretnych URL-i, całych domen, słów kluczowych, ale też wszystkich witryn – wówczas wystarczy dodać do wyjątków np. Stack Overflow, by z jednej strony zachować produktywność, a z drugiej dostęp do niezbędnych stron. Dostępny jest też panel gromadzący statystyki – wszystko to lokalnie, na desktopie, bez telemetrii i chmury.
Ponadto można ustanawiać reguł, według których blokady będą obowiązywać tylko w określonym czasie lub sprawiających, że zdjęcie blokad będzie wymagało czegoś angażującego – przepisania serii generowanego losowego tekstu czy nawet ponownego uruchomienia komputera. Słowem – działań, które powinny sprawić, że przypomnisz sobie, że powinieneś właśnie programować, a nie oglądać filmy na YouTube.
Habitica
Pozostajemy w temacie produktywności. Na uwagę zasługuje bowiem program Habitica, dzięki któremu można organizować pracę i śledzić swoje postępy z rozróżnieniem na konkretne taski. Habitica nie różni się więc zasadniczo od licznych innych programów tej kategorii. Kluczowe jednak nie to, co robi Habitica, lecz jak. Twórcy wpadli bowiem na pomysł motywowania użytkownika poprzez systemy kojarzone z grami cRPG. Habitica dostępna jest z poziomu przeglądarki i aplikacji mobilnych.
W Habitice przygotowujemy swój awatar, a za wykonywanie zadań zorganizowanych w postaci list przypominających te znane z Trello otrzymujemy symboliczny nagrody – zupełnie jak w erpegach zdobywamy doświadczenie, rozwijamy postać. Za ociąganie się z taskami zostajemy natomiast karani utratą zgromadzonych zasobów. Do dyspozycji mamy ekwipunek, sklepy, gildie, można nawet budować drużynę ze znajomymi lub współpracownikami. Choć całość może się wydawać infantylna, to z pewnością znajdzie się grono użytkowników, których taki format będzie przekonywał.
Silver Searcher
Zestawienie zamyka pozornie niewielkie, lecz w praktyce potężne narzędzie – wyszukiwarka kodu Silver Searcher. Od strony funkcjonalności nie różni się ono zasadniczo od popularniejszego programu ack, z któego się wywodzi, jednak jest lepiej zoptymalizowane i przeszukiwanie nawet dużych baz kodu przebiega dzięki Silver Searcher po prostu szybciej. Program jest darmowy, opensource’owy, dostępny na Linuksa, Windowsa, macOS-a i *BSD i obsługiwany z poziomu konsoli.
Dzięki poleceniom spisanym w składni przypominającej tę z grepa możliwe jest przeszukiwanie, filtrowanie pojedynczych plików, jak i całych lokalizacji zgodnie z podaną frazą lub też wzorcem, dostępne są liczne opcje dodatkowe, jak rozróżnienia ze względu na wielkość liter, statystyki wyszukiwania, przeszukiwanie skompresowanych plików czy śledzenie powiązań symbolicznych. Słowem, świetny zamiennik dla acka.
Korzystacie z innych przydatnych programów użytkowych, które usprawniają pracę programistyczną? Koniecznie dajcie znać w komentarzu, z jakich!