Linguagens Fortemente Tipadas e Dinamicamente Tipadas: são aquelas linguagens em que o tipo das variáveis são importantes, porém, elas podem ser alteradas durante a execução do programa. Acontece que a linguagem não permite que uma variável numérica realize uma operação com uma variável do tipo string, mesmo que o conteúdo do texto seja composto por números causando um erro.
Linguagem Dinâmica: não exige declaração do tipo de dados. São capazes de escolher o tipo de acordo com o conteúdo.
Linguagem fortemente Tipada exemplo:
var1 = 120
var2 = "10"
var3 = var1 * var2
# Erro (houve erro pois o tipo não foi alterado dinamicamente durante execução em var2)
--------------------------------------------
var1 = 120
var2 = "10"
var2 = 10
var3 = var1 * var2
# resultado: 1200 (não houve erro pois o tipo foi alterado dinamicamente durante execução em var2)
--------------------------------------------
Em contrapartida, Fracamente Tipada faz a operação sem alterar o tipo:
var1 = 120
var2 = "10"
var3 = var1 * var2
// resultado: 1200
--------------------------------------------
Resumindo: FORTEMENTE TIPADA se receber um Tipo não poderá operar com outro até que seu Tipo seja alterado, mesmo que em tempo de execução. E ao receber um outro Tipo em tempo de execução, significa que são DINAMICAMENTE TIPADAS.
*Fonte: https://pt.wikipedia.org/wiki/Linguagem_tipada#Linguagens_fortemente_tipadas