DEV Community

Cover image for Qual a melhor linguagem de programação?
Flávia Correia for Devs Jequié

Posted on

2 1

Qual a melhor linguagem de programação?

Fala pessoal, tudo bem?

Pra você, qual a melhor linguagem de programação (LP)?

A resposta correta é... Depende!

Lá vem o depende...

Pois é, isso mesmo. Saber qual a melhor LP depende do contexto, da aplicação, do problema, do que precisa na aplicação, a arquitetura do cliente. E esse contexto precisa ser analisado de modo que essa escolha seja a melhor para a situação problema e não porque o colega A prefere a LP X ou Y.

Vamos por partes:

Antes de tudo: O que é uma LP?


Esse conceito peguei daqui.

É uma linguagem formal que, através de uma série de instruções, permite que um programador escreva um conjunto de ordens, ações consecutivas, dados e algoritmos para criar programas que controlam o comportamento físico e lógico de uma máquina.


1. LPs de baixo nível
a. Linguagem de máquina: coleção de binários que o computador lê e interpreta.
b. Linguagem Assembly: primeira tentativa para uma linguagem próxima da usada por seres humanos.

2. LPs de alto nível
Essas usam tradutores (a) ou compiladores (b):
a. os códigos são executados à medida que são traduzidos.
b. os códigos são traduzidos de uma só vez.


O que se leva em consideração em um projeto de LP

É importante ter alguns pontos que devemos levar em consideração quando vamos escolher uma LP para um projeto, como nos trás Sebesta (2011):

Tabela 1 Critérios de avaliação de linguagens e as características que os afetam

  • A legibilidade diz respeito à facilidade com a qual os programas podem ser lidos e entendidos;
  • A facilidade de escrita é a medida da facilidade que uma linguagem pode ser usada para criar programas;
  • A confiabilidade diz respeito ao quanto um programa está de acordo com suas especificações em todas as condições;
  • O custo diz respeito a treinar programadores para usar a LP, escrever programas na linguagem, compilar programas na linguagem, executar programas escritos em uma linguagem, sistema de implementação da linguagem, a confiabilidade baixa e manter programas (correções + modificações).

Algumas características que devem ser levadas em consideração:
a. simplicidade geral (construções básicas e multiplicidade de recursos);

b. ortogonalidade ( um conjunto construções primitivas pode ser combinado a um número de formas para construir as estruturas de controle e de dados da linguagem);

c. tipos de dados (presença de mecanismos adequados para definir tipos e estruturas de dados);

d. projeto de sintaxe (tem a ver com o formato dos identificadores, as palavras especiais e a forma e semântica);

e. suporte à abstração (habilidade de definir estruturas em que muitos dos detalhes sejam ignorados);

f. expressividade (existência de operadores que permitem muitas computações com um programa muito pequeno);

g. verificação de tipos (execução de testes para detectar erros de tipos em um programa);

h. tratamento de exceções (habilidade de um programa de interceptar erros em tempo de execução);

i. restrição de apelidos (permitidos quando é possível ter um ou mais nomes para acessar a mesma célula de memória);

j. portabilidade (a facilidade com a qual os programas podem ser movidos de uma implementação para outra);

k. reusabilidade (diminuir a necessidade de criar diferentes subprogramas que implementam o mesmo algoritmo em diferentes tipos de dados);

l. generalidade (a aplicabilidade da LP a uma ampla faixa de aplicações);


Programação procedural X Computação paralela

Na programação procedural, o programador descreve de forma detalhada o que a máquina deve fazer.

Já na computação paralela, resolvem-se os problemas com vários computadores trabalhando ao mesmo tempo, isso com o foco em um único alvo.


Os paradigmas

Dando um gugôu você encontra qual o significado do que é um paradigma: um exemplo que serve como modelo ou padrão.

Na programação, temos diversos paradigmas, diversos modelos e padrões para resolver diversos problemas:
1. Imperativo: o foco da solução está em como o problema deve ser resolvido pela máquina (procedural). Usado quando a aplicação requer manutenção e mudanças a longo prazo. Linguagens como Pascal e Fortran usam esse tipo de paradigma.

2. Orientado a Objetos: os atributos e comportamentos estão contidos dentro de um único objeto, geralmente usam classes para definir esses objetos. Além disso, as aplicações são desenvolvidas e interpretadas por diferentes plataformas. C++, Java, JavaScript e Python são exemplos de projetos de LP orientados a objetos.

3. Orientado a Eventos: aqueles que definem a execução de determinadas funções conforme os eventos são disparados pelo usuário. Visual Basic e Delphi são exemplos que usam esse paradigma.

4. Funcional: indicado quando a resolução do problema querer, majoritariamente, de uma base matemática. Aqui se destaca o uso das funções e, na hora de resolver um problema, o divide em blocos onde são implementadas funções. Linguagens que usam esse paradigma são LISP e Haskell.

5. Declarativo: foca em o que deve ser resolvido, nesse paradigma são utilizadas verdades lógicas imutáveis, possuindo nível de abstração maior que os outros paradigmas, XML e HTML são exemplos de linguagens de marcação que usam esse paradigma.

6. Lógico: ou restritivo é o uso de uma notação lógica formal para comunicar processos computacionais para um computador, sendo muito utilizado para resolver problemas na área de Inteligência Artificial, baseando-se em análises lógicas e matemáticas, além disso são usados fatos, regras de inferências e busca. A Prolog é uma LP que faz uso desse paradigma.


Muita coisa pra processar? É assim mesmo! Consegue perceber agora que não existe LP perfeita para todas as situações? Depois entro mais a fundo nesse tema de Conceitos de LPs. Recomendo a leitura do livro Conceitos de Linguagens de Programação do Robert W. Sebesta, nesse post usei a 9ª edição como base.

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay