github twitter linkedin instagram email
Programování bez frameworku
Aug 6, 2017
2 minutes read

Všichni jedou na goučku

Dočetli jste se o novém super jazyce od Googlu. Tvrdili vám, že spousta firem v něm píše své core, production critical aplikace - jako třeba:

  • Google (Kubernetes, YouTube, dl.google.com)
  • Docker
  • Dropbox
  • DigitalOcean
  • Twitter (docela zajímavé čtení - link)

a další

Stejní lidé vám řekli, že nejlepší je používat go bez těžkopadných frameworků, jichž jsou ostatní jazyky plné a že je mnohem lepší použít využít bohatou standardní knihovnu, kterou udržují samotní tvůrci.

Po napsání pár převážně webových aplikací jim musím dát za pravdu. Pokaždé si vystačím s všehovšudy se 3-10 externími závislostmi. To je asi stokrát míň, než u nodejs. Většinou jde o malé knihovny řešící specifický problém (např. github.com/pkg/errors nebo github.com/gorilla/mux).

Svazující framework

Pakliže ke go přicházíte ze světa nodejs, pak vás tento fakt nevyvede z míry: tam, kde byste v node použili express, použijete net/http ze standardní knihovny a tam, kde byste hledali v npm balíčcích, ten nejvhodnější pro šifrování hesla, podívate se přímo do dokumentace crypto/bcrypt package. Mimochodem, u golang.org/x/crypto/bcrypt, to x znamená, že jde o knihovnu od golang týmu, ale nejsou na ní tak vysoké nároky na kompatibilitu, jako u package ze standardní knihovny.

Pokud přícházíte z jazyka jako je php nebo java, pak to pro vás bude větší šok. Jste zvyklí používat jeden framework, který řeší všechny světové problémy. Jedná se o úplně jiný přístup k programování. Jazyk tady slouží spíše jako garant syntaxe, sémantiku určuje konkrétní framework. To vám přineslo hodně úspory času, protože nemusíte psát už jednou napsané - v tom dobrém případě. V tom horším je váš usecase netradiční, pak hodně štěstí s ohýbáním funkcionalit. Vaše programování sestává spíše z lepení kusů kódu dohromady, než z vytváření něčeho nového.

Shrnutí

Go je nový (né tak docela) programovací jazyk napsaný programátory, kteří se podíleli na tvorbě jazyka C, zaštítený Googlem, který nabírá na popularitě. Jedná se o kompilovaný, silně typový jazyk, který si zakládá na vysoké paralelizovatelnosti a přehledné syntaxi.

Tady na tom blogu se budu snažit ukázat, proč si myslím, že způsob programování v golang je daleko příjemnější - proč je výsledný kód lépe čitelný udržovatelný.


Back to posts


comments powered by Disqus