Епизод 78 – част 2 – Kotlin

Разговор с Иван Йонков за Kotlin

Директен линк към част 2 (mp3)

Kotlin документация
JUG презентация за Kotlin

Tags:
| май 23rd, 2016 | Posted in Uncategorized |

10 Responses to “Епизод 78 – част 2 – Kotlin”

  1. qtakabg Says:

    Според мен, прогнозите ви за поява на обяви за търсене на хора с Котлин са твърде оптимистични. Предвид това, че по думите на госта, езикът е насочен именно към ентърпрайз проекти, в които по правило решения се взимат възможно най-консервативно, ще трябва да мине доста време, докато езикът „узрее“ до ниво да бъде предпочетен от някой проектен мениджър. А и винаги ще се намира по един консултант като Найден, който ще казва: „Ама той е по-бавен от Java, няма опитни специалисти, нямаме емпирични данни за скейлъбилитито, тогава какво е предимството?“, така че бъдещето на езика е доста съмнително при наличето на мастодонти като Java и .Net.

  2. stoyan Says:

    силно се съмнявам че всички проекти които са на 6 могат просто ей така си мигрират машината на 8. Бая стари проекти ползват неща ( и езици) които няма просто да тръгнат без пренаписване на новата жаба виртуалка.

  3. usb-тата горят Says:

    Джоук не изпълни обещанието си да даде връзка към представянето на Котлин, но по-интересното е, че даде същата връзка седмици преди да даде обещание. Демек даде връзката без да обещава, но обеща след като е изпълнил и не я даде отново.

    Все пак ето я пак:

    https://jug.bg/events/%D0%B2%D1%8A%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-kotlin-%D0%BE%D1%81%D1%82%D1%80%D0%BE%D0%B2%D1%8A%D1%82-%D0%B5-%D1%85%D1%83%D0%B1%D0%B0%D0%B2-%D0%BD%D0%BE-%D0%B5%D0%B7%D0%B8%D0%BA

    Аз я имам просто, защото чакам да докопам по-добра връзка, за да гледам.

    Иначе, ако съпругата снощи не спеше, щях да цвиля от радост. Технически епизод, яки лафове, аргументирани спорове. Сега мога спокойно да цвиля докато го пиша, защото жената е на работа, децата на училище и ще преча само на паяците.

    Не можех да повярвам на ушите си, че чух от кадър на Телерик/Софтуни да казва:

    — Безсмислено е да имаш вложени класове, като можеш да използваш първокласни функции.

    Падна ми ченето. Този човек наистина ли е менторстван от св. Св. Наков?!? Невъзможно. Тук има заговор.

    Все пак добре, че темата беше Котлин, за да вярвам, че е телерикченин/софтунец.

    На няколко места се чу застъпничество за функционалната парадигма, дори без да бъде казано, само по предлагане на по-добри алтернативи, които са… функционални. Значи все пак има някакъв кяр от съществуването на js.

    Друга тема. Жабата като част от врага, дори да е отроче на Стийл, дори да е мислена от слънчевите хора, пак си е враг. Затова не съм ѝ обръщал особено внимание. Ако не беше Стоян, можеше изобщо да не съм я виждал на живо. Но в някакъв момент чувам, че една променлива може да си сменя типа произволно. Все едно керемида ме цапна по плешивото теме. Това ли са хората говорещи против PHP? Защо изобщо имат типизация, ако ще сменят типовете?

    Както казах с Жаба/Ц♯ нямам опит и се надявам никога да нямам, но имам (малко) такъв с Ц и Ц++. Звучи ми като ерес. Странично, да като перладжия, това printf/sprintf и на мен ми бърка в здравето.

    И като заговорихме за типизация, та естествено стигаме до по-общо обсъждане на помощта на цомпилаторите. Тук най-много внимание обърнахте на една нова за мен концепция — nonnullable (така ли се пише?). В първият момент, като „динамичен“ човек звучи като сталинизъм. Как така няма да е null/nil, като то всичко поначало е null/nil?! Даже се каза и в епизода, но в контекста на масиви и други структури от данни. И веднага ми светва, откъде идва тази странна идея. И сега изведнъж ще почвате да борите проблемите, които създава тъпата идея. Половин час го обсъждате и не стигате до изход.

    Веднага се сетих за jonhfound и високите технологии. Тъжно.

    Стигнахме до там да казваме, че не трябва да има подразбиращи стойности в библиотеки. Голяма тъга.

    Не, че не зинах на майкрософщината едновременно да подаваш изброими и наименовани параметри. Наистина ли в Ц♯ няма еквивалент на for each? И тези хора ще се смеят на PHP??? Не повярвах на ушите си, че Стил мечтае за for each.

    Сменяме отново темата. Докато ви нямаше вас и празнувахте тоя месец петстотин празника, аверите от GVS се появиха отново и отново с Чавдарус, защото знае се, няма Чавдарус — няма GVS. И издадоха четири епизода, като записаха поне още два, които не издадоха. Т’ва за времето дето тук нямаше нито един.

    Та тоя Чавдарус ви понахрани за звук/познания. Казвах аз да викнете Текс да обмените опит. Тоя младеж забрави, че преди да дойде Текс и преди почитателите им да им подарят стотици левове, с които да си купят скъпи микрофони, тяхното нещо беше неслушаемо. Трябваше човек доста да си играе с филтри, за да става поне малко.

    Та докато сме още на темата, човека нахрани Doom, нахрани Fallout 4, нахрани всички игри, които в този епизод обявихте за хубави. Той каза, че били за 12 годишни.

    За Текс съм споменавал, че е вебаджия. На работа работят на някакви неназовани дистрибуции на ГНУ/Линукс. Още, когато сефте се появи тоя човек, разбрах, че тоя човек нищо не разбира от ГНУ/Линукс. Та този човек дръпна едно десетминутно разсъждение по повод bash for M$ Windows. Първо, нямаше никаква връзка с истината. Нищо от казаното не беше вярно. Но още по странното беше, че го казва в предаване посветено на игри, с което пък връзката е никаква. И за капак благодари на индиеца и го описа като един великан от ранга на Гейтс. Няма такова похвално слово. Добре, че Стил не е слушал техният 79-ти епизод, че иначе щеше да се самоубие и ние също да останем без емисия.

    За съжаление трябва да се отбележи, че освен да ви бъзикат, че не разбирате от игри, взеха най-лошото от n2n. До преди правеха епизоди 2:30, 3, 3+ часа. Сега явно видели от вас, обявиха, че ще правят епизоди ≦ 01:30 с цел да паднат под час. Ще полудея. Каква е тая мания за кратки епизоди? Няма да казвам, че слушам и един друг podcast дето епизодите са по 15-20 мин. Но това, наистина не съм го казал, че ще вземе да ви дойде някоя кофти идея.

    п.п. Какво означава O’Key company? По-добрите работодатели? Госта го спомена няколко пъти.

  4. Stilgar Says:

    Къде съм казал, че няма foreach в C#? (щото си има много хубав даже)

    non-nullable се пише с тире, ама все тая. Те проблемите са за тея дето правят езици и компилатори не за тея дето ги ползват, а именно това е трика – онея да вършат тежката работа, а ние да щракаме с пръсти. То default-ни стойности може да си има просто да са записани в кода, вместо да се появяват служебно.

    А пък игрите за 12 годишни са най-хубавите.

  5. usb-тата горят Says:

    Явно и аз не съм разбрал, какво визирате, когато говорихте за някаква контролна структура в Котлин, която обхожда по ключ и стойност (това е в края, някъде към ≈1:16 мин.). Пък и примерите, които се обсъждаха в предаването, аз ги нямах пред мен да ги гледам. Може би защото съм тъп, но не разбрах от къде ги вадите. Вероятно от някакви официални „първи стъпки“ на страницата на проекта.

    Както и да е. Освен за foreach, чистосърдечно си признавам, че още няколко неща не ги разбрах. Ама то така с високите технологии и простите хора.

    Важното е, че епизода беше много силен.

    Поздрави!!!

    п.п. По въпросите на игрите не споря. Аз дори до ден днешен си играя Doom (едно!) и ми е труден на лесни степени. А на работният си плот имам Open Arena и PrBoom+, на който bot-овете ме правят да си говоря сам на най-лесното. Просто предадох Чавдарус как нахрани DooM, че не ставал за нищо. Иначе те имат цял епизод посветен на него;

    п.п.п. По този въпрос „съзирам заговор“. Такава тежка игра се появява точно, когато трябва да се появят новите поколения платки на Невидия и Ати, а също така новите професори на АМД и Интел. И също новите по-бързи памети, и новите по-бързи дискове. Вярно е, че двигателя е нов и неоптимизиран, вярно е, че е планиран да се ползва поне петилетка напред. Просто съзирам новата муровщина.

  6. Stilgar Says:

    От официалния сайт са примерите – http://kotlinlang.org/docs/reference/
    Това което обсъждаме на 01:16 е възможността да се деконструира KeyValuePair в две променливи – http://kotlinlang.org/docs/reference/multi-declarations.html#example-destructuring-declarations-and-maps

    В C# е foreach(var kvp in dictionary) и после трябва да пишеш kvp.Key и kvp.Value в тялото на цикъла докато в Kotlin може да ги разглобиш в променливи още в декларацията for ((key, value) in map)

  7. usb-тата горят Says:

    Ами да, не съм бил много далеч. И PHP го може. А аз не съм писал на PHP от някъде 2011 год. Благодаря за разяснението!

    п.п. Може би е добре тази връзка да се сложи в описанието на епизода, та други тъпаци като мен, които те първа ще слушат, да могат своевременно да гледат и примерите. Малко се позагубва човек само, като ви слуша, но пък и вие на широко си обяснявате, затова не е чак толкова много.

  8. Stilgar Says:

    То PHP може много неща ама гадно. BTW на SO твърдят, че това точно не го може – http://stackoverflow.com/questions/28232945/destructuring-assignment-in-php-for-objects-associative-arrays

  9. usb-тата горят Says:

    Ами явно са ми се поомешали знанията от PHP и Perl. Няма да казвам, че от Смоко пък почти нищо не помня. То са си минали и нещо като 15 години.

    PHP скапаното му е единствено, че вътрешните му функции имат тъпи и дълги имена. Другото е, че имат по 500 неща вършещи едно и също, ама малко по-различно. Да не говорим при СУБД пък какво чудо е. Страшна работа. Но за сметка на това е „раздвижен“ до лудост. Можеш да направиш всякаква лудост, която ти дойде. Да кажем само едни променливи-променливи и избухваш.

  10. wqw Says:

    Тая част се е получила добре без самоцензурата. Keep up the profanity!

Leave a Reply