A linguagem da assembleia é mais poderosa do que uma linguagem de alto nível? Porquê?
Sim e No.
Sim, porque a linguagem assembly permite ao programador aproveitar mais diretamente as funções detalhadas da máquina, já que cada instrução de máquina é representada por uma instrução de linguagem assembly. Isto também significa que existem muitas instruções de linguagem assembly por função de nível superior sendo implementadas. Por exemplo, funções comuns de nível superior como loops de programa devem ser implementadas usando muitas instruções de linguagem assembly. A resposta "sim" significa que as funções de nível superior que estão sendo implementadas funcionarão com a velocidade máxima possível por função. Esta "velocidade máxima possível por função" é a definição de "poderoso"
Não, porque a linguagem assembly requer que o programador gaste muito mais tempo implementando as funções de nível superior, o que seria necessário usando uma HHL. Por exemplo, funções comuns de nível superior como loops de programa podem ser implementadas usando apenas duas instruções de HLL. Por exemplo, FOR I=1 to X; [comandos de loop a serem repetidos X vezes]; END;. O compilador HLL cria as instruções de linguagem assembly necessárias para implementar as instruções FOR e END HLL. Além disso, as [instruções em loop a serem repetidas X vezes] também são escritas em instruções HLL, que normalmente são mais compactas que as instruções de linguagem assembly correspondentes.
Se tomarmos uma visão de nível superior das funções a serem implementadas usando instruções de linguagem assembly, ou instruções HLL, cada instrução HLL provavelmente criará 5 ou mais instruções de linguagem assembly. (o número real depende do domínio do problema que está sendo tratado e do HLL específico que está sendo utilizado). Para funções complexas, como um aplicativo iPhone, uma HLL deve ser utilizada porque a versão de instrução em linguagem assembly do aplicativo conterá muito mais bugs. O número de bugs sendo proporcional ao número de linhas de código escritas. Além disso, o tempo necessário para criar a funcionalidade da aplicação iPhone será proporcional às linhas de código necessárias, portanto, a versão HLL da aplicação será 5 vezes menos cara para desenvolver (design, código, depuração, teste e integração).
Então, "mais poderosa" não é o critério certo para aplicações comerciais significativas. O custo de desenvolvimento é tipicamente o melhor critério.
Artigos semelhantes
- Qual é a diferença entre linguagem de máquina, linguagem de montagem e linguagem de alto nível em computadores?
- Qual é a diferença entre uma linguagem de montagem e uma linguagem de alto nível?
- Porque é que o C é chamado uma linguagem de assembleia?
- Quais são os torneios de nível 1, de nível 2 ou de nível 3 no PUBG mobile?