Estudar C puro ou só C++?

784 views
Skip to first unread message

Geforce \ Iniciante

unread,
Jul 17, 2008, 7:34:33 AM7/17/08
to ccppbrasil
Bom, sou novato em C++. Nas minhas aulas eu uso muita coisa de C++ e
sinceramente muitas vezes não sei se o que eu estou usando é exclusivo
de C++ ou é do C.

Diversos lugares que eu procurei ajuda a respeito disseram que a única
vantagem de se saber C antes de C++ é que você tem uma maior
facilidade para aprender, mas não é necessário saber C para aprender C+
+.

Eu decidi, em paralelo às minhas aulas de C++, estudar C puro.
Continuo ou devo focar só no C++?

- Eu sou bem novato então me desculpem se eu perguntar algo meio
'besta' -

Edgard Soares

unread,
Jul 17, 2008, 9:22:36 AM7/17/08
to ccppb...@googlegroups.com

Caro Geforce,


   Não resisti em responder sua pergunta.


   E tranquilize-se, ela não é besta! Ela é interessante, importante e recorrente. Não sinta-se ofendido, mas já que você é novato, segue nosso mantra para iniciantes:


-- "Não tenho obrigação de ser humilde, mas não tenho o direito de ser egoísta e arrogante"

-- Eu não sou especial porque sei programar em C++.

-- Tenho obrigação de compartilhar conhecimento, principalmente bugs terríveis e boas descobertas

-- Java, C#, Javascript, PHP, "Perl, Ada, Lua e outras linguagens" são úteis

-- "Vou conhecer outras linguagens sempre que possível, mas nunca para o ataque ou para defesa"
-- "Nunca irei defender C++ com meios coercivos, mas sempre com condescendência e sapiência"
-- "Se meu código funcionar não é porque eu sou bom, pode ser que eu tive sorte"

-- Insights nem sempre são geniais e preciso ser humilde para assumir quando eles são estúpidos

-- Se alguém não entender meu código, eu não sou esperto, sou incapaz de me expressar.


   E lendo no Achitecture Journal uma matéria do Joseph Hofstader, vi uma dica que achei espetacular:

    -- Sempre que você estiver desenvolvendo "algo", analise se você não está construindo um "The Homer".

  Sobre sua pergunta, nosso amigo AF expressou uma opnião a algum tempo atrás que encaixa-se perfeitamente neste contexto e ainda tem um plus que eu acho adaptável a uma resposta para seu questionamente:  "você deve seguir o caminho que pareça-lhe menos confuso, mas é muito saudável aprender inicialmente C e posteriormente C++ de forma gradativa e evolutiva, mas procure sempre trabalhar com C++ e nunca tente jogar um programa em VB, Perl ou Java no lixo para fazer do zero teu software em C++, no que está funcionando bem não se mexe. Agora se o software não estiver funcionando, chute-o com toda força do seu corpo, mas poupe energias para fazer outro em C++"

  E realmente, C é um subset de C++ e apesar do termo C/C++ ser comum (que é uma linguagem ainda não inventada)  não é necessário aprender C para entender C++. Agora, aprender orientação a objetos e programação genérica antes de aprender C++ pode ser extremamente útil, mas cuidado!!! OO deve ser utilizado com moderação; procure ser pragmático e adote a postura funcional sem utilizar-se de programação funcional; o que é outra história.


2008/7/17 Geforce Iniciante <gefor...@hotmail.com>:

P.

unread,
Jul 17, 2008, 10:10:03 AM7/17/08
to ccppbrasil
Geforce Iniciante wrote:

> Eu decidi, em paralelo �s minhas aulas de C++, estudar C puro.
> Continuo ou devo focar s� no C++?

Uma coisa útil é compreender que em um certo plano nós comparamos as
ferramentas mas em um certo outro plano nós comparamos as estratégias
de projeto. É provável que você tenha cadeiras de "metodologia de
projeto" ou "análise e projeto de sistemas" ou alguma coisa parecida
na sua faculdade.

