Começar a programar... (C++ como primeira escolha)

DO2

Power Member
Boas, já a algum tempo que penso em iniciar-me em programação, pois é algo que interessa e faz parte da carreira que quero seguir. À cerca de dois anos aprendi o básico do HTML, com alguns tutorials, mas é claro que é muito mais fácil do que qualquer outra linguagem de programação.

Já fiz alguma pesquisa sobre várias linguagens de programação e fique indeciso sobre estas três - Java; Visual Basic ou C++ - no fim optei por C++, por dizerem que não é muito difícil e por ser muito usada na área que pretendo.

Gostava, assim, que indicassem por onde começar, se sabem algum tutorial bom para iniciantes e qual o melhor compiler (também para inciantes). Até agora vi no sticky um tutorial de um português que parece ser porreiro e também arranjei o manual de C++ de uma faculdade (penso eu).


Se tiverem algum conselho ou dica, agradecia.


Abraços.
 
É pá tenta começar pelo inicio, vai com calma, o c++ é uma linguagem direcionada para objectos, tenta começar pelo c ou pascal, ou phyton... entre outras que são mais facil para começares a aprender, vai fazendo algoritmos simples arranjas sempre exercicios e tutorials na net, e depois quando perceberes como funciona a programação ai talvez seja altura para começares a programar em VB, delphi, c++, tens de construir o chão antes de fazeres o tecto...
 
Depois de mais de 10 anos sem programar em PC's (a ultima vez tinha sido em Clipper(DOS)), andei há procura de uma em que pudesse aprender sozinho. Escolhi o Python, 2 semanas depois já estou a fazer aplicações reais para clientes empresarias, a bulir no SQL e tudo.

Espetaculo de linguagem, é tao proxima do ingles, que até me esqueco de por anotações, pois basta ler o codigo para saberes tudo o que está a fazer.

Basta saber que grande parte das animações da PIXAR, são coordenadas por programas em Python, e o famoso GIMP é tambem construido nele.
 
Poderias dizerme onde aprendeste Python tão depressa? Já ouvi dizer que até é relativamente fácil, mas aprender em 2 semanas e fazer logo disso um emprego é algo impressionante.

Talvez comece mesmo por essa linguagem já que várias pessoas me aconselharam, mas se tiverem mais dicas, agradeço sempre.
 
Eu acho que fazes bem em começar pelo C++.

Eu comecei por ai e ainda bem, ao inicio torna-se dificil mas depois sabes C++ e os seus conceitos não tens grandes dificuldades em mais nenhuma linguagem.

Estás enganado quando dizes que o C++ é a mais facil, é precisamente o contrário, o "Java" facilita muito mais, por exemplo, ao nivel do garbage collection.

Hoje em dia a plataforma .net disponibiliza o "managed C++" que segue as normas definidas no CLS do .net, mas é diferente do C++ a que estávamos habituados.

Começa por coisas simples e lê uns tutoriais ou um livro para iniciantes. O ISEL tinha um livro muito bom para iniciantes.
 
Essa parte do C++ ser o mais facil é que também me está fazer confusão ....
sempre me disseram que visual basic, java e pytons eram bem mais faceis que C++ ....

Quando disseste que crias aprender C++ porque se usa muito no precisas de fazer calculo que seja para jogos certo??

Lembro-me de ler em uns sites que C++ foi usado em mais de 90% dos jogos se é verdade ou não, mas C++ é usado em quase tudo o que é complexos e bom :joker:... corrigam-me se estou errado mas unix, windows foram quase todos basiados em C\C++, posso estár a dizer um barbaridade se tiver que alguém me corriga sff...
 
Em C sim, C++ é mais alto nível e não é muito usado nos kerneis (existe esta palavra? :P)

Sobre C++ ser fácil ou difícil, sinceramente o que acho que é complicado é perceber a forma de pensar em programação, tudo o resto é uma questão de conhecer bem a sintaxe e a semântica da linguagem em que se está a trabalhar.

Conhecer bem o problema, saber como o resolver e saber subdividir o mesmo é 70% do trabalho feito, depois há que saber como manusear a linguagem de programação.

VB, Pascal e afins costumam dizer que é mais fácil apenas porque a linguagem em si se aproxima ainda mais da linguagem humana e/ou pseudo-código, basta ler o código para saber o que ele faz enquanto C/C++/Java já convém ter noção de outras nomenclaturas, mas na sua essência o problema reside no problema e não na linguagem.

abraços, HecKel
 
