Mój pierwszy program w Go

Przypadkowe spotkanie z językiem Go
Trafiłam kilka dni temu na bardzo pochlebne opinie na temat statycznego generatora stron jakim jest Hugo. Tym razem, zamast z góry odrzucić głębszą analizę, pomyślałam, że w końcu wejdę na stronę Hugo w poczytam co nieco. Czytałam dokumentację, oglądałam piękne motywy i pomyślałam, że może kiedyś zmigruję mojego bloga… A przy okazji pomyślałam też, że może nie jest za późno na naukę kolejnego języka programowania.
Oto, co odkryłam:
- Deno opiera interfejsy swojej biblioteki standardowej na bibliotece standardowej Go
- Specyfikację czyta się lekko i przyjemnie
- GoByExample.com przejrzałam szybko podczas obiadu
- awesome-go to prawdziwe źródło do odkrywania bibliotek
Poznajemy się bliżej
Od razu pomyślałam, że muszę dotknąć i poczuć ten język pod palcami.
- zainstalowałam go (w Ubuntu domyślnie instaluje sie 1.14)
- zainstalowałam (fantastyczny!) vim-go i przejrzałam tutorial
Pierwsza randka - rysowanie
Kiedy widzę kredki, od razu chcę usiąść i rysować. No i zobaczyłam swoje nowe “kredki”:
- go-colorful - biblioteka do przekształcania kolorów w różnych modelach i do generowania palet
- gg - biblioteka do rysowania na “canvasie”
Czy nie szkoda czasu na romans?
Przecież są wakacje, ptaki śpiewają i w ogóle… Zresztą, ja uwielbiam uczyć się nowych języków programowania, poznawać nowe narzędzia, badać istniejące w danym języku “otoczenie”.
Biorąc pod uwagę moje obecne ograniczenia (tylko krótkie chwile przy komputerze i brak możliwości spędzienia na kodowaniu wielu godzin) tylko takie “romansowanie” wchodzi w grę: mały skok w bok raz na jakiś czas.
Nie mam czasu na wielkie projekty, a te małe mogę szybko zaimplementować. Szybko - bo:
- składnia języka wydaje się bardzo prosta
- kompilator śmiga
- statyczna typizacja pozwala szybko wyłapać błędy
Pierwszy projekt
Napisałam małe narządko do generowania banera na mojego bloga.
Polecenie:
|
|
generuje taki oto obrazek:
Repo
https://github.com/kamchy/banner
Czy warto?
Niekórzy ludzie dbają o dostarczanie bodźców intelektualnych swojej istocie szarej w mózgu poprzez rozwiązywanie szarad czy grę w Sudoku. Inni uczą się języków obcych (hm, powinnam zadbać o mój hiszpański). Dlaczego nauka i programowanie w nowym języku programowania nie miałoby być również sposobem na utrzymanie sprawności intelektualnej na starość?
Nie, żebym się jakoś szczególnie staro czuła. Ale już wiele lat temu spotkałam się z poglądem (i przyjęłam jako własny), że my - programiści - wręcz musimy uczyć się nowych języków po to, aby poszerzyć nasze postrzeganie dziedziny, w której pracujemy. Jeśli ktoś zna tylko Javę, trudno z nim dyskutować o programowaniu funkcyjnym i satysfakcji płynącej z pisania kodu w Lispie. Jeśli ktoś całe życie dłubał wyłącznie w Pythonie, trudno mu przestawić się na język ze statyczną typizacją kodu. I tak dalej.
Jeśli chodzi o możliwości zatrudnienia, to nie sądzę, żeby imponująca lista języków, które “znam” i wymieniam w CV w jakimkolwiek stopniu wpłynęła na decyzję rekrutera o przyjeciu mnie (lub nie) do pracy. Choć lista w miarę “ukończonych” projektów na GitHubie może mieć jakieś znaczenie. Dlatego pewnie warto sobie coś tam podłubać od czasu do czasu i wrzucić, dla satysfakcji albo jako backup.
W moim przypadku GitHub to taki zrzut prób, eksperymentów i ciekawostek, niezbyt się nadaje na “portfolio”, ale przestałam się tym przejmować i wrzucam.
A tak w ogóle, to co to znaczy “warto”? Być może lepszą inwestycją byłoby zgłębianie SQL-a (zawsze się przyda w pracy) czy odświeżenie wiadomości o Hibernate lub Springu, no ale… ale… hm. To po prostu nie jest zabawne. Człowiek nie żyje po to, żeby pracować.
A trochę radości też mi się w życiu należy, prawda? :)