• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    BLAMIThe Go Programming Language - moderni programovaci jazyk
    WILD_A
    WILD_A --- ---
    Ja ted konecne zacal neco realne delat a musim rict, ze Go pojeti CSP mne dost bavi, po tunach C/C++ kodu se zamkama, barierama a pod je tohle docela uleva.
    LITTLELI
    LITTLELI --- ---
    Jeden maličko hate post o Erlangu: http://www.unlimitednovelty.com/2011/07/trouble-with-erlang-or-erlang-is-ghetto.html
    Chápat prosím spíše v kontextu Go a jeho ekosystému vs toho v Erlangu. Jen,že každý holt není spokojený se stavem unie.
    Nemám co bych lepšího postnul a přijde mi, že to tu zkomírá :)
    LITTLELI
    LITTLELI --- ---
    Jinak Go samo o sobě je asi poměrně inspirativní. V Clojure contrib balíku s objevila podpora pro kanály a obecně pro CSP-like přístup.
    Clojure/core — Clojure core.async Channels
    http://clojure.com/blog/2013/06/28/clojure-core-async-channels.html

    Důvodem pro zavedení je, pokud jsem to dobře pochopil, že většina concurrency přístupů v Clojure není portabilní například do Clojurescriptu (Clojure on javascript). Omluva, trošku tím odbočuju od hlavního tématu, ale snad by to mohlo někoho zajímat.
    LITTLELI
    LITTLELI --- ---
    *chudokrevnej
    LITTLELI
    LITTLELI --- ---
    SCOLEX: to mi nepřijde jako úplně pravdivý tvrzení. Concurrency je v Go v essenci velmi podobná Erlangu, a to je řekněme 30 let starý jazyk. Použití kanálů již bylo v distribuovaných operačních systémech, namátkou Plan9, Infernu nebo Singularity od Microsoftu. Actory jsou totiž převážně krásně v teorii, ale v praxi dost záleží na okolnostech. To je ostatně důvod proč například Rich Hickey, autor Clojure, nemá ten přístup rád. Ale pravdou je, že to je pragmatický jazyk. Například se v něm celkem spolehlivě narozdíl od Javy nebo C# lze vyhnout excesivnímu garbage collection, který sužuje většinu enterprise aplikací. Implicitní interfacy jsou fajn nápad, popravdě teď v Javě furt bojuju s tím, že vytvářím - ač nechci tzv. chudoktervnej objektovej model, prostě třídy, které drží data, ale neobsahují téměř žádný kód, nebo interfacy, které mám jenom proto, protože to je jednodušší to pak (unit) testovat.

    Ty kompilační časy jsou hezký no :) Kdo programoval někdy ve Scale musí skřípat zubama :D
    SCOLEX
    SCOLEX --- ---
    V google se s Go pocita hlavne jako s nahradou za Python - pouziva se jako systemovy jazyk.

    v Go je napsana sluzba, ktera v google serviruje downloads, treba Chrome.

    A asi bych nerekl moderni, protoze ten jazyk ignoruje poslech 30 let vyzkumu programovacich jazyku :) je to hlavne pragmaticky a prakticky jazyk s dobre vymyslenym toolchainem a resici realne problemy.
    WILD_A
    WILD_A --- ---
    Napodobne, pro mne osobne Go pokrejva tu diru mezi C a cimkoli vejs. Tj Go na drivery bych si nevybral, ale systemovej software bych v tom psal v pohode. Zadny crcani se s velkejma frameworkama apod, builduju do nativnich binarek.
    BLAMI
    BLAMI --- ---
    ROTTWEILER: nerekl bych, ze jazyk ktery ma GC se nutne nehodi na nizkourovnovy veci, obzvlast pokud je to jazyk ktery nevyzaduje instalaci zadnyho dalsiho runtime a kompiluje se do nativnich (staticky linkovanych) binarek. Nicmene chapu ze definici 'nizkourovnoveho' mame kazdy posunutu trochu jinam. Osobne vidim vyuziti Go i v tech pripadech systemoveho programovani, kde jsou interpretovane jazyky uz treba trochu prestrel (predstava ze kvuli listeneru nebo nejaky fronte instaluju javamoloch a pokazdy slozite kompiluju jar). S tim souvisi i dalsi +, ktery vidim v tom, co rikal uz tady ISTEVE, ten overhead s pouzitim .net nebo jvm je oproti Go fakt znacny, vlastne po par mesicich s Go mi pripada jako voser uz i psani Makefile...
    ISTEVE
    ISTEVE --- ---
    Go je hodne koncisni jazyk a ma malej rychlej a pohodlnej runtime a je trivialni pracovat s knihovnama a...

    To co rikas je samozrejme pravda, ale zabyvas se jen runtimem (v podstate puvodni otazku transformujes na "proc ne JVM"), nezabyvas jazykem. JVM je rozhdone hodne popularni, a beha nad nim ostatne i treba zminenej Python (Jython) ci Ruby (JRuby, popr. pro .net IronRuby). Ale ja nejak nevidim duvod, proc se hnat za nejakym kompromisem nad JVM ci .NET, kdyz to co mi vyhovuje (minimalne na zmineny prototypovani) bez jakyhokoliv srani;)

    (btw: Your mileage may vary. Taky preferuju vim, anchor steam beer, a boxerky.)
    ROTTWEILER
    ROTTWEILER --- ---
    ISTEVE: Tak JVM je téměř na každém PC a existují i jiné JVM jazyky. To samé platí pro CLR.
    ISTEVE
    ISTEVE --- ---
    ROTTWEILER: Ani omylem.

    Java i C# jsou oproti Go extremne verbosivni jazyky, maj daleko vic heavyweight runtime, je daleko vetsi operace instalovat knihovny, atd.
    ROTTWEILER
    ROTTWEILER --- ---
    ISTEVE: No ale stejně dobře by ti posloužila Java nebo C#?
    ISTEVE
    ISTEVE --- ---
    ja ho s radosti pouzivam na osobni projekty na prototypovani... veci se kterejma si hraju sice pro jakykoliv prakticky pouziti chtej bejt trochu vykonny a C/C++ je lepsi match, ale nechci se srat s polovinou picovin se kterejma se v C/C++ srat musim kdyz si chci jen naimplementovat nakej paper a trochu si s tim hrat...
    ROTTWEILER
    ROTTWEILER --- ---
    Já nechápu osobně využití Go. Přijde mi, že srovnávat ho s C nebo C++ nejde, protože má GC a nehodí se tedy na nízkoúrovňový věci a srovnávat ho s Javou a C# taky nejde, protože není, tak vysokoúrovňový.
    WILD_A
    WILD_A --- ---
    BLAMI: O tom vim, mne spis zajiamala neci osobni zkusenost. C++ jsem nikdy neprisel na chut, byt v nem v praci pisu vetsinu casu a Go mne v tomhle dost nadchlo.
    BLAMI
    BLAMI --- ---
    WILD_A: Tipl bych si ze Google urcite, tusim ze snad Rob Pike nekde mluvil o tom, ze to pouzivaji v Google Maps. Z vetsich firem/organizaci o kterych jsem cetl/videl v ruznych mailinglistech nebo knihach urcite minimalne Canonical, Heroku a tusim Siemens.

    Jinak se taky zatim rozkoukavam, ale vzhledem k tomu kolik overheadu odstranuje treba jen go tool bych se vetsiho projektu rozhodne nebal (trebas v C je kazdy projekt hned trosku vetsi kdyz clovek pouzije autotools :)
    WILD_A
    WILD_A --- ---
    Zatim jsem nemel moznost v tom napsat neco vetsiho, sofistikovanejsiho, spis si to tak osahavam, ale rozhodne mi to dava vetsi smysl nez C++. Zajimalo by me, jestli to nekdo pouziva do produkce a psani velkejch projektu.
    MIKEE
    MIKEE --- ---
    moderni C-like jazyk? :) "Go makes much more sense for the class of problems that C++ was originally intended to solve." .. to zni zajimave, az budu mit cas, tak to na win vyzkousim ..
    BLAMI
    BLAMI --- ---
    Kliknutím sem můžete změnit nastavení reklam