Logo Hardware.com.br
Duolon
Duolon Veterano Registrado
1.1K Mensagens 1 Curtida

Qual a diferença entre linguagem estruturada e oriet a OBJ?

#1 Por Duolon 02/03/2004 - 22:30
Estou querendo começar a programar em c/c++, mais 1º gostaria de saber a diferença de linguagem estruturada e orientada a objetos?(sei q c eh estruturada e c++ orientada a objetos)

e para trabalhar com jogos em 2D com a biblioteca SDL, qual das duas eh melhor?
sjk
sjk Membro Senior Registrado
362 Mensagens 0 Curtidas
#2 Por sjk
03/03/2004 - 08:23
Linguagem estruturada é programar de forma limpa, sem os famosos "goto" que deixam o código como um macarrão (hora pula para um lado, ora para outro, deixando ele difícil de entender)
orientação a objetos é encapsular em uma estrutura dados e protege-los, fazendo com que apenas funções alterem seus valores...

independente do que você for fazer (a não ser que seja um sistema de tempo real), use orientação a objetos que seu código fica mais facil de ser alterado caso necessário
Tbird 1GHZ 768MB RAM PC-133
Asus A7v133 Fonte 500W 7fans
GEFORCE 2 GTS 32DDR deluxe
40GB UDMA5
120GB UDMA5
SbLive!
USRHardmodem
Lgub
Lgub Super Participante Registrado
936 Mensagens 1 Curtida
#3 Por Lgub
03/03/2004 - 09:31
Para fazer jogos ainda 2D, é mais simples fazer em linguagem estruturada. Se vc for querer aprender tres coisas ao mesmo tempo ficara meio dificil( a linguagem, tipo de programação, e LIB grafica). Começe vendo um pouco da linguagem estrturada mesmo, vc vai acabar precisando um pouco dela quando for aprender OO.

Mais lembre-se isso é apenas uma sugestão.

Uma pergunta, vc escolheu SDL pq???
Acho mais simples para fazer um jogo 2d o Allegro, mais isso também é gosto.
Linux User:#326216
Intel I7 - 920 - 6G DDR3 Tripple Channel @1600 - Geforce 285 1G.
Programador ADVPL(Fazer o que é o que ta pagando as contas no momento...)
simpleminds
simpleminds Membro Junior Registrado
161 Mensagens 0 Curtidas
#4 Por simpleminds
03/03/2004 - 09:57
Essa visão de q OO resolve tudo é completamente equivocada, pois o encapsulamento do código nem sempre é nescessário (pode parecer absurdo, mas é verdade!), basta eu t dizer com certeza q o núcleo de
processamento do Banco Central/Brasil/Caixa/Unibnco ainda funcionam em Cobol/Fortram/C (Fortran nem tanto). Porém , o Encapsulamento permite voce estabeleça uma comunicassaum com uma linguagem nao orientada a objeto.
windows dando pau? que pleonasmo...
simpleminds
simpleminds Membro Junior Registrado
161 Mensagens 0 Curtidas
#5 Por simpleminds
03/03/2004 - 09:59
Quanto à definissaum,

Uma linguagem OO trabalha com elementos já criados (objetos). Por ex: voce cria um software para criar carros(mais didático!), dai , de repente vc precisa criar um novo carro que tenha uma marcha a mais, entao, voce reaproveita o código (herança) e adiciona uma caracteristica qualquer (estanciacao do objeto). Você pode trabalhar com classes já criadas por outros programadores (eh o caso de java).

A vantagem de trabalhar com OO eh que o código fica mais limpo, pois a alocassaum de memória não eh feita pelo programador (ponteiros, máscaras,goto, essas coisas quem faz eh ah maquina virtual java) . O código , por ficar mais limpo, permite ao programador q pense no seu problema, e não em alocassaum d memoria! E o código fica menos monolítico por estar separado em camadas (uma interface/uma comunicassaum,uma persistencia... depente) ficando assim mais reaproveitavel e mais facilmente manutenível.
windows dando pau? que pleonasmo...
sjk
sjk Membro Senior Registrado
362 Mensagens 0 Curtidas
#6 Por sjk
03/03/2004 - 10:26
Sem querer criar discussões sobre que tipo de orientação é melhor, mas já foi comprovado que Orientação a Objeto leva mais tempo para o design, mas depois de bem especificado o problema (especificado corretamente em OO e não uma adaptação de estruturada para OO), a codificação, manutenção e codificação são extremamente rápidas.

Não existe o que é melhor ou pior, você não vai usa OO para Sistemas de Tempo Real por causa do desempenho, mas se o desempenho não for um fator de risco, como não é na maioria das vezes, uma linguagem OO é muito melhor.

Sei que ainda tem muito Cobol por ai, mas muitas empresas estão transformando esse código legado para OO.

e OO não resolve tudo, tanto que existe programação orientada a Aspectos, metadados, tudo é uma extensão de OO para resolver seus problemas(crosscutting concerns).
Tbird 1GHZ 768MB RAM PC-133
Asus A7v133 Fonte 500W 7fans
GEFORCE 2 GTS 32DDR deluxe
40GB UDMA5
120GB UDMA5
SbLive!
USRHardmodem
simpleminds
simpleminds Membro Junior Registrado
161 Mensagens 0 Curtidas
#7 Por simpleminds
03/03/2004 - 12:29
sjk
Sem querer criar discussões sobre que tipo de orientação é melhor, mas já foi comprovado que Orientação a Objeto leva...


Caramba. Concordo e muito! valeu. realmente faltou abordar essa perspectiva. Pois quando o desempenho precisa ser em tempo real e distribuído (ex:aviação) a historia eh outra, mas em 99.99% dos casos o tempo não eh fator limitante, sendo assim a manutencao/atualizacao do codigo mais importante, tendo em vista q estamos falando de tempo com a base em segundos(as vezes, fraçoes bem menores de diferença).
valew
windows dando pau? que pleonasmo...
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal