ЛекториумМедиатека
Личный кабинет

Язык Scala и поддержка Scala в IntelliJ IDEA

В докладе Александр Подхалюзин рассматривет различные подводные камни, с которыми может столкнуться Scala-программист. Также рассмотрены некоторые высокоуровневые языковые конструкции, внутреннее устройство которых может быть интересно (например, как они транслируются в байт-код). Кроме того, рассмотрена такая прикладная задача, как бинарная совместимость Scala-программ.

Кроме того, Александр Подхалюзин рассказывает о своём опыте разработки Scala plugin для IntelliJ IDEA и в частности:

— компилятор как спецификация: cложности поддержки языка;
— почему практически невозможно повторить анализатор Scala, а можно лишь написать его адекватное приближение;
— почему в компиляторе не проходят некоторые implicits конверсии, которые, вроде как, должны бы проходить;
— когда должен отрабатывать local type inference (вывод generic параметров по вызову), а когда нет;
— можно ли обойти отсутствие в языке понятия функции второго порядка с переменным числом параметров.

Многое из того, что рассмотрено в отношении языка Scala, с небольшими изменениями может быть перенесено и на другие языки для JVM. Доклад полезен не только Scala-разработчикам, но и всем, кто пишет код на языках для JVM.

Подробнее о курсе

Лекции курса

22
  1. Introduction to Vaadin 7Sami Ekblad
  2. Creating reusable web componentsSami Ekblad
  3. Миллионы котировок в секунду на чистой JavaРоман Елизаров
  4. Чем хорош язык ScalaПавел Фатин
  5. Язык Scala и поддержка Scala в IntelliJ IDEA▶ Вы тут
  6. Play Framework 2.0 в IntelliJ IDEAДмитрий Найданов
  7. Как нам спасти Java? Часть 1Антон Кекс
  8. Как нам спасти Java? Часть 2Антон Кекс
  9. Динамическая (JIT) компиляция в JVMВладимир Иванов
  10. Новинки в java.util.concurrentДмитрий Чуйко
  11. Java: High-level overviewGeorges Saab
  12. ForkJoinPool в Java 8Алексей Шипилёв
Показать все 22 лекции
  1. Проект OpenJDKАртём Ананьев
  2. Разработка модулярного софта — добро пожаловать в АД!Барух Садогурский
  3. Bintray: Масштабируемый сервис в облаке с нуляБарух Садогурский
  4. Power of GradleЕвгений Борисов
  5. eXtreme Application Platform (XAP)Евгений Борисов
  6. Excelsior JET: обзор возможностейНикита Липский, Павел Павлов
  7. Excelsior JET: внутренняя архитектураНикита Липский, Павел Павлов
  8. Разработка совместимого API: гений без злодействаМихаил Ершов
  9. Часть 1. Как и зачем эмулировать распределённый кластер в JVMАлексей Рагозин
  10. Часть 2. Сеть — это большая JVMАлексей Рагозин

Онлайн-курсы по программированию

3