Хотя может я неправильно вас понимаю.Вы не могли бы привести примеры практических заданий (может у вас практическое задание — сделать коммит к реальному опенсорс-проекту с более 100 вотчеров на ГитХабе).
Большая часть моих одногруппников попала на практику в JetBrains, собственно, их магистерские проекты были тесно связаны с основными продуктами компании: Idea, ReSharper, dotCover, YouTrack. Причем часть результатов этих работ попали в продакшн и на данный момент присутствуют в новых версиях этих продуктов. Примерно такая же ситуация с Parallels и Yandex (конкретно по продуктам и задачам не смогу ничего сказать)
Практические курсы и курсовые проекты очень хорошо этому способствуют. Вышеупомянутый НИР — это около 95% самостоятельного изучения, все проекты — это актуальные задачи, а некоторые оказываются в принципе не исследованными, поэтому студентам приходится самостоятельно заниматься изучением проблемы с нуля.
Да! Я указал в заключении, что такой подход вряд ли можно использовать в большинстве случаев. Например в .Net yield используется повсюду в методах расширения коллекций, однако это вполне нормально, т.к. итератор сгенерированный компилятором C# выполняет пользовательский код в том же потоке, как выше указано — это реализация основана на конечных автоматах.
Цель данной статьи — не сама реализация yield, а пример того, что Kotlin позволяет реализовать многие привычные конструкции на уровне кода так, чтобы они выглядели будто встроены в язык. Это позволяет избавиться от кучи мусора в коде (еще раз для сравнения — представте подобную реализацию в Java)
Большая часть моих одногруппников попала на практику в JetBrains, собственно, их магистерские проекты были тесно связаны с основными продуктами компании: Idea, ReSharper, dotCover, YouTrack. Причем часть результатов этих работ попали в продакшн и на данный момент присутствуют в новых версиях этих продуктов. Примерно такая же ситуация с Parallels и Yandex (конкретно по продуктам и задачам не смогу ничего сказать)
Цель данной статьи — не сама реализация yield, а пример того, что Kotlin позволяет реализовать многие привычные конструкции на уровне кода так, чтобы они выглядели будто встроены в язык. Это позволяет избавиться от кучи мусора в коде (еще раз для сравнения — представте подобную реализацию в Java)
По поводу сахара я в первую очередь сравнивал язык с той же Джавой, в которой подобная реализация выглядит как запутанный моток лески на рыбалке.
У Free версии свой багтрекер на битбакете bitbucket.org/Nerzhul500/resharper-spell-checker/issues?status=new&status=open