Proč ten hype okolo Go?

oss

Re:Proč ten hype okolo Go?
« Odpověď #270 kdy: 02. 09. 2018, 13:10:30 »
Je to psuedokod, ale aby ste boli spokojni
Kód: [Vybrat]
file, _ := os.Open("/path/to/file.txt")

Proste ide o to, ze pri vynimkach musite pre ignoraciu chyby nieco aktivne urobit


BoneFlute

  • *****
  • 1 983
    • Zobrazit profil
Re:Proč ten hype okolo Go?
« Odpověď #271 kdy: 02. 09. 2018, 13:36:01 »
Je to psuedokod, ale aby ste boli spokojni
Kód: [Vybrat]
file, _ := os.Open("/path/to/file.txt")

Proste ide o to, ze pri vynimkach musite pre ignoraciu chyby nieco aktivne urobit

To podtržítko považuji právě za tu aktivní snahu ignorovat chybu.

Bloky try-catch jsou spíše k seskupení chyb, aby si nemusel odchytávat každou jednu. Nepolemizuji nad tím, zda je to dobře nebo špatně.

Krysa11

Re:Proč ten hype okolo Go?
« Odpověď #272 kdy: 02. 09. 2018, 16:34:23 »
https://go.googlesource.com/proposal/+/master/design/go2draft-error-handling-overview.md

Error handling v go nedotazeny. Puvodne jsem chtel napsat jake vyhody poskytuje nejen try{}catch{} block, ale predevsim throws klausule v Jave a jak toho prakticky vyuzivam, zvlaste pri kocirovani hejna junioru s vysokou flucktuaci a rozlicnym potencialem, ale tohle tema by melo byt o go.

a gorutines nejsou odpovedi na vsechno.

Pristi verze go, tedy go2 bude zjevne o dost jina jak v syntaxy, tak filosofii pouziti jazyka a to zdaleka ne jenom v pripade odchytavani vyjimek.

Takze osud jako Python? Go2 bude nekompatibilni s Go1.4 nebo kolik je ted aktualni? Kdyz hledate neco o pythonu, tak je to peklo, protoze jak vetev 2.7, tak vetev 3.0 si jede vlastnim zivotem. Co budeme zadavat do google go2lang nebo golang2?

Nikdo sam, rad a dobrovolne rozhodne nezacal prepisovat veskery python 2.7 do pythonu 3.0. Vzhledem k tomu, ze v go neni zatim napsano skoro nic (nebo je?), tak to nebude takovy problem?

Nedavno jsem si stahnul stary kod, ktery jsem psal v roce 2003 pro tehdy aktualni javu. Bez jedine upravy jsem ho prelozil v java8 a casti copy+paste zakomponoval do soucasne aplikace. Watch and learn golang hipsters with your castles made of sand on the beach with high tide.


Re:Proč ten hype okolo Go?
« Odpověď #273 kdy: 02. 09. 2018, 16:50:23 »

Pristi verze go, tedy go2 bude zjevne o dost jina jak v syntaxy, tak filosofii pouziti jazyka a to zdaleka ne jenom v pripade odchytavani vyjimek.

Takze osud jako Python? Go2 bude nekompatibilni s Go1.4 nebo kolik je ted aktualni?


Kde jste na to přišel - pokud se podíváte na prezentace o Go2, tak tam explicitně upozorňují, že nedojde k porušení zpětné kompatibility - určitě se nemění filozofie, a rozšíření není nijak zásadní. To máte tolik strach o Javu, že tu takhle vyšilujete?

Krysa11

Re:Proč ten hype okolo Go?
« Odpověď #274 kdy: 02. 09. 2018, 16:57:05 »
Ty si fakt kaspar. Java tu bude davno po tom, co ty uz davno budes prdet do hliny. A co takhle neco k GO bys tam nemel? Ja si muzu vysilovat nebo nevysilovat jak se mi zachce, ty potouchlej, zakomplexovanej, nekonstruktivni paznechte:) napis neco o Go a jak si ho zkousel, dej nejakej zajimavej odkaz. Jak resis ty error handling? v cem vidis plusy a minusy.

A ted vyskoc.


Re:Proč ten hype okolo Go?
« Odpověď #275 kdy: 02. 09. 2018, 17:17:17 »
Ty si fakt kaspar. Java tu bude davno po tom, co ty uz davno budes prdet do hliny. A co takhle neco k GO bys tam nemel? Ja si muzu vysilovat nebo nevysilovat jak se mi zachce, ty potouchlej, zakomplexovanej, nekonstruktivni paznechte:) napis neco o Go a jak si ho zkousel, dej nejakej zajimavej odkaz. Jak resis ty error handling? v cem vidis plusy a minusy.

A ted vyskoc.

https://github.com/search?l=Go&q=golang&type=Repositories

článků o error handling najdete tunu - oblíbené téma. Plusy jsou zřejmé, chyby ošetřujete explicitně velice blízko vzniku nebo explicitně ignorujete. je tím vynucený hodně defenzivní styl programu - což někomu může vyhovovat, jelikož je ošetření chyb zdůrazněné, nebo zase někomu vyhovovat nemusí - bo se může ztrácet původní myšlenka - nicméně by se nemělo stávat, že by neošetřená chyba probublala někam výš, což se u výjimek stát může a bere se i jako záměr. Tím se fixuje kód - nemáte tam tolik stupňů volnosti. Go je nízkoúrovňový jazyk - styl programování je jiný než u Javy. Berte to jako pohodlnější verzi Cčka - a většina kódu, který vzniká v Go by se programoval v C nebo v C++.





 

Krysa11

Re:Proč ten hype okolo Go?
« Odpověď #276 kdy: 02. 09. 2018, 17:48:05 »
Rozumím tomu, co píšete ale nerozumím tomu "Proč". Pokud má být GO náhradou za C, tak je moc pomalé, protože GC. Pokud to má být jazyk na složité backendy (myslím, že i v GO dokumenatci se píše, že je to na backend), tak potom nedosahuje kvalit Javy, protože možnost nechat handling errorru na vyšší vrstvě  programu pomoci "throws" je killer feature exception systému. Mám pocit, ze vkládali moc velké naděje do gorutines, které se ukázaly jako mylné. Jednoduchý backend je tak nějak protimluv. Od backendu se očekává, že bude robustní a promyšlený a budou se k němu připojovat klienti, už z hlediska bezpečnosti a konzistence je většina zodpovědnosti na backendu.

A go je o dost pomalejší než Java a než C.

Takže se vlastně točíme v kruhu...

Vy řeknete : Go je nízkoúrovňový jazyk.
Já řeknu: Oproti C je to (strašně moc)pomalé.

Vy řeknete: Go je jazyk na bakcend s garbage collectorem.
Já řeknu: Java je kvalitnější, ozkoušená, rychlejší a má lepší garbage collector.

Vy řeknete: Go je pro "začínající" programátory.
Já řeknu: Má to pointery a pokud správně nastavíte prostředí a donutíte všechny "juniory" používat pouze throws místo try{}catch{} tak je i ta java vlastně jednodušší.

Vy řeknete (to už fabuluju): je to pro začínající osamělé autistické programátory bez kamarádů, co by jim nastavili prostředí.
Já řeknu: Freepascal + Lazarus IDE. Pascal byl vyvinut někdy dávno, když jsem byl ještě malé trollítko právě na učení se programovat.

Prostě mám pocit, že se snazíte zastrčit (minimálně argumentačně) příliš tlustou štangly do příliš malého otvoru. Může se to procpat penězi od google, možná, já osobně tomu nevěřím. viz https://www.youtube.com/watch?v=H9ZAPab3kpA


Re:Proč ten hype okolo Go?
« Odpověď #277 kdy: 02. 09. 2018, 18:52:58 »
Rozumím tomu, co píšete ale nerozumím tomu "Proč". Pokud má být GO náhradou za C, tak je moc pomalé, protože GC. Pokud to má být jazyk na složité backendy (myslím, že i v GO dokumenatci se píše, že je to na backend), tak potom nedosahuje kvalit Javy, protože možnost nechat handling errorru na vyšší vrstvě  programu pomoci "throws" je killer feature exception systému. Mám pocit, ze vkládali moc velké naděje do gorutines, které se ukázaly jako mylné. Jednoduchý backend je tak nějak protimluv. Od backendu se očekává, že bude robustní a promyšlený a budou se k němu připojovat klienti, už z hlediska bezpečnosti a konzistence je většina zodpovědnosti na backendu.

A go je o dost pomalejší než Java a než C.

Takže se vlastně točíme v kruhu...

Vy řeknete : Go je nízkoúrovňový jazyk.
Já řeknu: Oproti C je to (strašně moc)pomalé.

Vy řeknete: Go je jazyk na bakcend s garbage collectorem.
Já řeknu: Java je kvalitnější, ozkoušená, rychlejší a má lepší garbage collector.

Vy řeknete: Go je pro "začínající" programátory.
Já řeknu: Má to pointery a pokud správně nastavíte prostředí a donutíte všechny "juniory" používat pouze throws místo try{}catch{} tak je i ta java vlastně jednodušší.

Vy řeknete (to už fabuluju): je to pro začínající osamělé autistické programátory bez kamarádů, co by jim nastavili prostředí.
Já řeknu: Freepascal + Lazarus IDE. Pascal byl vyvinut někdy dávno, když jsem byl ještě malé trollítko právě na učení se programovat.

Prostě mám pocit, že se snazíte zastrčit (minimálně argumentačně) příliš tlustou štangly do příliš malého otvoru. Může se to procpat penězi od google, možná, já osobně tomu nevěřím. viz https://www.youtube.com/watch?v=H9ZAPab3kpA

Dokud se na Go budete dívat optikou Javy, tak to nepochopíte. Go je reakce na Javu a C++, dělat věci jednoduše a jinak. Můžete s tím souhlasit nebo nesouhlasit.

Krysa11

Re:Proč ten hype okolo Go?
« Odpověď #278 kdy: 02. 09. 2018, 20:11:55 »
jasně alternativci... tak jo. vlasy nafialovo a pero dopr%dele. your way.

BoneFlute

  • *****
  • 1 983
    • Zobrazit profil
Re:Proč ten hype okolo Go?
« Odpověď #279 kdy: 02. 09. 2018, 20:38:05 »
jasně alternativci... tak jo. vlasy nafialovo a pero dopr%dele. your way.

Otázka offtopic - proč jsi tak vulgární?

Inkvizitor

Re:Proč ten hype okolo Go?
« Odpověď #280 kdy: 02. 09. 2018, 20:50:41 »
Dokud se na Go budete dívat optikou Javy, tak to nepochopíte. Go je reakce na Javu a C++, dělat věci jednoduše a jinak. Můžete s tím souhlasit nebo nesouhlasit.

Spíš bych řekl, že to je reakce na (z jistého pohledu) pomalý Python v rámci ekosystému Google. Já se na to třeba dívám optikou ostatních "moderních" programovacích jazyků a (Nim, Julia, Rust...) a Go mi přijde jako dost odbytá záležitost. Jasně, je turingovsky kompletní, jasně, mohlo to dopadnout hůř. Zajímal jsem se o něj poměrně brzy po vypuštění a některé veci fakt byly strašné (ta úchylná konvence pojmenování binárky kompilátoru podle architektury třeba). Pak samozřejmě špatné a nedopečené featury vyzdvihované jako klady (jasný znak sektářského myšlení, nevyhne se tomu ale žádný jazyk) - absence podpory verzování, absence generik... Ano, Go je (v něčem) lepší C, ale Google snad měl na víc.

Krysa11

Re:Proč ten hype okolo Go?
« Odpověď #281 kdy: 02. 09. 2018, 21:05:52 »
jasně alternativci... tak jo. vlasy nafialovo a pero dopr%dele. your way.

Otázka offtopic - proč jsi tak vulgární?

Protože zaprvé je to nejlepší vyjádření frustrace nad neschopností protistrany formulovat racionální argument. Neměl byste to ovšem vnímat jako urážku, ale jako výzvu k diskusi na jiné úrovni, neboť je zjevné, že protistrana má určitou agendu, kterou sleduje a mě zajímá, kde se skrývá jádro pudla ve výroku "chceme to dělat jinak, protože to chceme dělat jinak".
Mohl bych se ohánět tím, že protistrana mě k tomu přímo vyzývá, neboť tvrdí, že "pokud se na to budete dívat z pozice javy", kterou bychom mohli archetypálně definovat jako "otce", tak se snažím vyvolat diskusi jinými prostředky. Nenechte se zmást, ale i na diskusi plné vulgárních jednočlených vět je možné se leččemus přiučit, ostatně čím jiným jsou současné internetové diskuse. Pouze to nikdo takto, až skoro Jungovksy nepojímá, ačkoli do toho všichni čumíme.
A mě zajímá, zdali se za to adolescentní pózou negace současné nezpochybnitelné reality nezkrývá nějaké to zlato, které je možné vytěžit z emociálního, bezpředmětného, iracionálního, ale přesto svěžího mládí. Protože kdo není schopen naslouchat novým trendům je mrtev, doslova.
A já jim naslouchat chci a pochopil jsem že golang je vnímán spíše emocionálně než racionálně a nenapadá mě lepší způsob, jak excitovat emoce jinak než vulgaritami.

Krysa11

Re:Proč ten hype okolo Go?
« Odpověď #282 kdy: 02. 09. 2018, 21:20:09 »
Spíš bych řekl, že to je reakce na (z jistého pohledu) pomalý Python v rámci ekosystému Google.

hmm occam's razor. it sux, but it sux less than python (so far). That's a good point. lets see how golang2 and golang1 gets along.

Linus

Re:Proč ten hype okolo Go?
« Odpověď #283 kdy: 02. 09. 2018, 21:43:50 »
jasně alternativci... tak jo. vlasy nafialovo a pero dopr%dele. your way.

Otázka offtopic - proč jsi tak vulgární?

A mě zajímá, zdali se za to adolescentní pózou negace současné nezpochybnitelné reality nezkrývá nějaké to zlato, které je možné vytěžit z emociálního, bezpředmětného, iracionálního, ale přesto svěžího mládí. Protože kdo není schopen naslouchat novým trendům je mrtev, doslova.
A já jim naslouchat chci a pochopil jsem že golang je vnímán spíše emocionálně než racionálně a nenapadá mě lepší způsob, jak excitovat emoce jinak než vulgaritami.

To na jednu stranu chápu, ale Pavel S. má pravdu v tom, že pokud se na Go budeš dívat z pozice Javy, tak prostě dřív či později zjistíš, že Go není a nikdy nebude Java. Trošku to zavání Blub paradoxem, ale fakt doporučuju si sesumírovat problémy, které vidíš na Go (také je vidím, a dost, jeden z nich je NIH syndrom a nepoužití LLVM, možná proto, že to je od Apple?) a potom se podívat na https://golang.org/doc/faq, kde je přímo názor tvůrců na většinu podobných dotazů (generika, aserce, chyby, gorutiny, GC), se kterými můžeme ale samozřejmě nemusíme souhlasit.

Já osobně nasazení Go vidím v podobné oblasti jako Erlang - masivnější MP, síťování. A Go je pro dost lidí stravitelnější (njn. prostě máme juniory a těm se nedá předhodit například tady taky zmiňované C++, to by dopadlo dost bledě).

Kit

Re:Proč ten hype okolo Go?
« Odpověď #284 kdy: 02. 09. 2018, 21:56:19 »
https://github.com/search?l=Go&q=golang&type=Repositories

článků o error handling najdete tunu - oblíbené téma. Plusy jsou zřejmé, chyby ošetřujete explicitně velice blízko vzniku nebo explicitně ignorujete. je tím vynucený hodně defenzivní styl programu - což někomu může vyhovovat, jelikož je ošetření chyb zdůrazněné, nebo zase někomu vyhovovat nemusí - bo se může ztrácet původní myšlenka - nicméně by se nemělo stávat, že by neošetřená chyba probublala někam výš, což se u výjimek stát může a bere se i jako záměr. Tím se fixuje kód - nemáte tam tolik stupňů volnosti. Go je nízkoúrovňový jazyk - styl programování je jiný než u Javy. Berte to jako pohodlnější verzi Cčka - a většina kódu, který vzniká v Go by se programoval v C nebo v C++.

Když jsem programoval v C, tak mi dost vadilo, že funkce v mnoha případech nevrací returnem hodnotu, ale chybový stav. Dokonce mnoho funkcí vrací obojí a rozlišuje se to znaménkem.

V PHP to bylo zpočátku podobné, ale aspoň se nemusel returnem vracet jen int. Stringy, vektory i složitější struktury se nemusely vracet přes parametry. Později byly zavedeny výjimky, které mi zpočátku vadily, ale zvykl jsem si na ně tak, že chybové stavy jinak nevracím.

Oba způsoby neobsahovaly návrat více hodnot returnem, ale PHP na tom bylo o něco lépe - navíc s konstruktem list(). Golang to pojal jako základní vlastnost a chybové stavy se k tomu přidaly skoro samy - nejsou vlastností jazyka, ale obyčejné hodnoty. Z pohledu Javy či PHP se jedná o krok zpět, ale směrem od C zase významný krok kupředu. Skoro jako kdyby to naznačovalo, že Java či PHP nejdou úplně správným směrem.