Pergunta

Outra fio tinha esta citação

  1. Erlang VM BEAM e HiPE é escrito principalmente em C.
  2. Linked-In motoristas são escritos principalmente em C. (Eles estão conectados a VM e serve de comunicação com o exterior mundo.)

Eu li algumas opiniões que tipagem forte, a modularidade da Ada, a verificação em tempo de execução, o processamento paralelo etc. etc. são melhores do que a de C.

Será que Erlang compilado usando Ada ser noticably melhor ou pior do que a Erlang feita com C?

Apenas um Q hipotética.

Foi útil?

Solução

Normalmente eu jogar um monte de palavras-doninhas com você sobre um tema como este, mas acontece que esta pergunta exata foi estudado (é um arquivo .doc. Sorry).

Rational tiveram um compilador com uma grande quantidade de código em ambas as línguas, e uma grande quantidade de dados compilados durante vários anos sobre as taxas de erros, tempos de correção, etc. A título de curiosidade, um dos seus engenheiros analisaram os números.

A resposta foi "custos de desenvolvimento de C ultrapassam os de Ada". Se você ler passado o título de resumo, você veria que a escrita figurado o mesmo código em Ada custar-lhes cerca de metade do que escrevê-lo no custo C .

Eu sei que todos lendo este está ansioso para criar buracos no essa conclusão. Eu estava muito. Mas eles olharam para danado perto de todos os ângulos que eu conseguia pensar no relatório.

Outras dicas

"Better" de que maneira? Melhor como em mais rápido? Melhor como em menos bugs? Melhor como em mais portátil? Melhor como em mais legível? Melhor como em mais extensível?

Para qualquer definição adequada de "melhor" argumentos podem ser feitas de qualquer maneira. No entanto, é apenas sobre escritos sagrados que nenhuma linguagem compilada é mais portátil do que C. Assim, se um de seus objetivos é fazer com que sua aplicação altamente portátil, C é uma excelente escolha.

Mais pessoas entendem C de Ada. Escrevendo extensões Erlang pode ser muito mais difícil se ele foi escrito em Ada, simplesmente porque menos pessoas estão familiarizados com o idioma.

código C pode ser altamente performance, mas estou ciente de nenhuma comparação entre C e Ada w / r para otimizações do compilador.

verificação de tipo de Ada pode ser útil, ou poderia ser um problema real. Presume-se que uma VM faz sua própria verificação de tipo sobre as peças que importa para ele. A sobrecarga de RTTC em Ada poderia impor uma carga completamente desnecessário.

Talvez, mas o que a linguagem foi seu compilador Ada escrito? Ada? E sobre o compilador que escrever o seu primeiro compilador Ada?

Em algum momento quando você está construindo software, semântica formal e processos de software são muito mais importante do que o que algo linguagem foi codificado em.

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