JIT e AOT podem existir em uma mesma linguagem compilada, não tem nada a ver com a linguagem ser interpretada ou compilada, como o autor do post deixa a entender.
Exemplo simples: Dart tem ambos os tipos de compilação, sendo o JIT para durante o desenvolvimento, em que só é recompilado o que foi mudado desde a última compilação, facilitando a visualização das alterações do código; e AOT para a build de produção, pois consegue otimizar mais coisas que só são possíveis tendo conhecimento do código completo, mas toma mais tempo para compilar.
É verdade.
Pelo que vi JIT e AOT são apenas tipos de compilação, mas podem existir diferentes opções de compilação para uma mesma linguagem. Ao que parece, o que acontece é que em algumas linguagens que normalmente "cospem" bytecode de forma direta (Sem VM como o Java, por exemplo), é mais fácil implementar o AOT.
Vou alterar o post. Obrigado pela correção!
Por falar em Dart (Google) sua proposta desde 2011 era desbancar o JavaScript. Me vem o pensamento, será que de alguma forma Dart irá conseguir seu objetivo já que até agora nada? Acredito que no momento quem está mais para sucessor do JavaScript é o TypeScript (Microsoft).