10/10

Most kivételesen volt időm kidebugolni az Principles of Reactive Programming beadandót, úgyhogy sikeresnek minősülhet a dolog :-) (Actor based binary tree)

Hozzászólások

Gratulálok!
Hogy debuggoltál? Logolással? (Bevallom én kihagytam a GC-t néhány próbálkozás után, így csak picivel több mint 9 pontot értem el azzal a feladattal.)
Az utolsó feladatnál már a feladatleírás hossza elbizonytalanított, egy egyelőre nem fogtam neki. Az milyennek tűnik?

Tesztekkel, println-nel, kód újraolvasásával (ez használt a legtöbbet), és shotgun módszerrel ("mi van, ha itt belenyúlok?").

Az az érdekes, hogy - noha ismerem őket -nem nagyon használok "modern" debug módszereket, mert amin szocializálódtam (bugos Turbo Debugger Win31-re), ott nem volt az eszköztárban. Úgyhogy inkább az alternatív módszereket szoktam alkalmazni: print, olvasás és gondolkodás.

A GC amúgy nem volt vészes, addigra már leesett, mit is kell csinálni, nekem az elindulás nehéz mindegyik feladatnál (konkrétan most tanulom ezzel a Scalát is :-)). Néha nehéz kitalálnom, hogyan gondolják az oktatók, mit is akarnak. (Tipikusan az fp101x poor man's concurrency része volt ilyen: valami számomra nagyon nem intuitív dolgot akartak rámeröltetni)

A kódom amúgy egy horror, nagyon sok benne a kód duplikáció, amit ki lehetne emelni valahová. De a végére egész belejöttem az üzengetésbe és az átváltozásokba (maga a koncepció amúgy nekem nem annyira új).

Az utolsóba még nem néztem bele, meglátjuk, hogy lesz rá időm.

Ami még esetleg érdekes lehet: keresni olyan use-case-t, ahol az akka és rx kombinálásával lehetne szép dolgokat csinálni (egyelőre egy tranzakció és regiszter szintű kombinált HDL szimuláció ugrott be erre).

Az utolso feladat vegre:
1. rendesen specifikalt
2. logikusan reszfeladatokra bontott
3. rendes tesztekkel bir
Szoval latszik, hogy dolgoztak vele az instruktorok, nem csak ugy odahanytak valamit, mint Erik a Future-oket, vagy a PhD-s srac az RX-et (gondolom szegenynek az utolso pillanatban szoltak, hogy kene valami...).

Actorokkal az a baj, hogy borzaszto alacsony szintu az absztrakcio, raadasul igazi spagetti kod az ide-oda uzengetes, se tipusbiztonsag nincs az uzenetkuldeshez, sem az immutabilitas nincs enforszolva, nagyon hianyzik egy reteg legalabb az Any -> Unit -os receiverek fole, meg az, hogy barhonnan a kod kozepebol uzenetet kuldesz, az teljesen kikeszitett. Nagyon-nagyon fegyelmezettnek kell ahhoz lenni, hogy ne legyen teljesen kibogozhatatlan a kod, mar az egeszen trivialis feladatoknal is...

Amúgy Ericnek ez a stílusa, ő szerintem pedagógiai okokból szeret alulspecifikált feladatot adni, hogy gondolkodj, próbálkozz vele. Nekem ezért is tetszett: piszok sokat küzdöttem vele, hogy megértsem, mit is akar, de utána viszont nagyon jó volt. (Annyira, hogy azóta lelkesen írogatok extensionmethod-okat az rxpy-hez :-))

Igen, azt hiszem, a stilusaval ugy altaban nem vagyok kompatibilis (felreertes ne essek, nagy koponyanak tartom), eleve eloadni sem tud, folyton kapkodja a levegot, rengeteg felesleges tolteleket hasznal ("you know..."), latszik, hogy teljesen improvizal, maximum egy vazlatot dob ossze az egeszhez. Ez egy tehetseges standup komikus eseteben rendben is volna, de o nem az... Sebaj, igy kerek a vilag, nyilvan van, aki ezt szereti, Martin matematikusi precizitassal osszerakott mondokajatol meg borsozik a hata.

Amugy az is meg a problema, hogy az atlagembernek munka utan van napi egy-ket oraja tanulni es dolgozni a feladatokon, ehhez nagyon nem passzol a beledobjuk a melyvizbe, majd csak kiuszik valahogy tipusu pedagogia. Foleg akkor nem, hogyha amugy kisebb, egyszerre megertheto es megemesztheto reszekbol is ossze lehet rakni az egeszet. Persze ez jelentosen tobb befektetest igenyel a tanfolyam irojatol, es azt is megertem, hogy ez egy ingyenes anyag... szoval vegulis ar/ertek aranyban okes :P

Nekem mindegyik előadó stílusa megfelelt, érdekes amúgy, hogy pont Ericet tudtam legjobban követni :-)

Munka mellett tényleg elég macerás a történet, nekem elég rugalmas a munkaidőm, de így is nehéz volt néha. Viszont alapvetően szeretem a kihívásokat, szóval ilyen szempontból jó volt, kellett gondolkodni rajta, ami folyamatosan fenntartotta az érdeklődésem.

Én is csinálgatom, de ha jól számolom most 2 hetes lemaradásban vagyok. :( Szóval az assignmenteket inkább csak olyan just4fun jelleggel csinálom, mert mire eljutok velük addig hogy érdemes legyen beküldeni, már a határidő túllépés miatt nem kaphatok rá max pontot.

Az a helyzet, hogy ez a tanfolyam ket olyan temaval is foglalkozik, amelyek valoszinuleg a programozas kovetkezo 10 evet alapvetoen fogjak meghatarozni (korulbelul annyira, mint az OOP eloretorese a 90-es evekben): az aszinkron programozas Future-okkel (a callback hell kivaltasara) abszolut alapkovetelmeny lesz, illetve a reaktiv programozasban is nagy lehetosegek vannak. Az actorokban mar nem hiszek ennyire, van, amihez passzol ez a modell, van amihez nem. Sajnos az async channelek meg annyira cutting edge, hogy meg nem fert ide, de az lenne a harmadik tippem (lasd: http://clojure.com/blog/2013/06/28/clojure-core-async-channels.html).

Szoval en azt gondolom, ha ma egy programozo megkerdezi, melyik legyen az egyetlen tanfolyam, amit iden rendesen vegigcsinal, akkor a valasz: ez. Szerintem :)