O que é uma linguagem de programação?

Comparamos a linguagem de alto nível com a linguagem de baixo nível, em que consistem, as suas vantagens e desvantagens e a diferença entre elas.

Uma linguagem de programação é uma linguagem que, através de uma série de passos, permite ao programador(a) escrever uma série de comandos que podem resolver um problema. Ou seja, se o programador quer fazer uma função que subtrai dois números, precisa de escrever uma função, passando dois números como parâmetros.

Por outras palavras, a linguagem de programação permite que o hardware (parte física do computador, como a placa-mãe, o cooler) comunique com a parte lógica do computador, que seriam programas escritos na língua Cobol, por exemplo.

Através de símbolos, palavras-chave reservadas, tipos de escrita (sintaxe), cada língua tem as suas peculiaridades e paradigmas, ou seja, existem várias formas de escrever o mesmo código com diferentes linguagens de programação, cada uma com a sua respetiva forma.

Através de linguagens de programação, podemos controlar uma série de comandos a serem executados, tais como as ações que o nosso sistema deve realizar, que dados que precisa para armazenar numa base de dados, e como deve ser transmitido, entre outras coisas.

O que é linguagem de alto nível?

Chamamos de linguagem de alto nível aquela cuja sintaxe está focada na compreensão humana. Isto significa que este tipo de linguagem é muito mais intuitivo, fácil de utilizar e mais fácil de aprender, especialmente para principiantes no campo da programação. Para que isso seja possível, linguagens de alto nível abstraem conceitos virados para máquinas e comandos de sintetização.

Por exemplo: "print" e "delete" são instruções comuns nestas línguas que, como os termos sugerem, servem para mostrar informações no ecrã ou eliminar alguns dados, respetivamente.

Algumas das línguas de alto nível:

•▶JavaScript.

•▶Java;

•▶Rubi;

•▶Python;

•▶C#;

•▶C

•▶Swift;

•▶PHP.

Vantagens e desvantagens de línguas de alto nível.

No que se refere às vantagens das línguas de alto nível, podemos dizer que a principal é a facilidade de aprendizagem, mas esse não é o único ponto. Outro grande benefício é a produtividade que o programador ganha com este tipo de linguagem. Isto porque a abstração fornecida pela linguagem de alto nível permite escrever mais códigos em menos tempo, o que é extremamente positivo quando se trabalha em sistemas complexos. Além disso, se alguém precisar de verificar o código criado, será capaz de entender mais facilmente o que foi feito. Desta forma, o processo de manutenção também é simplificado. Por outro lado, as línguas de alto nível têm algumas desvantagens. Existem casos, por exemplo, em que o desempenho de um programa pode ser prejudicado porque requer um tempo de processamento mais longo. Tipicamente, também têm mais memória quando comparadas com uma linguagem de baixo nível.

O que é linguagem de baixo nível? Ao contrário das linguagens de alto nível, as de baixo nível são voltadas para o entendimento da máquina. Por isso, estas têm uma sintaxe mais complexa e não contam com comandos tão intuitivos. Por exemplo: as instruções “print” e “delete”, apesar de serem de fácil assimilação para uma pessoa, é evidente que o computador não é capaz de entender tais comandos. Isso porque a linguagem da máquina é constituída apenas por sequências de 0 e 1, o chamado código binário. Então, as linguagens de baixo nível têm instruções mais diretas para o processador por isso, são mais próximas da linguagem da máquina. Sendo assim, para utilizá-las é preciso conhecer não só a linguagem, mas também o hardware do dispositivo com o qual irá trabalhar. A principal linguagem de baixo nível que temos é o Assembly.

Vantagens e desvantagens de línguas de alto nível.

A principal vantagem de uma linguagem de baixo nível é o tempo de processamento mais rápido do que o de uma de alto nível. Além disso, a arquitetura dos dispositivos é mais bem aproveitada com esse tipo de linguagem. Em contrapartida, a pessoa que vai utilizar essa ferramenta de baixo nível pode levar mais tempo para compreender e dominar a sintaxe. Sem contar que ainda será necessário conhecer profundamente o hardware da máquina, o que exige mais investimento em estudo e treinamento. Ademais, visto que o código escrito é mais direcionado ao processador, a portabilidade também é prejudicada, pois ele pode não rodar em processadores de famílias diferentes.

Linguagens de alto nível vs baixo nível: quais as diferenças entre elas?

A principal diferença entre as linguagens de alto nível e de baixo nível é o objetivo que cada uma tem. Enquanto uma procura facilitar o entendimento humano, a outra aproxima-se mais da linguagem da máquina.

Linguagem de alto nível

•▶ Alta portabilidade;

•▶ Possibilidade de ser executado em qualquer equipamento;

•▶ Precisa de um compilador para tradução de código;

•▶ Linguagem amigável e intuitiva para todos os programadores;

•▶ Curva de alta aprendizagem;

•▶ Menos eficiente no que diz respeito ao desempenho da memória;

•▶ A manutenção é mais simples de aplicar;

•▶ Facilidade de depurar;

•▶ É o tipo de linguagem mais usado no nosso dia-a-dia.

•▶ Língua de baixo nível

•▶ Baixa portabilidade;

•▶ Depende da máquina para funcionar;

•▶ Precisa de um montador para traduzir o código;

•▶ Linguagem amiga das máquinas;

•▶ Curva de baixa aprendizagem;

•▶ Mais eficiente no que diz respeito ao desempenho da memória;

•▶ A manutenção tem custos elevados e complexa para aplicar;

•▶ Dificuldade em depurar;

•▶ Não é comum os programadores utilizarem este tipo de linguagem.

Voltando ao exemplo dos comandos "print" e "delete" que foram citados, referiu-se que a máquina não entende tais instruções. Para que o computador compreenda, o código escrito em linguagem de alto nível precisa de ser compilado ou interpretado.

Assim, quando um código é compilado, é gerado outro ficheiro que contém todo o código traduzido para algo mais próximo da linguagem da máquina (neste caso é um programa de montagem). Quando o código é interpretado, cada linha de comando é "traduzida" no momento da execução. É precisamente isto que aumenta o tempo de processamento.

A linguagem de baixo nível é "traduzida" pelo que chamamos de montador, que é responsável pela conversão do programa de Montagem num conjunto de instruções na linguagem da máquina. Com isto, podemos ver que a montagem também funciona como uma espécie de interface entre a linguagem de alto nível e a linguagem da máquina.

Linguagens de alto nível vs baixo nível: qual é a melhor?

Com tudo isto em mente, não podemos dizer que há uma linguagem melhor que a outra. Na verdade, só podem adaptar-se mais a necessidades específicas. Assim, a avaliação de que melhor deve ser feita com base nos requisitos do projeto em que irá trabalhar, porque cada um deles tem aspetos positivos e negativos que podem pesar mais ou menos de acordo com as necessidades da aplicação.

Por onde começar? Linguagem de alto nível ou baixo nível?

O mercado de trabalho está a exigir cada vez mais pessoas que dominem as linguagens de alto nível, como Python, JavaScript, entre outras. Além disso, como a manutenção de programas feitos em linguagens de baixo nível é mais dispendiosa, as empresas optam por desenvolver sistemas e programas em linguagens de alto nível. Ou seja, ao iniciar carreira no mundo da programação, a linguagem de alto nível é a mais recomendada para começar a carreira na área de desenvolvimento de software.