Pergunta

Pode qualquer idioma a ser usado para programar em qualquer paradigma?Por exemplo, C não possui classes, mas é possível programar em OOP.Existem algumas linguagens (como assembly) eu não posso ver usando OOP em.

Foi útil?

Solução

Sim, simplesmente devido ao fato de poder implementar um intérprete para o seu $ favorito $ paradigma na língua hospedeira.

Praticamente, porém, isso não é viável, eficiente ou certo.

Outras dicas

C++ é, em última análise, montagem, você só tem um compilador para escrever uma assembleia para você a partir de uma melhor descrição.Tanta certeza de que você pode fazer OOP na assembleia, assim como você pode fazer OOP em C;só que um monte de OO, conceitos acabam sendo implementados com a convenção e programador de disciplina, ao invés de ser forçado pela estrutura da língua, com o resultado de que a enorme classes de erros torna-se possível que seu idioma de ferramentas, provavelmente, não será muito bom para ajudar você a encontrar.

Argumentos semelhantes siga para a maioria paradigma/idioma inadequações.Muitas objeto de programas voltados para a tem foi escrito em C desta forma, então, ele pode até mesmo ser um pouco mais prático coisa para fazer, não apenas um académico.

Ele pode ser um pouco mais difícil quando o que você quer é remover restrições ao invés de adicioná-los.

Na pureza imposta línguas como o Haskell e Mercúrio não pode, de repente, sair um estilo orientado a objetos pacotes-de-encapsulado-mutável-estado no meio do arbitrária de código puro (pelo menos não sem o uso de "todas as apostas estão fora" características como unsafePerformIO em Haskell ou promise_pure em Mercúrio, a mentir para o compilador, no ponto em que seu programa pode muito bem de todo não funciona a menos que você pode quebrar uma interface puro em torno de regiões em que você faz isso).No entanto, você pode escrever todo programas de natureza processual ou estilo orientado a objetos em um desses idiomas, por nunca deixar o mecanismo que utilizam para fazer IO.

Da mesma forma, se você considerar o uso de duck typing em linguagens dinâmicas para ser um paradigma, é muito doloroso para obter algo semelhante em linguagens com tipagem estática, mas você pode sempre encontrar uma maneira para representar a sua dinâmica de tipos como dados.Mas novamente, você encontrar-se fazendo coisa com a convenção e reimplementação que você iria ficar gratuitamente se você estivesse realmente usando um duck typing idioma.

Tenho bastante certeza de que seria difícil encontrar um idioma (utilizável para a escrita de propósito geral para programas) que não pode ser adaptado para escrever código em qualquer paradigma de que você gosta.A adaptação pode não produzir muito eficiente de código (por vezes, pode, no entanto;adaptação C ou assembly para qualquer paradigma, geralmente, pode ser feito praticamente tão eficiente como se você tivesse uma linguagem afinada para que o paradigma), e é quase certo que seja terrivelmente ineficientes em termos de programador de tempo.

Não, nem todos os idiomas podem ser usados para programar em qualquer paradigma.No entanto, os mais populares - Python, C ++, etc, tudo permite que você escolheu como você deseja programar.Mesmo PHP está adicionando suporte OO.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top