jokerconf Joker 2014 (20.10.2014 — 21.10.2014)

In simple words about type inference

img

Что нужно знать разработчику о системе типов языка, на котором он пишет? От каких проблем спасают статические проверки, или что выбрать: статически типизированный язык или динамически типизированный? Локальный вывод типов (переменных) – скорее мешает или помогает? А глобальный?

Каждый Java-разработчик сталкивается с выводом типов постоянно, но не все знают определения и задумываются, как все работает. Вывод типов (англ. Type inference) — это возможность компилятора самому логически вывести тип значения из выражения.

Каждый раз, когда вы пишете, например, фильтрацию списка, компилятор решает систему уравнений. И если решения нет, то код не компилируется! В докладе мы поговорим про алгоритм вывода типов: что за система, откуда берутся неизвестные и ограничения на них. И, конечно, о том, почему иногда типы не сходятся. Если такие понятия, как типы, типовая безопасность, вывод типов, являются для вас buzzword’ами, то этот доклад развеет для вас туман и внесёт ясность, а так же упорядочить в голове концепты, которые постоянно на слуху.