This question is directed at the more experienced programmers, the veterans, though anybody's advice/ comments are welcome!
Backgroud: Well, I'm up to page 450 or so of Jamsa's C/C++/C# Bible, and still making progress in learning the language. But it's still very rocky! It seems that, (with a total of six C++ books on my desk, endless tutorials and example code on the web, and having Microsoft's Visual C++ beginner's edition, Bloodshed Dev-C++, Borland's compiler, the DJGPP compiler and libraries for all installed on my computer) I would be able to find two example programs in a row that work on the same compiler.
But that's almost never the case. I go to try an assembly routine on Microsoft's compiler. Whoops, the
asm
function has been changed to the
__asm
function! Why? Just to be incompatible? I am itching to do console graphics (just to play, understand!), but NO compiler I have has the graphics.h header file that EVERY book I have talks about. Even the documentation in the compilers themselves go on about
lineto
functions, providing sample code...which errors all over the place (fatal error, file not found)! Well, I finally DID find a console graphics library online, complete with the graphics.h header, and it works on my compilers (Beautifully!)... so WHY were these functions omitted? Just to waste my time for a week to find them?
streql
is unsupported, but after an hour's searching every header file on the hard drive I find
strcoll
, which...does the same thing!
Every other function I want to use is unsupported, or is changed from version to version, or has been moved to a different header file (!?!?) under a slightly different name. Only through groveling through the header files and library extensions for half the day can I find the function that does what I want.
Which is to say that I CAN deal with it. It's just that, somehow, I have the sneaking suspicion that learning to program should have more of a focus on coding happily away, and not spending 90% of the time fighting the system! I mean, how many times can I pick a function described in two or even three books in exactly the same way, only to type it in and get "undeclared identifier", before I start to wonder if I'm really working in the right language?
My general question is, do these headaches ever get less frequent? As an experienced programmer, do you ever reach a "break-even" point where you are able to declare your own function prototype in source, so you're not helpless because you don't have The Magic Header File? Is part of my problem that I'm doing this on Windows 98, which has NO Dos to speak of; would Unix or a pure Dos system be easier? And if so, where can I get a version of Unix to throw on one of my other comps? It would be nice to use that Emacs editor of which I hear so well of, and which I have a copy of, but it even requires a special key on the keyboard which I don't have with a Windows system. Would it do me good to go the Unix/ old Dos route, or would this be yet another wrong tree to bark up? And my Microsoft compiler says it's not ANSI compliant. Is this part of the issue?
Or am I just NUTS? I am doing this on my own free time, out of my own pocket, just because I want to. I may take a class in it eventually, but for right now, I still seem to be getting somewhere on my own! Anybody got some deep Zen wisdom on this note? And if it's this hard for a hobbyist, how on Earth do you cope when you have a classroom/job deadline?
My apologies for the big long ramble, but I know that I'm not the only newbie who's struggling. Just Google "graphics.h C++" and you'll see dozens of people whining in the same pitch that I am, here. Apparently, in finding the console graphics module , I accomplished what hundreds of others have tried to do and failed...
Question
Hosiah
Hi, all!
This question is directed at the more experienced programmers, the veterans, though anybody's advice/ comments are welcome!
Backgroud: Well, I'm up to page 450 or so of Jamsa's C/C++/C# Bible, and still making progress in learning the language. But it's still very rocky! It seems that, (with a total of six C++ books on my desk, endless tutorials and example code on the web, and having Microsoft's Visual C++ beginner's edition, Bloodshed Dev-C++, Borland's compiler, the DJGPP compiler and libraries for all installed on my computer) I would be able to find two example programs in a row that work on the same compiler.
But that's almost never the case. I go to try an assembly routine on Microsoft's compiler. Whoops, the
function has been changed to the
function! Why? Just to be incompatible? I am itching to do console graphics (just to play, understand!), but NO compiler I have has the graphics.h header file that EVERY book I have talks about. Even the documentation in the compilers themselves go on about
functions, providing sample code...which errors all over the place (fatal error, file not found)! Well, I finally DID find a console graphics library online, complete with the graphics.h header, and it works on my compilers (Beautifully!)... so WHY were these functions omitted? Just to waste my time for a week to find them?
is unsupported, but after an hour's searching every header file on the hard drive I find
, which...does the same thing!
Every other function I want to use is unsupported, or is changed from version to version, or has been moved to a different header file (!?!?) under a slightly different name. Only through groveling through the header files and library extensions for half the day can I find the function that does what I want.
Which is to say that I CAN deal with it. It's just that, somehow, I have the sneaking suspicion that learning to program should have more of a focus on coding happily away, and not spending 90% of the time fighting the system! I mean, how many times can I pick a function described in two or even three books in exactly the same way, only to type it in and get "undeclared identifier", before I start to wonder if I'm really working in the right language?
My general question is, do these headaches ever get less frequent? As an experienced programmer, do you ever reach a "break-even" point where you are able to declare your own function prototype in source, so you're not helpless because you don't have The Magic Header File? Is part of my problem that I'm doing this on Windows 98, which has NO Dos to speak of; would Unix or a pure Dos system be easier? And if so, where can I get a version of Unix to throw on one of my other comps? It would be nice to use that Emacs editor of which I hear so well of, and which I have a copy of, but it even requires a special key on the keyboard which I don't have with a Windows system. Would it do me good to go the Unix/ old Dos route, or would this be yet another wrong tree to bark up? And my Microsoft compiler says it's not ANSI compliant. Is this part of the issue?
Or am I just NUTS? I am doing this on my own free time, out of my own pocket, just because I want to. I may take a class in it eventually, but for right now, I still seem to be getting somewhere on my own! Anybody got some deep Zen wisdom on this note? And if it's this hard for a hobbyist, how on Earth do you cope when you have a classroom/job deadline?
My apologies for the big long ramble, but I know that I'm not the only newbie who's struggling. Just Google "graphics.h C++" and you'll see dozens of people whining in the same pitch that I am, here. Apparently, in finding the console graphics module , I accomplished what hundreds of others have tried to do and failed...
regards and respects,
Hosiah
Link to comment
Share on other sites
11 answers to this question
Recommended Posts