Executando verificação de segurança...
Respondendo a [Não disponível] dentro da publicação [Não disponível]
1
  • Rust complica coisas simples, por exemplo herança de herança

a questão especifica de herança nos traits ja acho um ponto positivo do rust, afinal não é herança e sim interface (contrato) que entra naquela coisa de "composição sobre herança"

acho melhor a maneira explicita que go e rust lida com isso, tem muitas situações que o rust complica coisas simples, mas se tratando do sistema de tipos acho que foi feito da melhor maneira possivel

sem contar que sim pode usar implementações padrões nos traits

trait Animal {
  fn som(&self){
    println!("teste som");
  }
  fn respira(&self);
  fn comida(&self){
    println!("teste comida");
  }
}

struct Mamifero ;

impl Animal for Mamifero {
  fn respira(&self) {
    println!("Ar");
  }
}

fn main(){
    let tmp = Mamifero{};
    tmp.som();
    tmp.respira();
    tmp.comida();
}

isso com compila sem erros e gera o resultado esperado

teste som
Ar
teste comida

esse codigo pode ser testado no rust_playground

Carregando publicação patrocinada...
Conteúdo excluído
1

eu acho que esse compotamento deveria ser o ideal tudo ser por interface, é um sistema muito mais proximo do lado funcional como haskell e ocaml do que parecido com c++. coisa que rust pegou do funcional, apesar de n ser funcional, muito de seus conceitos relacionados a tipo vem de lá, e haskell para as pessoas que estudam design de linguagens, criação de linguages geralmente é considerado um dos melhores design de tipos ( e eu nem gosto de haskell)

se tratando de OO penso muito parecido com o a ideia do "Elegant Objects" e com o James Gosling(criador do java) que se arrependeu de adicionar herança ( o problema que ele tem é o uso execessivo de herança, como ele não achou uma solução para isso ele acha que teria sido melhor nem ter adicionado ela)

mas pelo visto temos conceitos completamentes diferentes de o que é um bom design de linguagem(o que vc acha ruim/problematico, eu acho bom e vantajoso) então dificilmente chegaremos em algo, apenas concordaremos em discordar