Proč ten hype okolo Go?

Re:Proč ten hype okolo Go?
« Odpověď #30 kdy: 25. 08. 2018, 12:57:20 »
Otázka je, co se s Go stane, až za sebou bude mít stejnou historii jako java. IMHO jediná relevantní metrika inovativních cool projektů.


jouda

Re:Proč ten hype okolo Go?
« Odpověď #31 kdy: 25. 08. 2018, 13:32:20 »
Start aplikace me zajima asi stejne jako jestli ma aplikace 20 nebo 100mb. Nezajima me to. Reseni bezi v HA, kdyz vypadne kterykoliv node tak je mi jedno jestli se spusti za 10s nebo za 10min.
Tak HA nepomůže, když tam někdo nadeployuje nějaký nesmysl (fajn, selhal testing, ale stane se) a musí se restartovat všechno. Jestli je to 50ms nebo 30s je fuk, ale těch 10minut je dost za hranou.

To samé paměť. Jestli si to vezme 10MB nebo 8GB je celkem fuk, co je problém kolik to sežere na 1 connection. Je docela ostuda, když se dá slavná aplikace na 8 frontendech usmažit přes jedno 2G připojení prostě proto, že to vyžere všechnu paměť, a musí se složitě vymejšlet na F5ce před tím jak tu zhůvěřilost aspoň trochu ochránit.

PCnity

  • *****
  • 703
    • Zobrazit profil
    • E-mail
Re:Proč ten hype okolo Go?
« Odpověď #32 kdy: 25. 08. 2018, 13:34:12 »
Hype okolo Golangu je zcasti prave jeho jednoduchost... Ja nie som dev a Golang mam rad. Nestaci bash? Golang. Vyuzivam minimum fn, ale bez problemov si spravim mini http srv aj s json api.
Je dost mozne ze nosim drevo do lesa, ale Golang mi ako sysadminovi dava flexibilitu.

Youda

Re:Proč ten hype okolo Go?
« Odpověď #33 kdy: 25. 08. 2018, 14:30:59 »
Go je defacto pokusem o vylepseni C, ktere pridava funkcionalitu z vyssich jazyku levnym zpusobem.
Gc je velice lehky, prakticky neobtezuje.
Channely a korutiny elegantne resi threading bez nutnosti sloziteho syncovani kontroly pro thread safe
Modul funkci s pristupvymi pravy pres velke/male prvni pismeno funkce zajisti rozumnou encapsulaci.
Kompilace bleskov, start nativniho exace taky.
Multiplatformni.
Plna integrace s legacy C kodem, hromada GO projektu na Githubu jsou jenom wrappery nad C.
Maven like ekosystem postaveny kolem githubu

Vynikajici pro microservices, doporucuju vsude, kde je Jawa prilis tezkopadna.
Az na to,ze akonahle zacnes mixovat Go s C, stratil si cross kompilaciu.

Ne uplne, go s timhle pocita, mas vespod schovane treba uplne nezavisle C knihovny, pouzije se spravna podle.platformy.
Hralnjsem si nedavno s GO knihovnou, co dovede tipat obrazovky, implementace pro linux, win, masox, uplne jine systemove volani a navrchu jedna multiplatform go knihovna

https://golang.org/cmd/cgo/

kapes

Re:Proč ten hype okolo Go?
« Odpověď #34 kdy: 25. 08. 2018, 14:58:13 »
Lebo je to primitvne.

Vyvojari davaju prednost primitivnym veciam pred komplexnymi aj ked vo vysledku su komplexne veci castokrat jednoduchsie a usetria kopu roboty len si o tom treba nieco precitat. Vyvojari ale odmietaju stracat cas vzdelavanim ved naco nejaka teoria? hlavne ze je to IN.

V Go mozes po par hodinach bez rozmyslu lepit kod metodou copy paste po kazdej zmene spustit appku a ak to nejakym zazrakom funguje tak mas hotovo. Je to take PHPcko 21. storocia. A keby si nahodou nieco nevedel stackoverflow pozna odpoved na vsetko staci pouzivat magicke skratky ctrl+c a ctrl+v namiesto mozgu.



