Linguagens

As linguagens de programação são ferramentas essenciais no mundo da tecnologia, permitindo que programadores criem software, aplicações e sistemas. Aqui está uma visão geral das linguagens de programação mais relevantes atualmente:

Uma linguagem de programação é um método padronizado, formado por um conjunto de regras sintáticas e semânticas, usado para criar instruções que um computador pode entender e executar. Ela serve como um meio de comunicação entre programadores e computadores, permitindo a criação de software para diversos propósitos.

As linguagens de programação funcionam através de:

  • Sintaxe e semântica: Definem a estrutura e o significado das instruções.
  • Compilação ou interpretação: O código pode ser compilado para linguagem de máquina ou interpretado linha por linha.
  • Bibliotecas e frameworks: Conjuntos de funções pré-escritas que facilitam o desenvolvimento.

Caracterização das linguagens

Nível de abstração

  • Linguagens de baixo nível: Próximas à linguagem de máquina, com pouca abstração.

Exemplo: Assembly

  • Linguagens de alto nível: Mais abstratas e próximas à linguagem humana.

Exemplos: C, Java, Javascript, Python, etc.

Paradigmas

  • Imperativo: Baseado em comandos explícitos executados em ordem.

Exemplos: C, Java, Python, PHP, etc..

  • Funcional: Baseado no conceito matemático de funções.

Exemplos: Haskell, Lisp, Erlang, etc..

  • Lógico: Usa cláusulas para descrever relações entre dados.

Exemplo: Prolog

  • Orientado a objetos: Organiza o código em objetos que contêm dados e comportamentos.

Exemplos: Java, C++, C#, Samalltalk

Forma de execução

  • Compiladas: Convertidas inteiramente para código de máquina antes da execução.

Exemplo: C, C++, Rust, Fortan, Go

  • Interpretadas: Executadas linha por linha por um interpretador.

Exemplos: Python, Ruby, Javascript, PHP, Perl

  • Híbridas: Combinam aspetos de compilação e interpretação.

Exemplos: Java, C#

Tipagem

  • Estática: Tipos de variáveis são verificados em tempo de compilação.

Exemplos: Java, C, C++, C#, Go, Rust, Kotlin, Swift, Typescript, Haskel

  • Dinâmica: Tipos são verificados em tempo de execução.

Exemplos: Python, Ruby, PHP, Javascript

Desempenho

  • Linguagens de baixo nível geralmente oferecem melhor desempenho.
  • Linguagens de alto nível priorizam produtividade do desenvolvedor.