Por um lado, existem as peculiaridades de C versus de C++; por outro
lado, existem as peculiaridades do projeto estruturado de sistemas
versus as do projeto orientado a objetos de sistema.

É um erro ignorar a história e subestimar o projeto estruturado de
sistemas; aqueles que cometem esse erro se tornam bons em distribuir
classes em um diagrama mas continuam para sempre ruins em projetar
seus métodos.

Estudar C e/ou C++, suas características peculiares e as expressões
idiomáticas típicas dos especialistas é acumular conhecimento sobre
uma ferramenta.

É perfeitamente possível projetar um sistema orientado a objetos e
realizar este projeto em C.
É perfeitamente possível projetar um sistema estruturado e realizar
este projeto em C++.

--
P.

Guedes

unread,
Jul 17, 2008, 6:03:32 PM7/17/08
to ccppb...@googlegroups.com

Em Qui, 2008-07-17 às 04:34 -0700, Geforce \ Iniciante escreveu:
> Bom, sou novato em C++. Nas minhas aulas eu uso muita coisa de C++ e
> sinceramente muitas vezes não sei se o que eu estou usando é exclusivo
> de C++ ou é do C.
>
> Diversos lugares que eu procurei ajuda a respeito disseram que a única
> vantagem de se saber C antes de C++ é que você tem uma maior
> facilidade para aprender, mas não é necessário saber C para aprender C+
> +.
>
> Eu decidi, em paralelo às minhas aulas de C++, estudar C puro.
> Continuo ou devo focar só no C++?
Esta pergunta será uma polêmica aqui!
Está circulando na lista uma discussão sobre OO (Orientado a Objeto) e
PE (Programação Estruturada), ou seja, conceitos, porque você pode usar
programação orientado a objeto (POO) numa linguagem estruturada, porque
POO é um conceito, igual ao padrão de projeto (Design Pattern).
Minha opinião é, que estude apenas C++ ao extremo, ou seja, use e abuse
de abstração, polimorfismo, herança, métodos genéricos entre outras
maravilhas do conceito POO.
Guedes.

Guedes

unread,
Jul 17, 2008, 6:22:05 PM7/17/08
to ccppb...@googlegroups.com
Em Qui, 2008-07-17 às 10:22 -0300, Edgard Soares escreveu:

> -- Sempre que você estiver desenvolvendo "algo", analise se você
> não está construindo um "The Homer".

Procurei em alguns dicionários e não encontrei uma definição
satisfatória da palavra "The Homer". Qual o significado da palavra "The
Homer" nesta frase?
Guedes.


Virgilio Alexandre Fornazin

unread,
Jul 17, 2008, 6:25:19 PM7/17/08
to ccppb...@googlegroups.com
Uma vez aprendendo C++, voce vai saber, digamos assim, 70% de C, so vai ter
que aprender a usar as rotinas da libc (famosos malloc/free/printf, etc), e
algumas regrinhas de sintaxe que mudam, mas enfim, você sempre vai achar
código C escrito em estilo C++ e vice versa, portanto, não há como apenas se
fixar a uma delas, já que C++ é derivado do C.

Wanderley Caloni

unread,
Jul 17, 2008, 9:03:54 PM7/17/08
to ccppbrasil
Tenha sempre em mente uma coisa que o Stroustrup disse em seu livro
que resume muito bem a questão das duas linguagens: "um programa bem
escrito em C é um programa válido em C++". Esse "programa bem escrito"
inclui todos os exemplos do livro de K&R, um livro escrito sobre a
linguagem C antes mesmo de C++ se tornar tão popular.

[]s

On 17 jul, 19:25, "Virgilio Alexandre Fornazin"

Cesar Mello

unread,
Jul 17, 2008, 10:51:36 PM7/17/08
to ccppb...@googlegroups.com
Olá,

Vai ter gente me chamando de chato aí, mas de qualquer forma lá vai esse
link mais uma vez:

http://www.research.att.com/~bs/new_learning.pdf

[]
Mello

/* Alberto Fabiano */