avc

Re:Proč ten hype okolo Go?
« Odpověď #35 kdy: 25. 08. 2018, 15:35:17 »
Lebo je to primitvne.

Vyvojari davaju prednost primitivnym veciam pred komplexnymi aj ked vo vysledku su komplexne veci castokrat jednoduchsie a usetria kopu roboty len si o tom treba nieco precitat. Vyvojari ale odmietaju stracat cas vzdelavanim ved naco nejaka teoria? hlavne ze je to IN.

V Go mozes po par hodinach bez rozmyslu lepit kod metodou copy paste po kazdej zmene spustit appku a ak to nejakym zazrakom funguje tak mas hotovo. Je to take PHPcko 21. storocia. A keby si nahodou nieco nevedel stackoverflow pozna odpoved na vsetko staci pouzivat magicke skratky ctrl+c a ctrl+v namiesto mozgu.

Aj si vtom GOlangu nieco naprogramoval?

kkt1

  • *****
  • 796
    • Zobrazit profil
Re:Proč ten hype okolo Go?
« Odpověď #36 kdy: 25. 08. 2018, 16:22:14 »
Dovolim si souhlasit s kapes.

mmm

Re:Proč ten hype okolo Go?
« Odpověď #37 kdy: 25. 08. 2018, 16:59:55 »
proč hipsteři jezdí na kole bez brzd? Čisté pozerství. Odmítání pokroku.

tt

Re:Proč ten hype okolo Go?
« Odpověď #38 kdy: 25. 08. 2018, 17:44:46 »
Zaspali ste dobu. Go uz nema hype. Mal tak pred rokom - https://www.tiobe.com/tiobe-index/go/.
Hipsteri so stetcovym ucesom a s fixie bicyklami bez brzd uz ficia na Ruste momentalne. Pretoze Rust precika Golang v rychlosti - https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/rust-go.html :-D

Plebs (kde sa zaratavam aj ja) pouziva Golang hlavne na rychle vytvorenie svojich (http) cloud friendly microservisov (priklad https://www.instana.com/media/wheel-of-doom-highlighted.png).
Stare Java korytnacky zase radi pouzivaju Javu na svoje "enterprise" makroservisy, ktore povacsine skaluju iba vertikalne a nie horizontalne.

Kazdy mame to svoje :-)

avc

Re:Proč ten hype okolo Go?
« Odpověď #39 kdy: 25. 08. 2018, 18:57:09 »
Lebo je to primitvne.

Vyvojari davaju prednost primitivnym veciam pred komplexnymi aj ked vo vysledku su komplexne veci castokrat jednoduchsie a usetria kopu roboty len si o tom treba nieco precitat. Vyvojari ale odmietaju stracat cas vzdelavanim ved naco nejaka teoria? hlavne ze je to IN.

V Go mozes po par hodinach bez rozmyslu lepit kod metodou copy paste po kazdej zmene spustit appku a ak to nejakym zazrakom funguje tak mas hotovo. Je to take PHPcko 21. storocia. A keby si nahodou nieco nevedel stackoverflow pozna odpoved na vsetko staci pouzivat magicke skratky ctrl+c a ctrl+v namiesto mozgu.

Svojim sposobom je primitivne aj C, ved skoro vsetko je postavene iba na ukazovateloch, a tu zrazu... Narazam na to, ze aku metriku pouzivas k vyjadreniu sa k jazyku... Dost by ma zaujimalo co si take v Golangu naprogramoval. Nejake tie projekty v Go https://github.com/avelino/awesome-go

tralala

Re:Proč ten hype okolo Go?
« Odpověď #40 kdy: 25. 08. 2018, 21:45:47 »
Teď mám třeba projekt, který je čistě backendový. Integrační test startuje tak 30 vteřin a než se udělají všechny testy, tak to trvá 5 minut. Ať už je to hodně nebo málo, tak to dělá v podstatě směšné hovno a mohlo by to být 100x rychlejší.

Pretoze to nevies robit, preto to trva tak dlho. Testy testuju tak dlho preto pretoze v kazdej test class-e sa stavim startujes cely ioc kontajner. Naco by si to robil? Ved ked servisy pises ako beany tak si ich poskladas jak lego bez toho aby ti to tam musel niekto injektovat, na co ten kontajner potrebujes, a preto to trva tak strasne dlho. Staci ti pouzit cisty JUnit, na komplexnejsie veci je Arquillian kde si warko poskladas rovno v teste cez Shrinkwrap a deploynes do to embedded kontajnera .... Zijes v 90tych rokoch chlapce.

pokladač středníků

Re:Proč ten hype okolo Go?
« Odpověď #41 kdy: 26. 08. 2018, 12:45:48 »
Nic ve zlym anonyme, ale pokud kodis tak, ze po kazde zmene v kodu delas deploy tak jdi radsi do albertu za kasu, pujde ti to lip nez programovani. Delka startu aplikace je pro produkci nepodstatna pokud jde o HA reseni.
Co je HA?

Youda

Re:Proč ten hype okolo Go?
« Odpověď #42 kdy: 26. 08. 2018, 12:55:12 »
Lebo je to primitvne.

Vyvojari davaju prednost primitivnym veciam pred komplexnymi aj ked vo vysledku su komplexne veci castokrat jednoduchsie a usetria kopu roboty len si o tom treba nieco precitat. Vyvojari ale odmietaju stracat cas vzdelavanim ved naco nejaka teoria? hlavne ze je to IN.

V Go mozes po par hodinach bez rozmyslu lepit kod metodou copy paste po kazdej zmene spustit appku a ak to nejakym zazrakom funguje tak mas hotovo. Je to take PHPcko 21. storocia. A keby si nahodou nieco nevedel stackoverflow pozna odpoved na vsetko staci pouzivat magicke skratky ctrl+c a ctrl+v namiesto mozgu.

To jsou zase blabolive kecy.
GO je urceno jako modernejsi nahrada C, ktera prebira prvky z vyssich jazyku, a to splnuje skvele.
A treba korutiny nema Java dodnes, teprve se planuji.

Kdyz potrebuju otevrit konzervu, pouziju svycarsky nuz, kdyz potrebuju vytezit povrchovy dul, pouziju rypadlo. Jde sice tezit uhli nozem a otvirat konzervy rypadlem, efektivni to moc neni.

Jazyk se vyviji a je zastitovan Googlem

Existuje k tomu ziva komunita, hromady ready to use knihoven na githubu.
Hromada zajimaveho softu, namatkou Kubernetes, Gitea, NATS, Prometheus

Go je jednoduchy jazyk, protoze je urcen na jednoduche veci.
Kdyz potrebuju server pro zabezpecenou B2B komunikaci s implementovanou WS-Security, nasadim mavenem Spring Boot s Apache CXF boot starterem.
Kdyz potrebuju sbirat udaje z tisicu IOT krabicek (domovnich elektromeru) - nasadim GO.

Killer featura GO jsou channely a gorutiny, aneb jak lusknutim prstu vyrobit masivne paralelni aplikaci.
Velka nevyhoda v porovnani s Javou jsou Collections, s Javou se to neda merit ani omylem, stream zpracovany chybi uplne.

Osobne doporucu nasadit GO tam, kde se puvodne pouzivalo C. GO ma GC a odpada hromada rezie s memory managemente a stale je vysledkem lehky exac.


kkt1

  • *****
  • 796
    • Zobrazit profil
Re:Proč ten hype okolo Go?
« Odpověď #43 kdy: 26. 08. 2018, 14:01:39 »
Pokladac stredniku, HA = High Availability. Google napovi, obvykle vicero nodu v clustru kde vypadek jednoho nodu neovlyvni dostupnost sluzby.

