A Linguagem Certa [Update: Escolher Livro C++ | HELP]

Qual a linguagem para começar ?

  • C++

    Votes: 8 38,1%
  • C#

    Votes: 6 28,6%
  • VB.NET

    Votes: 3 14,3%
  • Java

    Votes: 4 19,0%

  • Total voters
    21

tuniq

What is folding?
Boas,

Antes de mais, deixem-me avisar que já li as threads que estão em sticky da parte de programação e após algumas pesquisas continuo sem resolução para o meu problema. Neste momento estou a começar (leia-se comecar agora) a estudar C++ mas durante o pouco tempo que estive a pesquisar livros e manuais deparei-me com um problema... Será que C++ é mesmo o que eu quero ? Por isso, escrevo este tópico para vos preguntar, com a vossa experiencia na area e conhecimentos, que linguagem acham que se adqua mais a mim ...

Pretendo algo para fazer programas que possam interagir com bases de dados, algo como Gestão e coisas envolvidadas com matemática, bem como uns jogos, ou seja, partes gráficas ...

Já exprimentei o VB 9 só para fazer uns testes e realmente tem mais parte gráfica que o C++ mas queria saber o que voces acham ... E depois o Java que imensa gente aconselha ...

Com esta informação qual será a linguagem que se adqua mais ?



cumps,
tuniq
:kfold:
 
Última edição:
para cálculos matemáticos aconselho-te uma linguagem funcional, se bem que não conheço pessoalmente nenhuma :(

em relação ao C++, epa eu estou a aprender por conta própria, acho que vale a pena, é uma linguagem que permite operações de baixo nível (que pode melhorar consideravelmente a performance) e com a adição de objectos que simplifica imenso a vida

contudo acho o C++ uma linguagem feia, pelo menos comparado com o java/C# que são as que uso, acho a sintaxe, definição de classes um pouco monstruoso no C++, mas isto sou eu, há quem goste e há quem não, mas nada que exprimentar para ver
 
C++ também tem muito partes gráficas, seja construçao de GUI's ou gráficos propriamente ditos, não o faz é de "raiz" (so com as bibliotecas standard), por isso leva mais tempo a ter resultados "visiveis" nesse campo. mas uma vez percebendo a linguagem e a sua maneira de funcionar, usar novas bibliotecas é o mais facil.
digamos que C++ tem uma linha de aprendizagem e de "showoff" de resultados um pouco maior (passas muito tempo so a brincar com a consola primeiro) mas uma vez atingido esse limite, é simplesmente brutal.

outra opção é usar C# com .NET, linguagem também poderosa e avançada, mas tem uma linha de aprendizagem mais curta na minha opinião (o que é bom) e resultados visiveis mais rapido, porque .net inclui bibliotecas para tudo seja GUI, graficos, bases de dados (também falaste nisso), etc..

ambas são brutais, se quiseres ter resultados mais rapidos vai já para c# e depois avança para c++, mas aprende as duas.

espero ter ajudado :p

PS: e ambas são boas e eficientes o suficiente para calculos avançados matematicos, claro que depois depende de caso para caso e de implementação para implementação.
 
Para começar, acho que C# (Visual Studio Express) ou Java (Netbeans, Eclipse) são as ideais.
Não são muito complicadas, e facilitam bastante muitas coisas.
Quando estiveres á vontade com essas, aprender C/C++ é num instante :)
 
Para começar, acho que C# (Visual Studio Express) ou Java (Netbeans, Eclipse) são as ideais.
Não são muito complicadas, e facilitam bastante muitas coisas.
Quando estiveres á vontade com essas, aprender C/C++ é num instante :)

Com a parte de começar pelo C# que é mais fácil concordo.

Agora que aprender C++ num instante por saber C# tenho as minhas dúvidas.

Para começar pelo mais básico em C++ a gestão da memória é feita por nós, basta esquecer um delete e rebenta tudo.

Depois a parte de construir as janelas/forms, e aceder aos controlos, actualizar controlos... quem vem do facilitado C# de certeza que se vai ver ás aranhas em C++ que é preciso usar DDX_CONTROL e ter uma variável para cada controlo...

Aceder a bases de dados com o C++ é bem mais tricky que no C#

Se meter COM então ai é que complica mesmo no C++.

E podia enumerar mais umas...

Já agora trabalhei 10 anos com o C++, e os últimos 3 com C# e sinceramente não sei se se a rapidez do C++ versus facilidade de programação do C# compensa.

Eu pessoalmente gosto de programar em C++, depois de nos habituarmos e arranjarmos os objectos necessários para facilitar o trabalho tb é sempre a bombar :)

Cumprimentos
PS: Não estou a falar de C++.NET
 
Última edição:
Obrigado pela vossa ajuda...

C# e Java serão os que vou tomar em consideração .. Já agora, devo incluir VB nos "pensamentos" ??
Estou mais virado para o C# porque já vi num livro e envolve mais matematica e lógica do que qq outra ... Mas VB não me sai da cabeça .. Não sei porquê .. Parece ser muito mais facil ...


