Linguagem procedural é um tipo de linguagem de programação que se baseia em um conjunto de procedimentos ou instruções que guiam a execução de um programa. Esses procedimentos ou instruções são conhecidos como instruções e são executados sequencialmente de cima para baixo. As linguagens procedimentais são concebidas para resolver um problema específico, dividindo-o em tarefas mais pequenas que podem ser facilmente implementadas e executadas.
Os exemplos mais comuns de linguagens processuais são o C, o Pascal e o Fortran. Estas linguagens são utilizadas para escrever código que executa uma tarefa específica, como cálculos, processamento de dados e manipulação de ficheiros. As linguagens procedimentais são conhecidas pela sua capacidade de lidar com tarefas complexas e pela sua utilização eficiente dos recursos do sistema.
Por outro lado, as linguagens não processuais, também conhecidas como linguagens declarativas, são concebidas para resolver um problema descrevendo o que tem de ser feito em vez de como tem de ser feito. Exemplos de linguagens não processuais são a SQL e a HTML. Estas linguagens são normalmente utilizadas para a gestão de bases de dados e o desenvolvimento Web.
Por falar em gestão de bases de dados, a linguagem processual de bases de dados é um tipo de linguagem processual especificamente concebida para interagir com bases de dados. Esta linguagem é utilizada para criar, modificar e gerir bases de dados e os seus objectos associados, como tabelas, vistas e índices. Exemplos de linguagens processuais de bases de dados são o PL/SQL e o T-SQL.
A linguagem de programação estruturada, como o nome sugere, é um tipo de linguagem de programação que enfatiza a utilização de técnicas de programação estruturada. Estas técnicas envolvem a utilização de estruturas de controlo, como loops e condicionais, para criar código mais legível e de fácil manutenção. Exemplos de linguagens de programação estruturadas incluem C, Pascal e Ada.
As linguagens funcionais, por outro lado, são um tipo de linguagem de programação que se centra na utilização de funções. Estas funções recebem um ou mais valores de entrada e produzem um valor de saída sem alterar o estado do programa. Exemplos de linguagens funcionais incluem Haskell, Lisp e Erlang.
Finalmente, a linguagem de programação imperativa é um tipo de linguagem de programação que utiliza um conjunto de comandos ou instruções para controlar a execução de um programa. Estas instruções são executadas por ordem e podem alterar o estado do programa. Exemplos de linguagens de programação imperativas são o C, o Java e o Python.
Em conclusão, a linguagem procedimental é um tipo de linguagem de programação que se baseia num conjunto de procedimentos ou instruções que orientam a execução de um programa. As linguagens não processuais, por outro lado, descrevem o que deve ser feito em vez de como deve ser feito. As linguagens processuais de bases de dados são especificamente concebidas para interagir com bases de dados, enquanto as linguagens de programação estruturada privilegiam a utilização de técnicas de programação estruturada. As linguagens funcionais centram-se na utilização de funções e as linguagens de programação imperativas utilizam um conjunto de comandos ou instruções para controlar a execução do programa.
Existem vários tipos de linguagens de programação, incluindo linguagens processuais, linguagens orientadas para objectos, linguagens funcionais, linguagens de script e linguagens de marcação.
As linguagens de programação orientadas para objectos (OOP) são linguagens de programação que se baseiam no conceito de objectos. Os objectos são instâncias de uma classe que encapsulam dados e os métodos utilizados para manipular esses dados. As OOPs permitem o encapsulamento, a herança e o polimorfismo, o que torna o código mais modular, mais fácil de manter e mais reutilizável. Exemplos de OOPs incluem Java, Python, C++ e Ruby.
A programação funcional e a programação orientada para objectos são dois paradigmas de programação diferentes.
A programação funcional dá ênfase à utilização de funções que operam sobre dados e não permite efeitos secundários ou alterações aos dados no âmbito da função. Está centrada na utilização de dados imutáveis, recursão e funções de ordem superior.
Por outro lado, a programação orientada para objectos dá ênfase à utilização de objectos, que encapsulam dados e comportamentos. Permite a criação de código reutilizável através de herança e polimorfismo.
Em resumo, a programação funcional está mais centrada na utilização de funções para manipular dados, enquanto a programação orientada para objectos está mais centrada na utilização de objectos para encapsular dados e comportamentos.