Co je hlavní téma? Že Go je občas divné a mnohdy se víc hodí Rust?
Hlavní téma je, jestli je Go vhodný jazyk pro začátečníka. A já v něm vidím mnoho (ne pár) věcí, které mi říkají, že spíš ne.
Jenom pro příklad:
- Nemyslím si, že by začátečník měl dostat do hlavy, že enum je prostě int.
- Nemyslím si, že by se měl naučit, co je to ukazatel, ale že je celkem jedno, jestli použije ukazatel nebo hodnotu, že je to často jenom otázka stylu a vkusu.
- Naopak si myslím, že by se měl (když už chce staticky typovaný jazyk) naučit chápat typy a jejich vztahy co nejvíc obecně
- Pochopit, že typ je nějaká množina a když s ním pracuju, musím počítat se všemi možnostmi
- Myslím si, že by se měl naučit používat algebraické typy
- Bylo by fajn, kdyby se naučil používat generika a myslet v pojmech "zobecnění" a "specializace"
- Nemyslím si, že by za každým řádkem měl psát boilerplate "if err != nil {...}"
- Nemyslím si, že by si měl naučit, co je to konkurentnost, ale zároveň si mezi coroutinami posílat ukazatele a rvát si vlasy, že se mu to po úspěšném přeložení občas chová úplně ujetě a neví proč.
Go je prostě takový svojský jazyk. Kombinace úplně skvělých věcí a věcí úplně na hovno, u kterých fakt člověk kroutí hlavou, proč v jazyce jsou/nejsou. Je fantastický pro rychlé psaní jednoduchých, dobře definovaných věcí člověkem, který už trochu programovat umí. Ten totiž ty jeho bizarní stránky může vzít jako fakt a nebude si myslet, že "takhle to je". Bude dobře vědět, že "takhle to je jenom v Go" a může to být i jinak.
akorát někdo si to myslí i bez jazykových válek a urážení Pika a spol.
Je pravda, že jsem to neoprávněně personifikoval na Pika. Nechal jsem se strhnout tím, že o něm tady byla řeč. Spravedlivé by bylo se zamýšlet nad tím, jestli
někdo z těch tří hlavních kapitánů Go nemá náhodou nějakej závažnej problém (pravděpodobně s egem).
Proti Pikovi osobně nic nemám. Je sympaťák, nosí ujetý hadry, což kvituju, má skvělý přednášky (kdybych nikdy neviděl Go, myslel bych si, že je génius a všechno, na co šáhne, musí být skvělý) a má za sebou nesporně skvělý, fascinující projekty, který se ale z nějakýho důvodu většinou neujaly. A nemůžu si pomoct, ale šťourá ve mně červíček, jestli se náhodou ty "nějaké důvody" nepromítají i do designu Go...