-
Analise das opções:
I. Python, Ruby e Java são linguagens de programação interpretada multiparadigma, de tipagem dinâmica e forte. (Errado Python é uma linguagem fracamente tipada)
II. As linguagens de programação Object-Pascal, C++ e Java, embora deem suporte à Orientação a Objetos (OO), não são completamente orientadas a objetos. (Correto - Java por exemplo possui tipos primitivos que não são objetos)
III. As linguagens de programação Smalltalk e Ruby são consideradas puramente orientadas a objetos, isto é, tudo é considerado um objeto, até mesmo os tipos básicos da linguagem. (Correto)
-
Jonathas, na verdade python é fortemente tipada, porém possui tipagem dinâmica. O erro do item I é dizer que Java possui tipagem dinâmica, pois a tipagem é estática.
-
O item I também é falso ao dizer que Java é interpretada.
-
I - Em linguagens fracamente tipadas, os tipos são deduzidos automaticamente. Outra característica é não possui problemas de mixagem ou conversão de tipos. Exemplo: Perl
$a = 10;
$b = “20a”;
$c = $a + $b;
print $c; #Exibe 30
Em linguagens fortemente tipadas, elas se importam com o tipo de dados contido em uma variável. Se uma operação for feita entre tipos não compatíveis, um aviso é exibido pelo interpretador ou compilador. São exemplos: Python, Java e Ruby
int i = 10;
boolean b = true;
System.out.println(i + b); //Erro de compilação. Não pode somar int com boolean
A tipagem das variáveis do Python é dinâmica, pode ser alterada em qualquer hora (assim como ocorre com o Javascript). Mas o Java não possui tipagem dinâmica: uma vez definido o tipo, este se mantém. O Java também é compilado, e não interpretado como as linguagens de script (PHP, Javascript, etc). (Item errado)
II - Correto - Os tipos primitivos da linguagem Java não são objetos
III - Correto
-
Explicando de um jeito bem simples.
Linguagem com tipagem DINÂMICA:
PODE:
x = 'sou uma string'
x = 10 // agora sou um inteiro
Linguagem com tipagem ESTÁTICA:
int x = 1 // sou um inteiro
x = "quero ser uma string agora, mas não posso, vai dar erro"
Linguagem FORTEMENTE tipada:
x = 'uma string' + 3 // não consigo somar uma string e um inteiro, como é o caso do Python
Linguagem FRACAMENTE tipada:
x = 'uma string' + 3 // posso somar, x terá o valor "uma string3", como é o caso do Javascript