Vlákno názorů k článku Nechte Go plavat, teď sviští Java od lzap - Autor řeší zcela nerelevantní věci, hlavní síla Go...

  • Článek je starý, nové názory již nelze přidávat.
  • 5. 12. 2018 21:02

    lzap

    Autor řeší zcela nerelevantní věci, hlavní síla Go je čistost a čitelnost. A tak to má zůstat i nadále. Java je pravý opak, mnoho let se tam věci přidávají a přidávají. Srovnávat tyto jazyky je srovnávání hrušek s jablky. A hlavně dělat srovnání na základě nějakých mikrobenchmarků nebo nejhůř doby startu to snad v éře webových aplikací a služeb ani nemá cenu komentovat.

    Jak říká Rob Pike, ať si kažý používá jaký jazyk chce, na co chce! Já stále na text processing používám Perl, protože se mi to prostě dělá nejlíp. Mimochodem Docker není kontajner, ani kontejner. Ale pobavilo.

  • 5. 12. 2018 22:03

    MarSik (neregistrovaný)

    > hlavní síla Go je čistost a čitelnost

    Čitelnost samotné syntaxe ano.

    Jenže čitelnost algoritmů v Go napsaných už moc ne. "Neexistence" výjimek (vím o panicu), neexistence generik, rozumných kolekcí a algoritmů znamená, že pro stromy (ify, fory a error handling) nevidíte les (vysokoúrovňový záměr).

    > Já stále na text processing používám Perl, protože se mi to prostě dělá nejlíp.

    V pořádku. Však na to byl Perl určený a má na to specializované nástroje.

  • 6. 12. 2018 14:19

    Youda

    Presne tak citelnost GO je velice mizerna.

    Java priklad
    try {
    businessMethod1();
    businessMethod2();
    }
    catch (Exception1) {
    ...
    }
    catch (Exception 2) {
    ...
    }

    GO:

    func ... {

    err1 = businessFunc1();
    if(err1) {
    defer errHandler1();
    }

    err2 = businessFunc2();
    if(err2) {
    defer errHandler2();
    }
    }

    func errHandler1() ....
    func errHandler2() ...

    V Jave, kdyz chci pochopit korektni business kodem, musim precist 2 radky volani business metod..
    V go musim precist 8 radku kodu, 75% radku je error handling balast, ktery me pri studovani business kodu nezajima. Procist ho musim vzdy, nevim, jestli je dany if pouze error handling nebo soucast business kodu.

    Nopak, pokud chci v jave nastudovat error handling, podivam se na chatch bloky a throws klausuli.

    V GO musim proskenovat cely zdrojak, vyhedat defery, coz jsou casto uplne jine funkce na druhem konci zdrojaku.