aprender - começa por C ou C++?

edumad

I fold therefore I AM
Eu tenho interesse em computação cientifica. E segundo as minhas pesquisas, as linguagens mais fortes usadas em computação cientifica, "number crushing", são o velhinho e fiável Fortran, que já conheço, depois foi-se fazendo coisas em C, e depois em C++.

Não tenho muita certeza quanto a qual (C ou C++) é preferido para o serviço... Mas C++ é mais eficiente em certos aspectos, se bem que deve perder nas fiabilidade. ?

De qq maneira...
Será mais fácil aprender c e depois c++, ou qq livro de c++ torna facil a aprendizagem mm para quem nao sabe nada de c.
 
Eu aprenderia nem que fosse o básico do C, depois passava para C++. Qualquer compilador de C++ compila C, por isso até por aí ves a simplicidade da passagem.
 
Afirmas que C++ é mais eficiente. Em que medida? Para o programador ou para o computador? Para o segundo não creio que seja. Já agora, o que entendes como fiabilidade relativamente à linguagem?

Na minha opinião, a linguagem C++ oferece-te paradigmas de programação que, embora possam ser igualmente utilizados em C, esta última não oferece um suporte directo. O entendimento dos paradigmas que C++ te oferece também será útil para programar em C. O sentido contrário será provavelmente complicado ou impossível.
 
Eu não conheço C nem C++, o que disse foi de ler rapidamente algumas páginas que discutiam computação cientifica.
Acho que C++ é orientada por objectos, tem classes e por aí fora o que ajuda nalgumas manipulações numéricas, mas o facto de ser mais complicada, torna-a menos simples a tarefa do pc, ou melhor, cluster ou super computador, correr as simulações numéricas.

Parece-me...
 
Acho que deverias começar por C...
Livro, nunca encontrei melhor que o "The C programming language" de Brian W. Kernighan e Dennis M. Ritchie.
 
edumad disse:
Eu não conheço C nem C++, o que disse foi de ler rapidamente algumas páginas que discutiam computação cientifica.
Acho que C++ é orientada por objectos, tem classes e por aí fora o que ajuda nalgumas manipulações numéricas, mas o facto de ser mais complicada, torna-a menos simples a tarefa do pc, ou melhor, cluster ou super computador, correr as simulações numéricas.

Parece-me...

Quanto muito pode tornar a tarefa do compilador mais complexa. Podemos é levantar a questão da complexidade das funcionalidades que C++ acrescenta a C e o seu mapeamento para as instruções do processador, se é eficiente ou não.

Ainda assim, mesmo que existam algumas funcionalidades que, para uma dada tarefa que tenhas em mãos, sejam inadequadas, podes sempre escolher em não utilizá-las. No limite, podes utilizar um subconjunto de C++ muito próximo de C. Daí achar que é mais vantajoso aprender C++.

Não sei com que frequência ocorre esta situação por isso não posso fazer afirmações, mas não será que muitas pessoas, a aprenderem C primeiro, quando vão começar a utilizar linguagens "orientadas a objectos" vão fazer um uso incorrecto destas, limitando-se praticamente a envolver aquilo que outrora eram funções globais na definição de uma classe?

Já agora refiro o livro "The C++ Programming Language" do Bjarne Stroustrup.
 
As vantagens do C sobre o C++ só existem em situações muito especificas que dificilmente vais encontrar no tipo de programação que mencionaste, para aplicações o C++ é muito superior a vários niveis, portanto diria que estavas melhor servido com o C++.
 
É complicado porque é diferente perceber uma linguagem que é orientada a objectos. Se se ficarem pelo C++ que é quase C (a maioria que começa em C fica nessa etapa) nunca percebem o verdadeiro poder da linguagem.

Eu comecei em C, a minha sorte é que antes já dava uns toques em Java portanto o "salto" para C++ não me fez confusão.
 
Back
Topo