You know, when my brother was learning C in college I took an interest and learned a little (that was back in 1998. I have forgotten C by now) but shall I tell you what really put me off ?
In his class, they were teaching him one version of C, while the college computers had another version of C and so even though their codings were correct they kept getting error signs. And some-times, when they made mistakes in their codes they could not really tell whether they really have made errors or whether that version of C was not accepting the other C version’s correct codings.
I tried learning C from his notes but the compiler he had installed in his computer (can’t remember where he got it from and what version it was) was one version and his school notes were regarding another version. And so, the countless hours trying to find the bugs in my codes (if there really was any) and failing to fix it (in that version) of C put me off.
And that is why, I must have the right version of C tutorial that will match my C compiler version as-well as the tutorials in the book and online tutorial.
And there-fore, I am going to ask you a lot of questions to help me spot the right version whose tutorials are widely found on the books and online tutorials etc.
This is the scenario I am dreading :

a) I get one version (compiler) but
b) I get a book on another version (compiler) and
c) I read a tutorial on the internet on another version (compiler)

Result : The codes which I will use from the tutorials will not work on the version (compiler) I have installed on my computer. Thus start the whole frustration circle all over again. I don’t want to go back-wards in life but forward.

Ok, can you all please tell us all now :

1. why you learned programming and
2. why you picked C over the other languages and
3. when you first learned C and
4. how long it took you to learn it and
5. which simple programs you have written in C and what does it do and how long it took you to write it
6. which non-simple programs you have written in C and what does it do and
7. whether you have made any money selling the softwares you have written in C and
8. whether you take-on custom projects that you write in C and for how much and
9. the links where you get or got your C tutorials from and
10. where you got your C compiler from as-well as details of which version it is and
11. whether you got the Compiler for free or had to pay a little because it came with some other handy software on the side and if so then what were these handy tools and how much in total did they all cost and
12. where do you recommend I should get my C compiler from that is better than all the rest because it comes with some extra handy features on the side to help me find errors in my code writings quickly and helps me develop softwares quicker with less head-ache and
13. which C compiler version is widely used and
14. which version’s tutorials is widely available on the books and
15. which version’s tutorials is widely used on the internet and
16. with which version do custom software developers develop custom softwares and
17. anything else you want to add

I will tell you what my first project was that I was working on without a tutor.
I was learning C from my brother’s notes.
It was a software that would ask you some-thing like this :

Q. What is your webpage’s Title ?
Q. What is your webpage’s Heading ?
Q. What is your webpage’s Paragraph ?
And so on.
Assume you input the title as “my personal homepage, heading as “get to know me betterand paragraph as “frankly, you won’t personally know me better by starting at some text on your screen.
The program would spit-out :

<Title>my personal homepage</title>
<head>get to know me better</head>
frankly, you won’t personally know me better by starting at some text on your screen.

Yeah, I was trying to write my own version of front-page just to play around with-it. I was thrilled that I was writing my own software that interacts with me.
And the silly errors that I was getting put me off.
My brother had a look at the codes and he said there was no errors but because I was using the codes of one version in another version’s compiler it was showing me error signs. After a few days, I quit the project and C altogether.
Don’t want the same happening all over again.


Well, to answer at least one question. If you are first starting out, and running windows, I recommend Miscrosoft's version. It'll run with windows without having memory allocation problems. I ran into that using Borland when I first started. There were all kinds of bugs and patched, so I just got microsoft Visual studio. Works fine for me.

All self-respecting C compilers from about 1985 onwards and all selfrespecting C++ compilers from about 2000 onwards (give or take a few years in each case) will support AT LEAST the same common set of functions as defined by ISO/ANSI.

On top of that each will come with a set of custom libraries for the operating system it's designed to work on, these will indeed differ per manufacturer and operating system.
As long as you stick to the standard when learning any modern compiler will do.
That will mean you're not going to make fancy GUI programs of course as that's where the most obvious platform specific libraries are :)

As to Borland and Microsoft, Borland has the better product with better standards support (though Microsoft is getting there, they currently have about 95% support where Borland has 97.5% or so) but Microsoft's is marketed better which gives them the edge commercially.
I've never experienced problems with Borland products having poor memory management code. Most likely grankor didn't know how to properly create such code and by the time he switched to Microsoft VC++ he had learned...

Didn't know how to do it right? :cry:

Naw, it was when mirco-nuts was competing with Borland, and before all the anti-trust stuff. Borland incompatible with Microsoft, and rather than messing with downloading on my dialup, I changed to MS Visual. i just stuck with MS, simply because I had more experience with it.

I've been using Borland compilers since their very first C++ compiler and never had problems with them...
Yes, their object code is incompatible with Microsoft linkers but the exe code generated by the linker works fine. That's why Borland have their own linkers...