Eu comecei com o livro "Python Curso Completo" da FCA, deves encontrar-lo na *****, depois na net encontras varios livros e tutoriais de Python, o que eu mais te recomendo é "How to think like a computer scientist" que é uma introdução bastante boa para o python, foi me recomendado por um professor universitario, completamente free.

Para começares a trabalhar basta só descarregares o python e se quiseres um IDE melhorzinho, recomendo-te o SPE do stani.

depois é só começares....
print "hello world"
 
Sobre C++ ser fácil ou difícil, sinceramente o que acho que é complicado é perceber a forma de pensar em programação, tudo o resto é uma questão de conhecer bem a sintaxe e a semântica da linguagem em que se está a trabalhar.

Isso é verdade, mas o C++ tem conceitos "difíceis" que muitas linguagens não têm.
Basta falar em pointers, templates, gerenciamento de memória.... o C++ é complicado mas poderoso.

E como alguém disse ai, o core dos SOs é feito em C/C++. Em sistemas embebidos costuma também ser tudo em C++ (drivers para leitores cartões magneticos, leitores codigos barras, uma cancela que se abre e fecha... essas coisas).
 
Em C sim, C++ é mais alto nível e não é muito usado nos kerneis (existe esta palavra? :P)

Sobre C++ ser fácil ou difícil, sinceramente o que acho que é complicado é perceber a forma de pensar em programação, tudo o resto é uma questão de conhecer bem a sintaxe e a semântica da linguagem em que se está a trabalhar.

Conhecer bem o problema, saber como o resolver e saber subdividir o mesmo é 70% do trabalho feito, depois há que saber como manusear a linguagem de programação.

VB, Pascal e afins costumam dizer que é mais fácil apenas porque a linguagem em si se aproxima ainda mais da linguagem humana e/ou pseudo-código, basta ler o código para saber o que ele faz enquanto C/C++/Java já convém ter noção de outras nomenclaturas, mas na sua essência o problema reside no problema e não na linguagem.

abraços, HecKel

pois já estava a supor que tava a dizer treta.... mas lembro-me de pessoal a dizer cenas do genero ... "Unix é basido em C e o windows em C++"...foi mais por isso que comentei :joker:...
Quanta ao unix isso tenho a certeza de ter sido basiado em C.... lembro-me de ler isso em alguns tutoriais de C....
 
Não disseste treta.... escrevi o meu post anterior ao mesmo tempo que tu, não deves ter visto.

Até digo mais, para além do core do SO, muitas aplicações do Windows (paintbrush, etc.) estão implementadas usando MFC (Microsoft Foundation Class) que têm as classes da Windows API disponíveis em C++.

Ja programei nisso, é muito mau :002:

No kernel linux:
Most of the code (71%) was written in the C programming language, but many other languages were used, including C++, Lisp, assembly language, Perl, Fortran, Python and various shell scripting languages. Slightly over half of all lines of code were licensed under the GPL. The Linux kernel itself was 2.4 million lines of code, or 8% of the total.

No windows lembro-me de ler que 85% era C/C++.
 
Não disseste treta.... escrevi o meu post anterior ao mesmo tempo que tu, não deves ter visto.

Até digo mais, para além do core do SO, muitas aplicações do Windows (paintbrush, etc.) estão implementadas usando MFC (Microsoft Foundation Class) que têm as classes da Windows API disponíveis em C++.

Ja programei nisso, é muito mau :002:

No kernel linux:
Most of the code (71%) was written in the C programming language, but many other languages were used, including C++, Lisp, assembly language, Perl, Fortran, Python and various shell scripting languages. Slightly over half of all lines of code were licensed under the GPL. The Linux kernel itself was 2.4 million lines of code, or 8% of the total.

No windows lembro-me de ler que 85% era C/C++.

pois não li o teu post :)... foi ao mesmo tempo que o meu ....
Também tinha essa ideia mas n tinha a certeza.... :002:
 
pois já estava a supor que tava a dizer treta.... mas lembro-me de pessoal a dizer cenas do genero ... "Unix é basido em C e o windows em C++"...foi mais por isso

Como já houve quem respondesse, e bem, eu disse que não é muito usado, no entanto não disse que não era usado de todo :P

Sobre os ponteiros e afins..., sinceramente eu só compreendi bem o que são ponteiros muito, mas muito depois de ter começado a programar em C/C++. É algo que noutras linguagens como o Java que nos passa totalmente ao lado e que em C/C++ é feito de forma explicita, no entanto dá para começar por uma destas duas linguagens quase que ignorando esse contexto, a passagem de argumentos por referência eu usava porque tinha de usar :P Nem sabia o que estava a fazer.

Entre Java e Pascal, sinceramente já recomendo Java para começar, o facto de se trabalhar explicitamente com objectos é uma vantagem e não uma complicação, é boa politica começar logo de inicio a estruturar bem o código e os objectos são sem qualquer sombra de dúvidas uma forma de impor essa estruturação. Não digo que Pascal esteja ultrapassado, mas já não se justifica como plataforma de lançamento no mundo da programação.

abraços, HecKel
 
E se for Visual Basic que acham? É muito arrojado para principiante? É que tenho aqui uns 3 ou 4 manuais de VB6 e um de VB5. Mais uma vez obrigado a todos.
 
Comparar VB a C++ é comparares um 2 cavalos a um Ferrari.

VB5 não conheço, VB6 pode-se dizer que é muito mais facil que c++. O VB6 não segue um modelo de programação orientada por objectos.

O VB.NET já segue esse modelo.

Para começares não deve ser mau, mas não tem nada a ver com outras linguagens.
Não conheço nenhuma empresa que faça qualquer sistema usando VB.
 
Última edição:
Eu julgo que se compreende verdadeiramente apontadores depois de se programar um pouco em assembly e saber um pouquinho de microprocessadores...

Penso que a vantagem mais óbvia do C++ em relação ao java é precisamente a flexibilidade da utilização dos apontadores, e a muito maior rapidez das aplicações escritas em C++.

Acho que fazias bem em começar por Java. Permite-te aprender noções importantes como a utilização de objectos e classes para tornar o código mais organizado e abstracto. Também te dá uma visão de mais alto nível (próxima da linguagem natural). Depois quando estiveres mais à vontade podes começar com C++, e aprender a usar apontadores que podem ser considerados uma noção mais avançada.

No entanto, se tens manuais em VB, também não era má ideia aproveitá-los para aprender algoritmia. Muita gente desvaloriza o escrever no papel e vão logo para o PC e para linguagens cheias de pormenores (C++ é um bom exemplo). Na verdade, eu acho que um programa tem de valor é a sequência de acções que constituem o raciocínio. A linguagem de programação é só uma camada exterior que se coloca por cima daquilo que pensámos, para que o computador compreenda as acções e as execute correctamente. O VB, dado o seu altíssimo nível (quase que se lê como inglês) pode servir para ganhares alguma prática na algoritmia.

Boa sorte! ;)
 
Eu simplesmente canseime de aprender sozinho c++. Quando chegar á universidade aprendo! E porquê? Porque a única coisa que encontro informaçao na net de c++ sao programas em janelinhas pretas(msdos) com objectivos estupidos. Tipo eu encontro na net que a maioria dos jogos xbox\windows sao feitos em c++, mas tudo o que existe na net sobre c++ sao as tais janelinhas estupidas em jeito de tutorial que nada têm a ver com o far cry, ou o gears of war ou o WINDOWS XP.
Perhaps I'll find out here...
 
Mas então se tu não sabes achar e média entre dois números como é que esperas programar um motor de física, de gráficos 3D, etc.
Não podes começar a construir uma casa pelo telhado. Para se chegar ao nível do Far Cry é preciso começar por baixo: muito por baixo.
Se queres saltar essa fase para algo mais "visível" tenta VB. É uma linguagem que logo no inicio o programador vê um resultado "bonito" sem grande esforço..
 
Eu simplesmente canseime de aprender sozinho c++. Quando chegar á universidade aprendo! E porquê? Porque a única coisa que encontro informaçao na net de c++ sao programas em janelinhas pretas(msdos) com objectivos estupidos. Tipo eu encontro na net que a maioria dos jogos xbox\windows sao feitos em c++, mas tudo o que existe na net sobre c++ sao as tais janelinhas estupidas em jeito de tutorial que nada têm a ver com o far cry, ou o gears of war ou o WINDOWS XP.
Perhaps I'll find out here...
Então prepara-te para enfrentares dificuldades..., e apanhares uma grande desilusão dos primeiros 2 anos...

Tal como o Warrior referiu, começa por compreenderes vários algoritmos base da programação, não comeces logo a tentar colher frutos quando nem a árvore plantaste... (só digas filosóficas :P)

É chato no inicio..., mas também é chato um bebé começar a andar e andar a dar com o rabo e com a cabeça em tudo o que é móvel da casa...
Como é que se lê "C++" ?

Cê Mais Mais ou é outra coisa qualquer?

Sempre tive esta duvida.. lol
Eu leio assim :P Depois há quem se arma em fino e diga "Cí plus plus" :lol:
 
Back
Topo