Малко обратна връзка за лекциите

  1. Здравейте, бих искал да споделя нещо след днешната лекция.

    Мисля, че ще е най-добре за всички ако предварително се знае кой какво ще говори ии другите да се включват на моменти с добавки, както беше предните пъти, защото днес първо, че по едно време тотално се изгуби нишката от някакви безразборни вметки, второ - в следствие на първото се изнервиха всички: и лектори и слушащи, трето - заради предните неща материалът беше доста насметен накрая.

    И много се надявам това по-горе да не е изглеждало надменно, чисто и просто имах нужда да дам feedback : )

  2. Благодарим,

    Подкрепяме подобен feedback и целта на курса е да сме си взаимно полезни.

    За днес специално, лекцията беше с много материал и то не от най-лесния. Искахме да го предадем максимално ясно, за това и вметките от моя страна, но пък и максимално точно, за това пък - обясненията на Дойчин. Ще имаме в предвид в бъдеще да търсим баланса.

  3. За map-овете не се наблегна на това, кой са comparable типове, и че само те могат да бъдат ключове в map (на лекциите по Python, Ruby доста го повтарят а при нас нито миналата, нито днешната).

    Но си отворих Key types и беше обяснено хубаво, върнах се в лекцията и всичко си го имаше (линка със спесификацията ми беше малко мътен).

    Не беше споменато за iteration order-a :

    Since Go 1 the runtime randomizes map iteration order, as programmers relied on the stable iteration order
    of the previous implementation. If you require a stable iteration order you must maintain a separate data
    structure that specifies that order. 
    

    За конкуренцията и map-овете ми хареса това обяснение: Why are map operations not defined to be atomic?

     After long discussion it was decided that the typical use of maps did not require safe access from multiple 
    goroutines,and in those cases where it did, the map was probably part of some larger data structure or computation 
    that was already synchronized. Therefore requiring that all map operations grab a mutex would slow down most programs 
    and add safety to few. This was not an easy decision, however, since it means uncontrolled map access can 
    crash the program.
    
    The language does not preclude atomic map updates. When required, such as when hosting an untrusted program, 
    the implementation could interlock map access. 
    

    Просто исках да наблегна, какво за мен е важно.

  4. Почти убедена съм, че и да го няма в презентациите, споменаха за map iteration order-a, защото не съм чела за map-ове извън лекцията и презентацията, а го знаех...

    За другите 2 неща - лично имаш едно "thanx!" от мен :)

  5. Всъщност:

    1. Споменахме, че ключовете на маповете са само от "сравнимите" типове и казахме, че в презентацията има линк към спецификацията относно кои са тези "сравними" типове.

    2. Споменахме за iteration order–а.

    3. Ще се застрелате с маповете и конкурентността първите няколко пъти. Но да, там се внимава.

Трябва да сте влезли в системата, за да може да отговаряте на теми.