Linguagem de programação multiparadigma
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)