Krysa11

Re:Proč ten hype okolo Go?
« Odpověď #44 kdy: 26. 08. 2018, 20:50:25 »
V poslednim roce jsem si s GO pohraval, kamarad se me ho snazil nasejlovat, tak jsem si zjistit vice. Porovnavam s Java, kterou se zivim vice nez deset let a pythonem, do ktereho jsem byl na par let dostrkan na vedlejsak.
GO:

1. nelze mu uprit jistou miru elegance, ktera je apriori dana vsem nadanym zacatecnikum

2. balickovaci system je strasne "hura" proste odkaz na github, bez verze a pak si to panacku pores sam, tzn peklo pokud delate rozsahlejsi projekt, ktery hromadu funkci a integraci. o rebuildu starsich projektu ani nemluve, pokud nemate ulozeny cely environment ve vcs.

3. svoji "VM" si to cpe primo do exace. V soucasne done ma 'println("hello world")' myslim par mega, pokud se to bude optimalizovat budeme mit 200MB exace, viz nize.

4. je to pomale. asi tak 2x-3x pomalejsi nez java, ktera je (hmm nechci zacit flamewar) asi tak 1.5x-2x pomalejsi nez C(pp) v konkretnich jednoduchych operacich. takze go je asi tak 4x pomalejsi nez native C(pp), takze C pro 21. stoleti... ne-e

5. neni to objektove. Ackoli se o tom neustale vedou spory, tak bylo realne prokazano (za poslednich 10 let), ze bez objektoveho pritupu nevytvorite komplexni aplikaci pri spolupraci tymu 100+ lidi. (eclipse vs world)

6. vetsina "cool" funkci jako "chan" je v podstate k smichu. Jaky je extra rozdil mezi "chan" a Executor.createSingleThreadExcecutor()? v podstate takovy, ze ten kdo pouziva chan, nema poneti o slozitosti okoli. Navic Eecutor je interface, ktery muzete nahradit jinou implemenataci, optimalizovat etc. stejne tak gorutines, multiprocesoring (cripled) for dummies. Jak si rozsirite "chan"? - udelate nad nim nejaky wrapper a jsme tam kde jsme byli.

7. jsou tam pointery. dneska nikdo nechce pointery. Pokud chcete poitery, tak delate v C jednu knihovnu a optimalizujete ji na max protoze je to kriticka zalezitost s velkym dosahem, dekoder kodeku na placenem kompilatoru od intelu, etc. A ten se potom zapoji do... wait for it ... do Javy. Ne v prostredi, kde cokoliv udelate bude tak jako tak 4x pomalejsi.

8. ma to C bindings. naprosta vetsina knihoven v go (krome zakladni), je nejakym wrapperem na Ceckem. a musim podotknout, ze velmi horkou jehlou sitym wrapperem. Tim padem cross jde vlastne dost dohaje a pokud se vyskytne problem, tak vyzaduje znalost C a gdb a valgrid a ... pak to nema cenu delat... viz vyse. Tohle je dost podobne pythonu.

9. vsichni rikaji, ze je lehke si udelat http server  a jak je to super. stejne tak jako v node.js. http.server(port). krasa. NE! neni to krasa. tam java zacinala tak pred 20-ti lety. jeden object request, jeden object response, rules the world. NE!NE!NE!. Na solidni aplikaci potrebujete filtery, ktere budou resit encoding, caching, session management, iln18, range requesty, multipart dissasembly.... na to si naprasite vlastni funkce a zjistite, ze ten tomcat nema tech 10 mega jen tak pro srandu. A java to umi taky http://www.simpleframework.org/doc/javadoc/index.html uplne stejne. Posledni commit nekdy pred 10-ti lety od te doby to vlastne nema chybu. Proc by melo, kdyz je to tak jednoduche. A proto to skoro nikdo nepouziva.

google to tlaci asi jako miliardar tlaci svoje retardovane dite. rad si poslechnu solidni oponenturu.