C++ without Fear

I was in my local library today with the hope of getting hold of Exceptional C++ and The C++ Programming Language. Needless to say, the library didn't have them.

However, I did come across a book from 2011 called C++ without fear. I wondered if anyone knows of it. Inside the book, I could only find int main(), but alas a short segment involving void main() was on the centre of the cover.

He proceeded to hammer it home by "strongly recommending" a certain 'compiler', whose name I'm sure you'll all be able to guess. And this in 2011.

http://www.amazon.co.uk/Without-Fear-Beginners-Guide-Makes/dp/0132673266
Wow, that is mildly nauseating... Not only does he advocate a grossly outdated IDE, he calls it a compiler and then proceeds to teach bad practice right off the bat. Oh hai mister "system("PAUSE");" can you please bugger off and never rear your ugly head to beginning programmers again? kthx.
Actually he did use system("PAUSE"), though he at least had the self respect to say it might not work on non Windows systems.

Didn't mention all the other fine reasons against it though...

The thing is with the 'void main()' bit is that try as I might, I couldn't see it in the book. Maybe he thought it was funny to put it on the front cover...

OMG I've just realised. He had a C++0x chapter. All I can say is good luck to his readers getting that stuff to work with DevC++'s MinGW... LOLOLOL
Last edited on
closed account (1vRz3TCk)
Maybe he thought it was funny to put it on the front cover...

There is a chipmunk on the cover of one of my C++ books ... haven't worked out where to put him in the code yet. :0)
[sarcasm]He didn't even #include <iostream.h> or use the std namespace.[/sarcasm]

There is a chipmunk on the cover of one of my C++ books ... haven't worked out where to put him in the code yet. :0)


Are you supposed to plug it into a USB port maybe?
Last edited on
I spy with my little catfish eye double standards as to when we call old compilers outdated, and when we call old languages outdated.
Well, I'd say that's because they are quite different things and thus *should* have different standards.
closed account (1vRz3TCk)
I had a quick look through the 'look inside' on amazon and there seemed to be a lot of 'this might not work, if it doesn't just delete it', no explanation of why it might not work or what you could do differently.

Also, here and elsewhere, I see a lot a posts where people state they use this book and are having a problem with 'X' and it turns out that they have more problems than just that. Now this could be a sign that the book is ubiquitous and a small percent of its users that have problems is a large number or it could be that the book is lacking in some respect.
don't read that book. It's horrible. The guy use to work at microsoft I read it... He's evil. No but seriously first boook I read and I taught myself language without a computer. i had a lot of trouble when I got on my first compiler. dev-c++ quickly switching to gcc on linux.
The book does sound pretty WEAK. I found at my local public Library, they now post a wish list at amazon so you can search the list and add a book to your library's collection pretty easily. Something you might want to think about doing.

If you think knowledge is power, what better way to put power in the hands of the people?
http://library.nu/search?q=A%20Beginner's%20Guide%20That%20Makes%20You%20Feel%20Smart

hmm... the book reads pretty easily, I expected worse from your posts. Its targeted to total beginners, after all.
I'm sure it's not *that* bad for the most part, it's just irritating to open it find classic mistakes such as recommending the Dev C++ 'compiler' and system("PAUSE"). On the other hand, the C++ book that I know and love had quite a few bad reviews on Amazon, so I guess it's just down to taste really. As long as there isn't too much misinformation along the way...
C++ without fear? I've only been able to program in C++ very fearfully. Finally, a book that will alleviate my fear!

Edit:

Stop with the apologism. If the author thinks void main() is ok, uses system("anything"), recommends an IDE (and calls it a compiler) that hasn't been updated in six years then he does not know C++ well enough to write a book about it (except maybe a book called "How to write half-assed software that will not work when you use a different compiler or platform, in what I call C++ but is really the produce of my ass"). The standard is pretty clear on main() and what kind of data it should return (hint: it's not void), logic will tell you that using the system function is wrong, anyone who has been programming for more than a few months should know the difference between an IDE and a compiler (tip: one of them compiles source code) and logic (being the know-it-all that it is) will again tell you that out of date software is usually not as good (except when its Microsoft software; in which case you have to kind of guess whether or not updating is a good idea. Since he worked for Microsoft, I guess he's gotten used to that).
Last edited on
closed account (3hM2Nwbp)
How to write half-assed software that will not work when you use a different compiler or platform


Sort of like trying to take a Unix based make project and use it in Visual Studio...sorry but I couldn't resist :P

...but I guess it's not the code's fault.

* I just completely failed to build another OS library from source, so I'm in a rotten mood.
Last edited on
I won't get into my Programming books. I have the PDF of C++ without Fear and never read it. I have tons of books and only really read one of them all the way through. The only book I have started reading lately that I like and feel like I'm actually learning something from is C++ Programming From Problem Analysis To Program Design 3rd Edition (was my college programming book, though we never used it). The other books just felt like the other book I had read cover to cover. C++ for DUMMIES is the one I read cover to cover. Guess it just depends on the preferences of the reader. Use to have my book collection posted on pastebin, but I appear to have deleted the paste.

Definite warning is if the author uses void main(){};. Then run, don't walk, away from that book as it is either wrote by an idiot wanting money or is majorly outdated.
Last edited on by closed account z6A9GNh0
oh common, he actually uses int main() in all his examples. chrisname's comments that the author mixes up the IDE/compiler/linker are true, however I think he makes this mistake consciously to "keep things simple". Later on in the text he explains what a linker/compiler is, and clearly, the text is targeted to window$ (<- ;) at Disch) users. (Yes, we, the neanderthal users of Linux don't matter. I was comparing netbook prices, just to find that all major vendors have a "acer/asus/hp/msi/samsung/lenovo/toshiba/sony... recommends Windows 7" with nice bold letters on the upper left or the upper right corner on their netbook specs. Whatever M$ paid to those companies to put that on there, we, the users, are gonna pay back to M$ for. If I want preinstalled Linux, I have to shop at small companies like ZaReason (EmperorLinux netbook specs suck, and so do System76) ).

Btw on a clearly off-topic note, what do you guys think of the raspberry pi? (http://www.raspberrypi.org/ <- 1Watt 35USD computer (no keyboard, no monitor, no mouse, 2USB ports, 1 ethernet port, no wifi) that can run Quake III and is slightly larger than a credit card). The raspberry pi computer is targeted towards kids (30 year old ones not excluded).
Last edited on
Linux? I have 3 hard drive in my computer, Vista, Ubuntu, PC-BSD (though I use this one sparingly). I need to learn linux better as I mostly use the graphic interface for everything. I'm not old school enough to say I'm experienced at Linux, but I do use the Code::Blocks IDE and MinGW (vista) GNU (ubuntu) and also have the MSVS Express tools (need to use them more). Seems there are an abundance of books now but few good ones to actually help learn it. Or they are out of print or out dated enough to cause problems with the learning.
C++ for DUMMIES

I was put off that book, too. However, with that one it was my fault for deciding to save money by ordering an old edition. Being an absolute beginner at the time, I didn't realise that the only reason it came with a stupid DOS IDE was because I bought an old one...

what do you guys think of the raspberry pi?

It looks pretty cool. I'm not quite sure how the low cost works given it requires an external screen. That must more than double the price, though I suppose the idea is students could share a screen.

oh common, he actually uses int main() in all his examples

Yes, he does. I just want to know why he uses 'void main()' on the cover...

Seems there are an abundance of books now but few good ones to actually help learn it

Start off by using the internet. There are loads of tutorials on getting started with the terminal. Once you know how to use that, just search the internet for advice doing whatever you need to do - if you are happy with the terminal, you'll probably be able to follow the tutorial, even if you don't understand all of it.
closed account (3hM2Nwbp)
I just want to know why he uses 'void main()' on the cover...


I'd wager that he didn't do the art himself (and didn't catch it in the editing phase).
Topic archived. No new replies allowed.