Just wanted to make sure...
Really, how long have we been friends on here? And you still think me that frail? What can I say...
Sorry, but that simply isn't right. All versions of Turbo/Borland C had those warnings, it's solely up to the user to ignore those. (I just took the screenshot of that warning from a BC++3.1 compiler, as that is what I have installed on this very same Windows XP PC).
My first experience with C was on Turbo C ... part of a combo pack Borland had out in Canada... Pascal + C for 30% off, if memory serves. I didn't know the first darned thing about C at that point and it may be faulty memory but I don't recall it ever warning me about main or the return value... But, hey, that was a long time ago...
The actual problem is that people as the mentioned author as late as 2005 still promoting/teaching pre-ANSI style of C, not the choice of compiler they use/recommend!
Ralf, it's not about the compiler per se... It's about the AGE of the compiler. In case you didn't knotice C has changed a little since then. The term "pre-ANSI" sums it up very nicely.
My slight jab at here was more in reference of you demeaning the use of a DOS compiler, which IMHO is actually the best option for a complete real C newbie. You can learn must easier the very basics of C, with all the Windows/GUI fluff.
Pelles C will compile the simple little 10 line "hello world" just fine and run it in a shell window so I'm just a little confused what your issue is.
I'm not defending Pelles C (as you probably know I'm one of the first to point out it's problems, when relevent) and I'm not bashing Turbo C ... I'm talking about starting someone off in a compliant atmosphere that is based on the standards they will most likely be required to work in later. It's pretty simple actually... by starting off with main() --for a trivial example-- you are teaching a bad habit that later has to be broken... That's not education, it's a minor form of sabotage.
On other forums where I've talked about programming, one of the biggest issues C students had was having to unlearn what school taught them so they could learn proper techniques for their careers. As I've ponited out this was a particular problem with students from India when they discovered, all of a sudden, that much of what they'd been shown was actually wrong by modern standards.
All I'm saying is start them off right... Let the old ways die the death they deserve.
Just look at an empty template for a "compliant" Win32 program generated by Pelle's C, that is enough to scare the bejezus out of newbie!
Not all Pelles C programs are Win32 GUI aps, Ralf... and, frankly, if they find it frightening rather than intriquiing, they just might be working on the wrong career path to begin with. My first real C program was in GUI mode. I never wrote console programs before joining here...
In fact, one might opine that including things like "compatibility names" and conio.h Pelles C intends to directly replace Turbo C with an up to date compiler... which is actually a good thing.
You were direct with me... now it's my turn.
I disagree with your approach for the simple reason that you are essentially asking someone to learn "the old way" then leaving them to re-learn it all "the new way"... I agree with you completely about learning general principles, variables, loops, functions etc right up front... but I can't agree they should have to do it on some dusty old MS-DOS machine.
As I see it, we should start them off on console programs, "the new way" and elminate the confusion of transitioning to standards simply because they're already there. Windows console programming is close enough to MS-DOS there's no reason to run DOS anymore... it's a dead horse... let the glue factory have it.
FWIW... I do get your defense of the tools you like. But please know that in this case I don't have a favorite hammer... if a better one comes along, I'm gonna dump the old one like a hot rock and IMO a programmer who doesn't isn't really doing his job.
No offense my friend... but perhaps we should just agree to disagree on this one!