Executando verificação de segurança...
Respondendo a "Principalmente a ideia de "mundo real" é bem co..." dentro da publicação [Não disponível]
2

Essa questão de "modelar o mundo real" é algo que deveria sumir das apostilas. É uma metáfora tão falha que acaba induzindo ao erro e causando mais mal do que bem. Sobre isso, gosto muito de um trecho desta resposta:

"Aves voam. Avestruzes são aves, só que não voam. Aviões também voam, mas não batem as asas. Foguetes voam, e nem têm asas! Patos são aves, e também nadam. Barcos não nadam, mas é quase isso... Aviões, foguetes e barcos são veículos. Mísseis parecem foguetes, mas não transportam passageiros."

O contexto ali é sobre usar herança ou composição, e os desafios de se criar um modelo adequado e fiel à realidade. A citação acima mostra que não importa a modelagem que fizermos, nunca será 100% fiel ao "mundo real". Toda abstração tem limites.

No fim das contas, não devemos modelar o mundo real, e sim alguns aspectos do mundo real que são relevantes para o problema que queremos resolver.

Eu até entendo que a metáfora pode ajudar nas etapas iniciais do aprendizado, mas é algo que deveria ser esclarecido logo em seguida (e raramente é feito, basta ver a quantidade de "seniors" que ainda acreditam nisso).

Carregando publicação patrocinada...
2

Eu sempre falo que a maioria das pessoas não sabem programar OO porque os exemplos dos materiais didáticos são para fazer entender o conceito e o mecanismo, mas não para treinar o uso. Só que eles não deixam isso muito claro, e não induzem fazer o certo. Consequência: as pessoas treinam o erro, e é ele que ela passa fazer sempre. E muitas vezes ensinam outras pessoas assim.

Modelar é muito difícil. Em muitos casos é melhor procurar algo mais simples que não se preocupe tanto com o modelo, porque modelar errado pode causar mais estrago. Os menos inexperientes não percebem isso. Eu percebo, e ainda cometo erros.