Насчёт жаба дженериков не уверен. Беглое прочтение статьи не дало мне понимания, в каком смысле имеется Тьюринг полнота: система типов Тьюринг полная или реальный тайп чекер. Про плюсы была статья на Хабре: "жизнь времени компиляции" или что-то подобное, где gcc заставили на шаблонах алгоритм жизнь считать
Given a Turing machineTand an input tapeαI, we will constructtypest1,t2and a class table such thatt1<:t2if and only ifThaltsonαI. For each stateqs∈Q, we have six classes:QwLs,QwRs,QLs,QRs,QLRsandQRLs; for each lettera∈Σ∪{#}, we have a classLa.Here,#is a fresh letter. We also make use of four auxiliary classes:N,E,ML, andMR.