Роман Гребенников — Scala под капотом
Подробнее о Java-конференциях: — весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— — . . . . Роман Гребенников, Sociohub — Scala под капотом Java-конференция JPoint 2015 Москва, 20.04.2015 Язык Scala нынче модный: тут вам и паттерн матчинг, и рекурсия, и коллекции, обильно приправленные лямбдами, а также много других страшных слов из мира функционального программирования. И все эти плюшки органично переплетены в такой язык, начав писать на котором, очень тяжело остановиться. Но волшебство функциональной легкости заканчивается с фразой «а почему я переписал 100 строк лапши на Java в однострочник на Scala, но оно стало работать в 3 раза медленнее?», и мечта о прекрасном языке превращается в тыкву. Суровая реальность грязным сапогом как бы говорит нам, что абстракции языков высокого уровня могут скрывать монстров и все удобства имеют свою цену. И если вы делаете на Scala не простое CRUD-приложение, а что-то, хоть отдаленно связанное с нагрузкой, необходимо хорошо понимать, во что именно вам обходятся все эти монады. Этот доклад поведает вам о магии, которую творит компилятор скалы под капотом, расскажет об ужасах scala-коллекций, рекурсии и паттерн-матчинга, а также о том, почему же так происходит. Доклад может открыть глаза на возможные подводные камни производительности людям, практикующим программирование на Scala. В процессе будет рассказано: об интеграции jmh и sbt; о том, как заставить scalac рассказывать о том, что он там наоптимизировал; о тайнах паттерн-матчинга, хвостовой рекурсии и scala-коллекций; об умном HotSpot, который геройски все это оптимизирует. Для полноценного осознания доклада рекомендуется заранее ознакомиться с докладами Алексея Шипилёва об исследованиях производительности в Java.