unread,
Jul 18, 2008, 8:52:21 AM7/18/08
to ccppb...@googlegroups.com


2008/7/17 Guedes <billg...@terra.com.br>:

      Acho que isto refere-se ao tópico Don't Build 'The Homer' do artigo "We Don't Need No Architects!" do Joseph Hofstader que saiu no The Architecture Journal 15 [1]; onde o conselho basicamente é de realizar uma auto-crítica durante o desenvolvimento para verificar se você não está saindo fora do escopo ou se você não está criando um monstro, pensando que você está criando uma obra de arte. Aliás, para quem preferir, há uma aplicação WPF que oferece uma interatividade bem interessante (não chega a ser impressionante) de várias edições deste jornal. E esta edição está bem interessante, recomendo a todos lerem pois ela trata sobre o papel do Arquiteto e acho que ela está bem esclarecedora. Além disto, confesso que já estou curioso para saber o que sairá na edição que será publicada no próximo mês.

       Porém, não sei se este conselho do "The Homer" é apropriado para o tópico. Quando eu li ele pensei justamente no conselho do Stroustrup que o Caloni (mais rápido no gatilho) referenciou aqui. E César, você não está sendo chato, eu também aprecio bastante o "Learning Standard C++ as a New Language" [3] e penso que ele deve ser sempre resgatado nestas discussõe sobre aprendizado de C++.

        E apesar do Ed ter resgatado um fragmento de uma mensagem antiga que eu escrevi, acho que o programador deve saber as duas linguagens, mas você deve se focar em uma linguagem por vez e não estudar duas paralelamente pois isto pode ficar confuso e improdutivo. Já que você já está estudando C++, aprofunde-se nela ao máximo neste momento, penso que isto será mais produtivo. Depois estude o que você perde ao usar apenas C ou C-style.

[1]  http://download.microsoft.com/download/3/d/7/3d718c6c-e5f3-41e3-b346-6e9f114e2531/journal15_english.pdf.zip

[2] http://www.microsoft.com/downloads/details.aspx?FamilyID=dd466bbb-1b7d-438e-9f9a-954ce2058f15&displaylang=en

[3] http://www.research.att.com/~bs/new_learning.pdf






Hélder Gomes

unread,
Jul 18, 2008, 2:18:25 AM7/18/08
to ccppb...@googlegroups.com
Eu aprendi C, depois C++, e realmente, no começo eu "grudei" no C (eu
programava em C++ com cara de C), agora "grudei" no C++, porque não
consigo fazer mais no C as coisas que eu aprendi a fazer no C++, sem
usar umas gambiarras extremas (leia-se: aprendi a trabalhar com
templates... eita negócio legal \o/)

Rodrigo Strauss

unread,
Jul 18, 2008, 9:29:58 PM7/18/08
to ccppb...@googlegroups.com
Estudar mais é sempre melhor que estudar menos, principalmente se você tem tempo e interesse.

Rodrigo Strauss

2008/7/17 Geforce Iniciante <gefor...@hotmail.com>:

Amanda Cristina

unread,
Jul 21, 2008, 10:08:06 PM7/21/08
to ccppb...@googlegroups.com


2008/7/18 Rodrigo Strauss <rod...@1bit.com.br>:

Estudar mais é sempre melhor que estudar menos, principalmente se você tem tempo e interesse.

  Acredito seriamente nisto.
 


Rodrigo Strauss

2008/7/17 Geforce Iniciante <gefor...@hotmail.com>:

Bom, sou novato em C++. Nas minhas aulas eu uso muita coisa de C++ e
sinceramente muitas vezes não sei se o que eu estou usando é exclusivo
de C++ ou é do C.

Diversos lugares que eu procurei ajuda a respeito disseram que a única
vantagem de se saber C antes de C++ é que você tem uma maior
facilidade para aprender, mas não é necessário saber C para aprender C+
+.

Eu decidi, em paralelo às minhas aulas de C++, estudar C puro.
Continuo ou devo focar só no C++?

- Eu sou bem novato então me desculpem se eu perguntar algo meio
'besta' -


Geforce,

     Estou curiosa, sua dúvida foi respondida?

 





Amanda Cristina

unread,
Jul 21, 2008, 10:13:43 PM7/21/08
to ccppb...@googlegroups.com

    Li este "The Architecture Journal" este final de semana e confesso que gostei muitíssimo desta dica, principalmente pelo assunto da revista. Pois hoje em dia, está um pouco difícil entender  - "arquiteto para quem precisa, arquiteto para quem precisa de arquiteto" - e a revista esclareceu bastante este assunto.

2008/7/18 /* Alberto Fabiano */ <alb...@ccppbrasil.org>:



2008/7/17 Guedes <billg...@terra.com.br>:


Em Qui, 2008-07-17 às 10:22 -0300, Edgard Soares escreveu:

>     -- Sempre que você estiver desenvolvendo "algo", analise se você
> não está construindo um "The Homer".
Procurei em alguns dicionários e não encontrei uma definição
satisfatória da palavra "The Homer". Qual o significado da palavra "The
Homer" nesta frase?
Guedes.


      Acho que isto refere-se ao tópico Don't Build 'The Homer' do artigo "We Don't Need No Architects!" do Joseph Hofstader que saiu no The Architecture Journal 15 [1]; onde o conselho basicamente é de realizar uma auto-crítica durante o desenvolvimento para verificar se você não está saindo fora do escopo ou se você não está criando um monstro, pensando que você está criando uma obra de arte. Aliás, para quem preferir, há uma aplicação WPF que oferece uma interatividade bem interessante (não chega a ser impressionante) de várias edições deste jornal. E esta edição está bem interessante, recomendo a todos lerem pois ela trata sobre o papel do Arquiteto e acho que ela está bem esclarecedora. Além disto, confesso que já estou curioso para saber o que sairá na edição que será publicada no próximo mês.

       Porém, não sei se este conselho do "The Homer" é apropriado para o tópico. Quando eu li ele pensei justamente no conselho do Stroustrup que o Caloni (mais rápido no gatilho) referenciou aqui. E César, você não está sendo chato, eu também aprecio bastante o "Learning Standard C++ as a New Language" [3] e penso que ele deve ser sempre resgatado nestas discussõe sobre aprendizado de C++.

        E apesar do Ed ter resgatado um fragmento de uma mensagem antiga que eu escrevi, acho que o programador deve saber as duas linguagens, mas você deve se focar em uma linguagem por vez e não estudar duas paralelamente pois isto pode ficar confuso e improdutivo. Já que você já está estudando C++, aprofunde-se nela ao máximo neste momento, penso que isto será mais produtivo. Depois estude o que você perde ao usar apenas C ou C-style.

         Esta dica é realmente preciosa, IHMO, vale a pena para todos revisar para entender bem estas diferenças.
 

Geforce \ Iniciante

unread,
Jul 25, 2008, 12:57:41 PM7/25/08
to ccppbrasil
> Geforce,
>
>      Estou curiosa, sua dúvida foi respondida?

---

Nossa, foi meu primeiro tópico aqui neste grupo e vocês estão de
parabéns, ótimas respostas.

Algumas até mesmo bem difíceis de compreender em vista que sou
iniciante.

Qual é melhor, ou quando devo usar C ou C++ sinceramente não sei
responder e vi que o assunto "dá pano-pra-manga".

E eu decidi continuar estudando C puro em paralelo às minhas aulas de C
++. Quando eu estiver mais avançado no assunto decido por qual caminho
optar, o que eu percebi é que se eu estudar C puro em paralelo só
tenho a ganhar.

Felipe Magno de Almeida

unread,
Jul 25, 2008, 3:22:55 PM7/25/08
to ccppb...@googlegroups.com
2008/7/25 Geforce Iniciante <gefor...@hotmail.com>:

>
>> Geforce,
>>
>> Estou curiosa, sua dúvida foi respondida?
>

[snip]

> E eu decidi continuar estudando C puro em paralelo às minhas aulas de C
> ++. Quando eu estiver mais avançado no assunto decido por qual caminho
> optar, o que eu percebi é que se eu estudar C puro em paralelo só
> tenho a ganhar.

Eu não teria tanta certeza disto. Um pouco de conhecimento pode
na verdade ser pior.
Você pode acabar misturando as duas formas de programar, ao
invés de procurar pela forma correta de faze-lo naquele contexto (dependendo
da linguagem que está usando), e ter mais problemas.
Por exemplo usar malloc quando programando em C++, talvez somente
em alguns pontos, pois eh como você resolveria aquele pequeno problema
em C, já que você não fez aquela solução antes em C++.
Isso porém seria um problema passageiro obviamente, e assim que
você tivesse mais conhecimentos da linguagem que irá usar, você
vai usar soluções mais apropriadas.

Desculpe por adicionar ainda mais confusão,
--
Felipe Magno de Almeida

Hélder Gomes

unread,
Jul 25, 2008, 3:58:56 PM7/25/08
to ccppb...@googlegroups.com
Qual o problema de usar malloc no C++?

2008/7/25 Felipe Magno de Almeida <felipe.m...@gmail.com>:

Bruno Sanches

unread,
Jul 27, 2008, 9:29:23 PM7/27/08
to ccppb...@googlegroups.com
Se vc usar um malloc para alocar um objeto, tipo:
 
std::string *str = (std::string *) malloc(sizeof(std::string));
 
O construtor desse objeto nao vai ser executado, deixando ele em um estado inconsistente. Fora isso nao tem problema algum.
 
Voce pode nesse caso usar um placement new para executar o construtor.
 
T+
 
Bruno

2008/7/25 Hélder Gomes <orsp...@gmail.com>

Felipe Magno de Almeida

unread,
Jul 27, 2008, 9:54:18 PM7/27/08
to ccppb...@googlegroups.com
2008/7/27 Bruno Sanches <bcsa...@gmail.com>:

> Se vc usar um malloc para alocar um objeto, tipo:
>
> std::string *str = (std::string *) malloc(sizeof(std::string));
>
> O construtor desse objeto nao vai ser executado, deixando ele em um estado
> inconsistente. Fora isso nao tem problema algum.
>
> Voce pode nesse caso usar um placement new para executar o construtor.

Na verdade não é tão simples.
Você nao pode usar free com espaços alocados com new
ou delete em espacos alocados com malloc.
Usar malloc/free em C++ não é a forma "padrão" de trabalhar
com alocação em C++. O correto seria usar new/delete ou
então os conceitos de allocator da STL.
Ter código C++-ish e C-ish juntos e iteragindo podem dificultar
a leitura do código fonte.

> T+
>
> Bruno

[snip]

/* Alberto Fabiano */

unread,
Jul 27, 2008, 9:56:47 PM7/27/08
to ccppb...@googlegroups.com


2008/7/25 Hélder Gomes <orsp...@gmail.com>

Qual o problema de usar malloc no C++?

 Não sei se esta pergunta foi irônica, caso positivo ignore o que escreverei abaixo, mas vamos lá.

 Seguindo o exemplo abaixo:

Caso 1: int *J = new int;

Caso 2: int *J = malloc( sizeof(int));

  OK, o exemplo é muito simplista, mas pode deixa implícito que a prática de empregar o operador new é mais seguro, humm....  Normalmente, os operadores new  e delete atendem as necessidade de gerenciamento de memória heap ou memória dinâmica, com a vantagem de que enquanto malloc e free apenas  alocam e desalocam blocos contíguos de bits na memória, a dupla dinâmica new e delete criam e destroem objetos, facilitam o tratamento de exceções via std::bad_alloc() além de serem mais seguros.

   Para facilitar as armadilhas do gerenciamento de memória sempre que adequado é recomendável utilizar smart pointers, porém cuidado! Prefira scoped_ptr, auto_ptr foi um dos precursores, mas possue problemas de formação congênita. Use-o apenas quando boost for uma alienígina em sua equipe e insistir em sua utilização ser equivalente e forçar a barra com side effects indesejáveis ou que Boost seja impróprio para o contexto, claro que você pode construir o seu próprio Smart Pointer, mas aí já é outra historia...

   Há momentos que o malloc é necessário, como por exemplo em implementações de memory pool, assim como situações que malloc não irá funcionar, por exemplo na alocação de objetos, mas cuidado que ele pode ter side effects utilizado com assert. Portanto, a afirmação de que programadores C++ não precisam ser maloqueiros não é totalmente verdade! :-)

   Na realidade é que aquela história, é necessário entender o contexto! malloc pode ser necessário, assim como há contexto que  boost::pool, boost::shared_pointer será sua solução, ou HeapAlloc, VirtualAlloc, etc... porém evite malloc o máximo!!!
 

Hélder Gomes

unread,
Jul 27, 2008, 10:26:09 PM7/27/08
to ccppb...@googlegroups.com
Entendi...

É que eu programava em C, e fui para o C#, e depois para o C++, o
resultado é que meu código até um tempo atrás tinha uma cara de
mistureba muito doida...

Ainda não descobri o que é smart pointers, e eu não uso a STL ou o
Boost (deve ser porque ainda não precisei deles, só precisei de um
sistema de array específico que eu mesmo fiz com template
rapidinho...)

Ou seja: estudar C e sair migrando, apesar de que garante que você
podera usar a linguagem alvo antes de aprender ela inteira, também
significa por ex ser maloqueiro :P

/* Alberto Fabiano */

unread,
Jul 27, 2008, 11:15:05 PM7/27/08
to ccppb...@googlegroups.com


2008/7/27 Felipe Magno de Almeida <felipe.m...@gmail.com>

Realmente, esta é uma outra boa razão para não utilizar malloc em C++, porém o maior o problema não está na utilização do malloc e sim  na má (ou não) utilização de free, problema também existente com delete. Por estas e outras que Smart Pointers devem ser utilizados sempre que viável, mesmo o auto_ptr.

/* Alberto Fabiano */

unread,
Jul 27, 2008, 11:21:03 PM7/27/08
to ccppb...@googlegroups.com


2008/7/27 Hélder Gomes <orsp...@gmail.com>


Entendi...

É que eu programava em C, e fui para o C#, e depois para o C++, o
resultado é que meu código até um tempo atrás tinha uma cara de
mistureba muito doida...

Compreendo! Isto parece minhas transições entre o Joiner, Clipper, FoxPro e xBases pelo qual passei long time ago! :-)



Ainda não descobri o que é smart pointers, e eu não uso a STL ou o
Boost (deve ser porque ainda não precisei deles, só precisei de um
sistema de array específico que eu mesmo fiz com template
rapidinho...)

Yonat Sharon tem um artigo interessante sobre Smart Pointers [1] que acho que poderá abrir seus horizontes sobre o assunto. O capítulo 7 do Modern C++ Design do Alexandrescu é dedicado ao assunto, sendo uma leitura fascinante além de ser uma  referência irresistível de se citar. O Sutter também tem um artigo que sempre me vem a mente quando assunto é auto_ptr [2] que vale a pena ser estudado, assim como a página do Boost [3] sobre o assunto que remete a outras referências interessantes. O camarada Strauss eventualmente trata (ou tratava) o assunto em seu blog, e sempre que vem a tona o assunto Smart Pointer home made, lembro-me de uma série de posts dele [4] apesar de outros colegas aqui da listas já terem tratado o assunto em seus blogs ou em artigos, como o Adams na série conjunta divagações sobre o GC (qual o link mesmo?) :-)

    Aliás, obviamente há outros links interessantes, mas estes são alguns que estavam no meu bookmark e achei que valiam a pena comentar.

[1] Smart Pointers - What, Why, Which?
     http://ootips.org/yonat/4dev/smart-pointers.html

[2] Using auto_ptr Effectively
      http://www.gotw.ca/publications/using_auto_ptr_effectively.htm

[3] Smart Pointers
    http://www.boost.org/doc/libs/1_35_0/libs/smart_ptr/smart_ptr.htm

[4] Resolvendo o bug usando um Smart Pointer feito em casa
     http://www.1bit.com.br/content.1bit/weblog/smart_ptr_home_made


 


Ou seja: estudar C e sair migrando, apesar de que garante que você
podera usar a linguagem alvo antes de aprender ela inteira, também
significa por ex ser maloqueiro :P

++LOL;

Hélder Gomes

unread,
Jul 27, 2008, 11:39:03 PM7/27/08
to ccppb...@googlegroups.com
Esqueci de mencionar que antes de aprender C, eu aprendi BASIC para
portar jogos de MSX para um 286 (nessas horas que me sinto velho,
mesmo tendo só 20 anos)

/* Alberto Fabiano */

unread,
Jul 28, 2008, 12:02:35 AM7/28/08
to ccppb...@googlegroups.com


2008/7/28 Hélder Gomes <orsp...@gmail.com>


Esqueci de mencionar que antes de aprender C, eu aprendi BASIC para
portar jogos de MSX para um 286 (nessas horas que me sinto velho,
mesmo tendo só 20 anos)

Normal! É muito comum (penso que é até saudável) o programador ter passado por outras linguagens antes de ter chegado ao C++, sem contar que experimentar outras linguagens acaba tornando-se inevitável; o que acho inclusive uma virtude dos programadores C++.

Hélder Gomes

unread,
Jul 27, 2008, 11:57:59 PM7/27/08
to ccppb...@googlegroups.com
Eu acho que preciso estudar engenharia de software ou algo do genero,
estou quebrando a cuca aqui tentando pensar como vou fazer o
gerenciamento das coisas no meu jogo (eu preciso de uma classe que
gerencia as coisas: ex, se eu digitar "render()" ela pega todos os
objetos guardados nela e renderiza, se eu digitar "cleanup()" ela
deleta tudo), e gerenciamento de recursos (carregar as imagens,
modelos e sons, somente uma vez, e depois deletar quando necessário)

Bruno Sanches

unread,
Jul 28, 2008, 8:23:12 AM7/28/08
to ccppb...@googlegroups.com
Bom, eu recomendo voce dar uma olhada nos engines ja existentes (como o Ogre por exemplo, que eh muito bem estruturado) para vc ter uma nocao de como organizar isso. 

Outra dica eh pegar jogos que permitem construcao de mods para vc ver como eh o engine deles (doom3 e half life 2 sao ambos feitos em C++), isso ajuda bastante voce a ter uma visao bem ampla das coisas e dos problemas que eles resolvem.

T+

Bruno

2008/7/28 Hélder Gomes <orsp...@gmail.com>


Eu acho que preciso estudar engenharia de software ou algo do genero,
estou quebrando a cuca aqui tentando pensar como vou fazer o
gerenciamento das coisas no meu jogo (eu preciso de uma classe que
gerencia as coisas: ex, se eu digitar "render()" ela pega todos os
objetos guardados nela e renderiza, se eu digitar "cleanup()" ela
deleta tudo), e gerenciamento de recursos (carregar as imagens,
modelos e sons, somente uma vez, e depois deletar quando necessário)

--
Bruno Sanches
========================
http://bcsanches.wordpress.com

Cesar Mello

unread,
Jul 30, 2008, 9:44:22 PM7/30/08
to ccppb...@googlegroups.com
Eu estava lendo novamente um trecho do Stroustrup e encontrei o seguinte comentário:

In the continuing debate on whether one needs to learn C before C++, I am firmly convinced that it is best to go directly to C++. C++ is safer, more expressive, and reduces the need to focus on low-level techniques. It is easier for you to learn the trickier parts of C that are needed to compensate for its lack of higher-level facilities after you have been exposed to the common subset of C and C++ and to some of the higher-level techniques supported directly in C++.

Concordo plenamente com o Criador do C++. Minha especial ênfase em "I am firmly convinced".

Está em 1.2 (Learning C++), página 7.

[]
Mello
Reply all
Reply to author
Forward
0 new messages