Linguagem de programação multiparadigma – Wikipédia, a enciclopédia livre
As referências deste artigo necessitam de formatação. (Janeiro de 2023) |
A seção introdutória deste artigo é inexistente, incompleta, malformatada ou excessiva. (Janeiro de 2023) |
Paradigma de programação é a forma de se classificar determinada linguagem de programação com base em seu funcionamento e sua estruturação. Segundo Normak (2013)[1], professor da Universidade de Aalborg[2] na Dinamarca, paradigma de programação é um padrão que serve como uma escola de pensamentos para a programação de computadores. Alguns exemplos de paradigmas de programação são a Programação orientada a objetos, Programação Estruturada e a Programação Imperativa.
Nenhum dos paradigmas pode ser considerado o ‘melhor paradigma’, pois cada um pode ser o mais viável dependendo do projeto em que será utilizado. O objetivo da programação multiparadigma é fazer uma junção de mais de um paradigma para melhor atender as necessidades do programador. A ideia de uma linguagem multiparadigma é fornecer um framework no qual o programador possa trabalhar com vários estilos, misturando livremente construtores de diferentes paradigmas, “nenhum paradigma resolve todos os problemas da maneira mais fácil ou mais eficiente” (PAQUET; MOKHOV, 2010, pág. 21) [3]
Alguns exemplos de linguagens de programação multiparadigma são C++, Groovy, Oz, Ruby ,Scala , Swift ,Lua (linguagem de programação) e Python
Vantagens e desvantagens
[editar | editar código-fonte]As linguagens multiparadigma, como seu próprio nome já diz, suportam vários paradigmas de programação. Assim podemos utilizar cada paradigma para solucionar um problema da forma mais elegante e simples possível, conforme o seu objetivo. Por ser um conceito que aceita diversos paradigmas, essas linguagens são fracamente tipadas e se não usadas de forma correta, o código pode conter várias “gambiarras”, ou seja, o que deveria facilitar a implementação, irá atrapalhar na manutenção do código, elevando seu custo.
Exemplos de orientação a objetos
[editar | editar código-fonte]Python é tida como uma linguagem multiparadigma, um mesmo programa pode ser feito utilizando paradigmas diferentes ou um único programa pode ser criado utilizando mais de um paradigma de programação. O exemplo demonstra um tipo de calculadora, criada com o paradigma de orientação a objetos.
class Calculadora: def __init__(self): self.__var1 = None self.__var2 = None def lerValores(self): self.__var1 = float(input('Digite um valor: ')) self.__var2 = float(input('Digite outro valor: ')) def adicao(self): soma = self.__var1 + self.__var2 return soma def subtracao(self): sub = self.__var1 - self.__var2 return sub def multiplicacao(self): mult = self.__var1 * self.__var2 return mult def divisao(self): div = self.__var1 / self.__var2 return div
from Calculadora import Calculadora c = Calculadora() while True: op = int(input('1 para setar valores\n2 para operações\n3 para sair\nOpção: ')) if op == 1: c.lerValores() elif op == 2: while True: op1 = int(input('\n1 para soma\n2 para subtração\n3 para multiplicação\n4 para divisão\n5 para sair\nOpção: ')) if op1 == 1: print(c.adicao()) elif op1 == 2: print(c.subtracao()) elif op1 == 3: print(c.multiplicacao()) elif op1 == 4: print(c.divisao()) else: break else: break
Exemplo de programação estrutural
[editar | editar código-fonte]Programação estrutural segue uma estrutura sequencial, top-down, em que, ao contrario da orientação a objetos, em que o código pode ser reutilizado, na estrutural uma sentença de código só pode ser executado uma vez. O exemplo criado com paradigma estrutural também é uma calculadora assim como no exemplo anterior, demonstrando que o mesmo programa pode ser criado com paradigmas diferentes.
print('Calculadora...\n') while True: op = int(input('1 para inserir valores\n2 para efetuar operações\n3 para sair\nOpção: ')) if op == 1: var1 = float(input('Digite um valor: ')) var2 = float(input('Digite outro valor: ')) elif op == 2: while True: op1 = int(input('\n1 para soma\n2 para subtrair\n3 para multiplicar\n4 para dividir\n5 para sair\nOpção: ')) if op1 == 1: print('Soma: ', var1 + var2) elif op1 == 2: print('Subtração: ', var1 - var2) elif op1 == 3: print('Multiplicação: ', var1 * var2) elif op1 == 4: print('Divisão: ', var1 / var2) else: break else: break
- ↑ «Programming Paradigms». people.cs.aau.dk. Consultado em 9 de abril de 2019
- ↑ «Aalborg University - Knowledge for the World». www.en.aau.dk. Consultado em 9 de abril de 2019
- ↑ Mokhov, Serguei. «Comparative Studies of Programming Languages, COMP6411 Lecture Notes, Revision 1.4» (em inglês)