Outra coisa,
Relativamente a .NET's podem explicar o que é isso ? Eu sempre pensei (erradamente) que o .NET era desenvolver uma aplicação em VB por exemplo e depois integrar esse programa numa rede ...



Cumps,
tuniq
:kfold:
 
Isso não é lógica, isso é sintaxe. Não sei onde é que o C# tem mais lógica e matemática do que qualquer outra linguagem. Que eu saiba as linguagens servem para representar algoritmos, e esses é que têm lógica e matemática. Não são as linguagens.
 
Lógica é com Prolog, por exemplo. Btw, acho muito mais logico saber primeiro C++ e depois C# (a aprendizagem de C++ pode ser complicada mas depois a aprendizagem de C# é muito mais facil).
 
Isso não é lógica, isso é sintaxe. Não sei onde é que o C# tem mais lógica e matemática do que qualquer outra linguagem. Que eu saiba as linguagens servem para representar algoritmos, e esses é que têm lógica e matemática. Não são as linguagens.

Sim ..
Eu é que não me consegui explicar bem
Moving on ...

Lógica é com Prolog, por exemplo. Btw, acho muito mais logico saber primeiro C++ e depois C# (a aprendizagem de C++ pode ser complicada mas depois a aprendizagem de C# é muito mais facil).

Mas porquê aprender as 2 ? Pelo que disseram nos post's anteriores C# será mais fácil para programação de jogos (ambintes gráficos) do que C++ (?)
Ou seja, aprender C++ não é desnecessário ?

Em relação a VB, se alguém se pudesse pronunciar, agradecia :)
 
O C# e o Java são óptimos para aprender algoritmia e quase todos os conceitos e paradigmas básicos da programação, além de serem linguagens "amigas" (ajudam-te bastante a proteger contra erros no código e em tempo de execução). No entanto, não recomendo usar Java e C# para aprender operações de baixo nível (por exemplo, trabalhar ponteiros), o modo como funciona a memória de um programa, etc. Para isso, o C e o C++ são muito mais adequados.

Quanto a escolher entre o C# e o Java, talvez fosse para o C#, porque o .NET possui uma biblioteca de classes bastante poderosa (mais que o Java, IMO). Por outro lado, o Java é cross-platform. De qualquer forma, depois aprenderes uma destas, facilmente te adequas à outra - a sintaxe é praticamente igual, e os conceitos são os mesmos. Só a biblioteca é que é realmente diferente.

Já agora, devo incluir VB nos "pensamentos" ??
VB .NET, na minha opinião, é uma versão ligeiramente simplificada do C#, e com uma sintaxe diferente. Mas vais mais longe se souberes a sintaxe do C# do que a do VB. Fazendo ambas parte do .NET Framework (correm na mesma máquina virtual), consegues fazer numa o mesmo que fazes na outra. E que fique claro que o VB .NET, por dentro, é completamente diferente do VB6.

Ah, e a parte gráfica que vês no C# e no VB .NET não tem nada a ver com jogos. Para jogos, precisas de saber trabalhar com DirectX/OpenGL. Não tenho experiência com isso, mas creio que C++ seja mais adequado devido à necessidade de maior performance.
 
Última edição:
Então C++ e OpenGL serão o conjunto para as minhas necessidades ??
Tanto para programas como para jogos ...

Estou correcto ?


cumps,
tuniq
:kfold:
 
Em termos de performance, C/C++ são a escolha a ter. Mas o que tens de pensar é se aquilo que queres tem realmente que ter assim tanta performace. Quanto a mim do que falas-te só se tiveres a pensar em fazer um jogo já bem evoluído é que irás reparar na performance se o fizeres por exemplo em C#.

Não posso dizer ao certo qual é a melhor. Se o o teu objectivo é aprender rápido e passar já para criação de aplicações e desenvolvimento de algoritmos de alto nível tenta escolher algo que não tenha tanto para aprender de base, por exemplo C#, Java e VB.Net. Agora se o que te interessa é aprenderes primeiro as bases das coisas C/C++ são uma boa escolhas, pois controlas tudo por defeito como apontadores, gestão de memória e outras coisas que não precisas de te preocupar em C# ou Java.

Começares por C++ não te prejudica em nada simplesmente se quiseres controlar bem a linguagem vais demorar mais um pouco.
 
Em termos de performance, C/C++ são a escolha a ter. Mas o que tens de pensar é se aquilo que queres tem realmente que ter assim tanta performace. Quanto a mim do que falas-te só se tiveres a pensar em fazer um jogo já bem evoluído é que irás reparar na performance se o fizeres por exemplo em C#.

