🔒 Locked
Where to code C++ program??
Advertisement
Original Post
Hey, I am completely new to c++. I am trying to teach myself. What kind of program can I download (preferably free) to write/simulate C++ program? Thanks!
Simulate a C++ program? I don't understand what you mean.
If you want to learn C++, check out C++: A Dialog and Thinking in C++. The already-linked Visual C++ 2008 Express Edition is basically the best you'll get for free in terms of IDE (Integrated Development Environment — a fancy text-editor and a compiler) and is likely to be all you need for any hobby project (IMHO, YMMV, etc).
Also, consider whether you really want to learn C++. There are other languages where you won't need to deal with some of the 'boilerplate' code that's necessary with a relatively low-level language like C++. Have you looked into languages like Python or C#?
If you want to learn C++, check out C++: A Dialog and Thinking in C++. The already-linked Visual C++ 2008 Express Edition is basically the best you'll get for free in terms of IDE (Integrated Development Environment — a fancy text-editor and a compiler) and is likely to be all you need for any hobby project (IMHO, YMMV, etc).
Also, consider whether you really want to learn C++. There are other languages where you won't need to deal with some of the 'boilerplate' code that's necessary with a relatively low-level language like C++. Have you looked into languages like Python or C#?
^^^ thanks guys! I download the Visual C++ 2008 Express Edition.. haven't tried it yet though.
TheUnbeliever, thanks for the suggestion but I think I am gonna start with C++.. I have done a lot of research and ended up with this decision. Thanks for the books link too, but I am gonna be using Absolute C++. Let me know if that's a bad idea?
thanks!
TheUnbeliever, thanks for the suggestion but I think I am gonna start with C++.. I have done a lot of research and ended up with this decision. Thanks for the books link too, but I am gonna be using Absolute C++. Let me know if that's a bad idea?
thanks!
Quote:
Original post by musafir2007
I am gonna be using Absolute C++. Let me know if that's a bad idea?
thanks!
It is a bad idea.
First read "Accelerated C++", by Koenig and Moo. Work through the example problems.
Then read "Effective C++" by Meyers. Work through the example problems.
Next, go trhough "Exceptional C++", "C++ Templates: The Complete Guide", "Effective STL", and so on. By this point you should have a solid undertsanding of the language.
I really think you should not start with visual C++ Express right now, I think you'd better get a straight editor (notepad or a more fancy one), and a command line compiler (mingw32 is correct, I think visual c++ compiler is downloadable too).
The goal is to force you to learn how your code become an executable (learn about linking, object file, compilation unit and the rest). In c++ this knowledge is specially important to understand a lot of compilation errors.
When you'll master all that, it will be ok to switch to an IDE.
The goal is to force you to learn how your code become an executable (learn about linking, object file, compilation unit and the rest). In c++ this knowledge is specially important to understand a lot of compilation errors.
When you'll master all that, it will be ok to switch to an IDE.
Quote:
Original post by Mawww
I really think you should not start with visual C++ Express right now, I think you'd better get a straight editor (notepad or a more fancy one), and a command line compiler (mingw32 is correct, I think visual c++ compiler is downloadable too).
The goal is to force you to learn how your code become an executable (learn about linking, object file, compilation unit and the rest). In c++ this knowledge is specially important to understand a lot of compilation errors.
When you'll master all that, it will be ok to switch to an IDE.
Powerful ide's like this one offer a lot of tools that improve programming speed or quality, but beginners may have difficulties to recognize where the plain language ends and these tools start. For example, you can build a very effective GUI using the integrated editor, but this won't help you much in learning the API.
I also suggest to you to begin with a simpler thing that help you understand the compilation steps with standard c++.
If not starting with notepad, I at least suggest to use other tools like CodeBlocks: they are quite powerful, but are also closer to the plain c++.
Programming is not about understanding how a linker works. It's not about knowing your compiler inside-out. It's about understanding how to tell a computer to do what you want it to do.
Just use that IDE. Use it's power. Whenever you make a mistake, you'll get errors just as well, but your IDE will often help you find them - to some degree, of course. Programming in notepad and manually setting up the compilation settings only makes things harder to learn. Granted, you may learn more from the start, but by the time you can compile a working program, you could've written and learned much more about the language if you used an IDE.
After all, kids aren't taught about the ins and outs of our base-10 numerical system. They're taught how to count first. Then how to add and substract. And later, much later, they may learn about binary, octal, hexadecimal systems. And the core idea behind all of these. But for kids, that's just way over their head. Let them make sums. Learn by simple exercises. As I read somewhere: 'It's all about the insight, not the numbers. But for students, numbers are often the best way to insight.'
Just use that IDE. Use it's power. Whenever you make a mistake, you'll get errors just as well, but your IDE will often help you find them - to some degree, of course. Programming in notepad and manually setting up the compilation settings only makes things harder to learn. Granted, you may learn more from the start, but by the time you can compile a working program, you could've written and learned much more about the language if you used an IDE.
After all, kids aren't taught about the ins and outs of our base-10 numerical system. They're taught how to count first. Then how to add and substract. And later, much later, they may learn about binary, octal, hexadecimal systems. And the core idea behind all of these. But for kids, that's just way over their head. Let them make sums. Learn by simple exercises. As I read somewhere: 'It's all about the insight, not the numbers. But for students, numbers are often the best way to insight.'
Captain P, I would agree with you if we weren't talking about C++ (or C). But in these languages without a real package/modules management system, understanding how the underlying tools works is a must to deal with the #include errors, linking problems ("undefined reference to ..." is far more understandable once you differenciate compilation from linking) and all these how-it-works-under-the-hoods dependent troubles you may encounter.
To stay in your metaphore, learning C++ is not learning programming (learning programming is more or less language independant, even though learning language will give habits). learning C++ is more like learning the hexadecimal system, you'd better understand how a numerical system works before using hex.
To stay in your metaphore, learning C++ is not learning programming (learning programming is more or less language independant, even though learning language will give habits). learning C++ is more like learning the hexadecimal system, you'd better understand how a numerical system works before using hex.
I made the error to use the tools that Visual C++ offered to me at the time when I begun to program under windows. At that time I never studied c++ (just c, I teached it myself), and every book I was able to find in our local book shops made use of MFC. The result was that I sucefully created a few (very simple) apps in a couple of years.
Then I discovered that:
-I never learned OOP. Wizard wrote much code for me, and I simply filled 'white spaces'.
-I never learned C++ language and pipeline (classes, templates, linking, using libraries and so on).
-I never really learned windows programming.
This is my personal opinion: if you're programming an app, use the fastest and simplest tools you can. If you're learning a tool (in this case, C++), then just learn it, avoid shortcuts.
This is what I did with Java: I always used notepad + cmd prompt for the first projects (they are usually very simple anyway). Now I know what it happens where I ask NetBeans to do something for me...
Everything IMHO, of course...
Then I discovered that:
-I never learned OOP. Wizard wrote much code for me, and I simply filled 'white spaces'.
-I never learned C++ language and pipeline (classes, templates, linking, using libraries and so on).
-I never really learned windows programming.
This is my personal opinion: if you're programming an app, use the fastest and simplest tools you can. If you're learning a tool (in this case, C++), then just learn it, avoid shortcuts.
This is what I did with Java: I always used notepad + cmd prompt for the first projects (they are usually very simple anyway). Now I know what it happens where I ask NetBeans to do something for me...
Everything IMHO, of course...
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.
Sign in to reply to this topic.
Advertisement