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.