As desvantagens e dificuldades do Assembly


Agora que você já leu sobre ‘A melhor linguagem de programação’, e sabe da santa verdade, vamos entrar em detalhes sobre o uso do Assembly.

Nesse artigo vamos discutir as as desvantagens da linguagem.
Vamos mostrar os problemas de se programar nessa linguagem e que vão pesar na hora de você decidir que tecnologia deve usar para seu sistema.


Quando não se deve usar Assembly

Embora seja uma poderosa e importantíssima linguagem, louvar e querer usar sempre o Assembly, para qualquer tarefa, é algo totalmente inviável.
Para deixarmos o leitor da apostila Assembly Progressivo informado e realista, vamos começar falando das desvantagens dessa linguagem de programação.

Complexidade dos programas em Assembly

Não vamos mentir nem tentar esconder nada: Assembly é a linguagem mais difícil sim.
Não é tão óbvia e simples de se aprender, como Python ou Visual Basic.
Isso não quer dizer que é impossível de se programar em Assembly, só quer dizer que você terá que se dedicar mais ao estudo da linguagem.

Configurações específicas para programar em Assembly

A grande diferença, ou sacada, da linguagem Java é que é multi-plataforma.
Ou seja, criando um programa em Windows, ele rodará num sistema Linux ou MacOS, não importando a arquitetura de seu computador.
Aliás, não precisa nem ser computador, várias outras linguagens rodam dispositivos móveis, tablets, TV Digital etc.

Como explicamos no artigo sobre Como Programar emAssembly, precisamos programar especificamente para cada tipo de arquitetura, pois há diferenças nos tipos de Assembly.
Logo, Assembly não é portável. Você não pode criar um programa em Assembly e garantir que ele vá rodar em outros sistemas.

Essa é uma das grandes vantagens de programação voltadas para web, como PHP, JavaScript e a linguagem de marcação HTML, elas só dependem do navegador, não dependem do sistema operacional, muito menos de um tipo específico de processador, como precisa as variáveis do Assembly.



Baixa produtividade do programador Assembly

Quem é iniciante ou programa por hobbie, provavelmente nunca se preocupou com produtividade.
Mas quem trabalha e depende disso como meio de vida, sabe que não basta usar bem uma linguagem de programação ou saber muito de computação: você terá chefe e prazos.

As vezes deixamos de lado uma linguagem poderosa e eficiente (como Assembly, C ou C++) e optamos por uma mais lenta e menos poderosa, como Java ou C# simplesmente porque precisamos ser produtivos, ou seja, precisamos produzir mais em menos tempo.

Uma aplicação que você faz em algumas horas em Java, Python ou Perl, levaria semanas ou meses para fazer em Assembly. Os códigos em Assembly são longos, cheios de detalhes e pormenores, o programador fica a cargo de tudo.

Assembly é uma linguagem crua e com poucos ‘recursos’

Não importa qual seja o programa que vá criar, para uma empresa, loja ou um jogo, boa parte do que você precisa já está feito em Java ou C#, na forma de API’s e Frameworks, que são recursos prontos que você pode usar em suas aplicações.

Já em Assembly as coisas não vêm prontas, não há uma infinidade de bibliotecas, funções e recursos feitos e prontos do jeito, e do tanto, que as linguagens de alto nível. Logo, é necessário criar mais códigos e programas para fazer algo nessa linguagem.

Difícil manutenção de código Assembly

Os iniciantes talvez não vão entender bem isso, mas em empresas, não basta apenas escrever o código para o programa funcionar. Códigos fonte sempre são alterados com o tempo.
Por isso é importante fazer um código ‘legível’, de fácil entendimento, comentado e documentado para que outras pessoas (ou você no futuro) possam ler e entender depois.

Como os códigos em Assembly geralmente são grandes, não são tão óbvios e fáceis de entender (em algumas linguagens, como Python, basta passar o olho no código para entender o que está ocorrendo).  Portanto, códigos em Assembly costumam dar trabalho para se fazer a manutenção.

Nenhum comentário: