C++, what book?
Page 2 of 2 Goto page Previous  1, 2
LeoNatan
Banned



Posts: 73193
Location: Ramat Gan, Israel 🇮🇱
PostPosted: Mon, 22nd Mar 2010 10:32    Post subject:
Seeing as how Razacka2 is still interested in 2009, why not?
Back to top
dingo_d
VIP Member



Posts: 14555

PostPosted: Wed, 24th Mar 2010 09:59    Post subject:
Hey I have a question.

I have started to learn c++, because I have some free time to spare, and I got microsoft visual c++ express edition.

So far I'm learning how to write 'Hello World' kind of programs and I was wondering: Do I need to create new project when I want to write the program, or can I just create one project and put many .cpp files in it?


"Quantum mechanics is actually, contrary to it's reputation, unbeliveably simple, once you take the physics out."
Scott Aaronson
chiv wrote:
thats true you know. newton didnt discover gravity. the apple told him about it, and then he killed it. the core was never found.

Back to top
LeoNatan
Banned



Posts: 73193
Location: Ramat Gan, Israel 🇮🇱
PostPosted: Wed, 24th Mar 2010 11:47    Post subject:
You can have one solution with one project, call it "LearningCPP" and have all your CPP and H files in there.
Just remember, only one "main" function per project.
Back to top
dingo_d
VIP Member



Posts: 14555

PostPosted: Wed, 24th Mar 2010 12:24    Post subject:
Thanks!


"Quantum mechanics is actually, contrary to it's reputation, unbeliveably simple, once you take the physics out."
Scott Aaronson
chiv wrote:
thats true you know. newton didnt discover gravity. the apple told him about it, and then he killed it. the core was never found.

Back to top
Frant
King's Bounty



Posts: 24433
Location: Your Mom
PostPosted: Wed, 24th Mar 2010 17:19    Post subject:
iNatan wrote:
Maybe it's because this is how I learned programming, but I think C is really important as basis for all development. It contains all the basics for programming, and also makes you appreciate object oriented programming so much more.
Also, I think, going straight to Java or C# is also not recommended, but possible. Starting with C++ and understanding everything that is done for you in the background in Java/C# is very important, as well as getting a feel for how memory management is done (this also applies to C, but to a lesser extent).
I'm sure there are people that would recommend the same for ASM -> C, but I wouldn't go that far, wouldn't recommend ASM beyond a nice afternoon read.


I never developed in any other language than C#.NET/ASP.NET/SQL on the PC. Back in the days I programmed assembler on C64 and later Amiga (68k macro assembler) where I learned the basics (hex, bin, registers, stacks etc. etc. etc. ad nauseaum). I see C#.NET/Java as the next step from Managed C++ and in the future it will continue to move in that direction. C#.NET/Java removes a lot of tedious and time consuming tasks that managed platforms automatically take care of (memory management, garbage collection, destruction etc.) that you have to do manually in C++ (managed sorts some of that out). Add to that the messing with header files and whatnot. I'd say learn the basics on C#, then move to C++ (if you need to) when you know the mnemonics and structure of the language.

The only issue with .NET development is that it's fairly locked to a single platform (.NET, ie. Microsoft), but in most cases that's not a problem.


Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn!

"Thank you to God for making me an Atheist" - Ricky Gervais
Back to top
LeoNatan
Banned



Posts: 73193
Location: Ramat Gan, Israel 🇮🇱
PostPosted: Wed, 24th Mar 2010 18:06    Post subject:
If you read my previous comments here in this thread, I despise C++ as much as you, if not more, especially after having to deal with the MFC crap. But I do think that having a general understanding of how things work on low level and then moving to a higher level programming language is the better way to learn.

C++0x was supposed originally to introduce a lot of modern concepts to C++, but they have caved to basement dwelling idiots who see any change or addition as the devil. Rolling Eyes Same thing has been happening with Java for ages. This is why Java lacks such simple concepts as properties; because a dumb getter method is "good enough". Rolling Eyes

.NET is not tied to Windows at all actually. Having done a project with Mono, I can testify it is quite a good software and very compatible with the regular .NET (I'd take that to Java any day of the week, any hour of the day). No I am looking at Moonlight, implementation of Silverlight, and I am impressed by that as well. Smile
Back to top
Frant
King's Bounty



Posts: 24433
Location: Your Mom
PostPosted: Wed, 24th Mar 2010 18:15    Post subject:
iNatan wrote:
But I do think that having a general understanding of how things work on low level and then moving to a higher level programming language is the better way to learn.


I agree. I got all that from my youth spent knocking out assembler throughout the years (heck, I knew the numbers and letters part plus certain special chars of the ASCII table in dec and hex by heart). Starting from scratch with C# without any previous lower level programming knowledge kind of puts the basics and guts of coding into an abstract mass. That may make learning C# in itself more abstract and difficult.

Perhaps beginners should actually start with basic, then move on to C or some other lower level language and finally C++ (or preferably C#). Going machine code/assembler is probably a bit too much.. I never learned x86 assembler.


Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn!

"Thank you to God for making me an Atheist" - Ricky Gervais
Back to top
Page 2 of 2 All times are GMT + 1 Hour
NFOHump.com Forum Index - Programmers Corner Goto page Previous  1, 2
Signature/Avatar nuking: none (can be changed in your profile)  


Display posts from previous:   

Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB 2.0.8 © 2001, 2002 phpBB Group