Não posso dizer ao certo qual é a melhor. Se o o teu objectivo é aprender rápido e passar já para criação de aplicações e desenvolvimento de algoritmos de alto nível tenta escolher algo que não tenha tanto para aprender de base, por exemplo C#, Java e VB.Net. Agora se o que te interessa é aprenderes primeiro as bases das coisas C/C++ são uma boa escolhas, pois controlas tudo por defeito como apontadores, gestão de memória e outras coisas que não precisas de te preocupar em C# ou Java.

Começares por C++ não te prejudica em nada simplesmente se quiseres controlar bem a linguagem vais demorar mais um pouco.

No início, claro que não vou fazer jogo nenhum .. Também é preciso ter os pés assentes na Terra .. Quer dizer, se eu alguma vez me apetecer fazer um jogo (sinceramente gostava de o fazer), não irá ser num futuro próximo dado que ainda tendo de aprender a dita linguagem .. Ou seja, será que mesmo não metendo jogos pá conversa, o C++ ainda valerá a pena ? Ou o C# chega para programar coisas decentes ??

Já agora, aproveito para dizer que não é por uma linguagem ser mais fácil do que outro que a vou deixar de aprender ... Prefiro algo que me interesse e que demore mais tempo a produzir resultados do que coisas fáceis que depois não servem para o que eu quero ...


cumps,
tuniq
:kfold:
 
No início, claro que não vou fazer jogo nenhum .. Também é preciso ter os pés assentes na Terra .. Quer dizer, se eu alguma vez me apetecer fazer um jogo (sinceramente gostava de o fazer), não irá ser num futuro próximo dado que ainda tendo de aprender a dita linguagem ..
Também tens que ter em conta que fazer um jogo não é de todo trivial, especialmente se envolver modelação 3D e a criação de um motor de física.
Ou seja, será que mesmo não metendo jogos pá conversa, o C++ ainda valerá a pena ? Ou o C# chega para programar coisas decentes ??
Com C# consegues programar o mesmo que com C++ (excepto situações muito específicas que envolvam manipulação a baixo nível), mas com menos linhas de código (graças à biblioteca gigante do .NET Framework), menos complicações, e um código mais limpo e elegante.
Já agora, aproveito para dizer que não é por uma linguagem ser mais fácil do que outro que a vou deixar de aprender ... Prefiro algo que me interesse e que demore mais tempo a produzir resultados do que coisas fáceis que depois não servem para o que eu quero ...
Se começares por C++, acredito que, no início da aprendizagem, vás pensar "se calhar devia ter começado por Java ou C#". O inverso, de certeza que não iria acontecer.

Além disso, antes de começar o desenvolvimento de programas a sério, convém aprender as bases de programação, através de linguagens isentas de complicações dispensáveis (como o C++), tornando assim a aprendizagem o mais eficaz possível. Depois de conheceres as bases, adequas-te facilmente a qualquer linguagem, e és capaz de aprender C++ rapidamente. De qualquer forma, o C# e o Java são ferramentas suficientemente poderosas para desenvolver qualquer tipo de aplicações, e que te poderão manter satisfeito por muito tempo.
 
Também tens que ter em conta que fazer um jogo não é de todo trivial, especialmente se envolver modelação 3D e a criação de um motor de física.
Com C# consegues programar o mesmo que com C++ (excepto situações muito específicas que envolvam manipulação a baixo nível), mas com menos linhas de código (graças à biblioteca gigante do .NET Framework), menos complicações, e um código mais limpo e elegante.
Se começares por C++, acredito que, no início da aprendizagem, vás pensar "se calhar devia ter começado por Java ou C#". O inverso, de certeza que não iria acontecer.

Além disso, antes de começar o desenvolvimento de programas a sério, convém aprender as bases de programação, através de linguagens isentas de complicações dispensáveis (como o C++), tornando assim a aprendizagem o mais eficaz possível. Depois de conheceres as bases, adequas-te facilmente a qualquer linguagem, e és capaz de aprender C++ rapidamente. De qualquer forma, o C# e o Java são ferramentas suficientemente poderosas para desenvolver qualquer tipo de aplicações, e que te poderão manter satisfeito por muito tempo.

Cada vez fico mais confuso... Consultei o forum gamedev em pt e maioria escolhe C++ para os seus projectos, não só jogos mas como aplicações também ..

"Com C# consegues programar o mesmo que com C++ (excepto situações muito específicas que envolvam manipulação a baixo nível), mas com menos linhas de código (graças à biblioteca gigante do .NET Framework), menos complicações, e um código mais limpo e elegante."

Então pelo que dizer C# é melhor que C++ .. Quer dizer, mais fácil para aprender, menos código, menos complicações, mais limpo e elegaante ... Ou seja, o C++ é melhor em que aspecto ??

PS: Na wikipedia vi que o Crysis, que usa o motor CryEngine2, foi feito em C++ maioritáriamente ... Ou seja, qual os argumentos deles para fazeres o jogo em C++ e não em C# ?

quote: "Modularity: Entirely written in modular C++, with comments, documentation and subdivisions into multiple DLLs."
@ wiki


cumps,
tuniq
 
Back
Topo