Linguagens fortemente tipadas são aquelas em que a declaração do tipo é obrigatória. Todas as variáveis têm um tipo específico que tem que ser explicitado. Java, C++, C#, Fortran e Cobol são exemplos deste tipo de linguagem.
Linguagens fracamente tipadas ou Dinamicamente tipadas são aquelas em que durante a execução do programa podem alterar o tipo de dados contido em uma variável. Permitem que o programador não tenha de fazer conversões de tipos (cast). Exemplos destas linguagens são PHP, Javascript, Ruby, Python.
Fonte: http://ollemstudio.com/blog/?p=19