Linguagens de programação, como línguas faladas, são formas de comunicar ideias. Quando duas pessoas que conhecem a mesma língua conversam, elas são capazes de se entender porque conhecem as regras que formalizam a tradução dos sons em significado e vice-versa.

 

Os computadores não entendem as línguas humanas. Pior, as línguas que eles entendem – seus conjuntos de instruções – não combinam muito bem com a maneira como a maioria dos humanos fala.

 

A lógica das linguagens de programação

 

Imagine por um momento um francês falando com um chinês. Nenhum deles entende a língua materna do outro, mas se eles falam uma segunda língua comum, como o inglês, eles ainda podem falar um com o outro. Isso é mais ou menos a situação quando se trata de linguagens de programação.

 

As habilidades em inglês dos falantes nesse último exemplo também têm paralelos diretos em termos de linguagens de programação. Quando você tem uma pessoa falando e outra pessoa ouvindo, a compreensão depende de duas coisas:

 

  • A capacidade do palestrante de traduzir ideias para o idioma
  • A capacidade do ouvinte de traduzir as palavras faladas em ideias

 

A capacidade do palestrante é equivalente à habilidade do programador, e a capacidade do ouvinte é equivalente à eficiência do compilador.

 

Uma linguagem de programação é um compromisso. Traduzir uma língua como o inglês diretamente para uma linguagem de máquina é muito difícil para uma máquina. Da mesma forma, “falar” bem uma linguagem de máquina é muito difícil para um humano. Uma linguagem de programação é aquela que um humano pode falar razoavelmente bem e que um computador pode traduzir em uma linguagem que entenda.

 

Linguagem, estrutura e tempo de execução

 

A maioria das linguagens de programação são muito pequenas. Por exemplo, C contém apenas cerca de 20 palavras-chave. Eles controlam o fluxo de um programa, mas fazem pouco mais. Escrever um programa útil usando apenas a linguagem C é quase impossível.

 

Felizmente, os programadores reconheceram esse problema. A especificação da linguagem C também define algumas funções que devem estar disponíveis para os programas em C chamarem. A maioria dessas funções, conhecidas em conjunto como C Standard Library, são elas mesmas escritas em C, embora algumas poucas possam precisar ser escritas em alguma linguagem ainda mais primitiva.

 

A maioria das linguagens tem algum tipo de equivalente à biblioteca padrão C. Java, por exemplo, tem um enorme catálogo de classes que deve estar presente para uma implementação da linguagem a ser chamada de “Java”.

 

Em alguns casos, a linguagem é mais comumente usada com uma coleção de bibliotecas, geralmente referida como uma estrutura, que é especificada separadamente da própria linguagem.

 

Quando você começa a adicionar bibliotecas a um idioma, perde um pouco da clareza do que torna o idioma único. Outra fonte de confusão é o sistema de tempo de execução. Esse requisito pode levar as pessoas a perceberem uma determinada linguagem como lenta. O código interpretado é quase sempre mais lento que o código compilado. Isso não tem nada a ver com o idioma, mas é importante.

 

Ao julgar um idioma, é importante diferenciar as características de um idioma e as características de uma implementação do idioma. Implementações iniciais do Java eram muito lentas. Isso levou as pessoas a chamarem Java de “linguagem interpretada”. O compilador Java do projeto GNU destruiu esse mito, embora outras decisões de design na linguagem Java ainda impeçam que ele seja executado tão rápido quanto algumas outras linguagens.

 

Características de uma linguagem de programação popular

 

Todas essas informações acima nos ajudam a compreender o que torna uma linguagem de programação popular, eficiente e altamente utilizada.  As características amplamente adotadas parecem compartilhar características como:

 

  • Generalidade: adequada para uma ampla gama de problemas
  • Extensibilidade: pode ser facilmente estendido com novas abstrações
  • Novidade: resolve um determinado domínio de problemas muito melhor do que as alternativas existentes
  • Familiaridade: por exemplo, sintaxe semelhante a C)
  • Disponibilidade: baixo custo + portado para múltiplas plataformas
  • Popularidade: associada a uma plataforma emergente e amplamente utilizada
  • Utilitário: bibliotecas prontamente disponíveis para tarefas comuns / integração com ferramentas existentes

 

Perceber essas características se torna bastante útil como uma estrutura para considerar e comparar vários idiomas atualmente populares.

 

O que é particularmente fascinante é como as línguas mais bem-sucedidas aparentemente começam com apenas 2 a 3 desses itens, mas depois atraem uma multidão de “early adopters” que fornecem os outros itens com o passar do tempo.

 

Se você está iniciando um projeto, você precisa escolher em qual idioma construir sua aplicação. Seu primeiro critério deve ser sempre usar uma linguagem que possa fazer o trabalho.

 

Se um idioma é muito popular, mas levaria dois anos para codificar, e outro é menos popular, mas levaria dois meses para o seu aplicativo ficar pronto, você deve claramente escolher o idioma menos popular. Mas, tudo sendo igual, escolher uma linguagem mais popular geralmente significa acesso a mais programadores e recursos.

 

O Javascript é uma das linguagens mais populares do mundo. Quer se aprofundar um pouco mais nas características dessa linguagem? Clica aqui para assistir nossa live online e gratuita de introdução!

 

O que faz uma linguagem de programação se tornar popular?
Avalie esse post
Você pode também gostar