There are a couple of free compilers that are widely used : clang & gcc
I've got a few books and tutorials but what I'd really like is a basic compiler that's easy to work with for beginners. |
Using compilers can be as easy or as seemingly complex as you care to make it.
I don't want an IDE(they seem to defeat the process of learning how things work) |
That is very admirable, but it can be very tough too. You can spend hours or days trying to figure out, what turns out to be a rather simple thing. I would recommend doing a mixture of using an IDE and compiling from the shell with make files. Use the IDE to start with, see how it shows you syntax errors as you go along, and all the automatic stuff it does, like the class wizard and turning function declarations into stubs in the .cpp file for example. Then see what options it uses when compiling, go investigate what they all mean by reading the man page. Then look at the makefile the IDE produces automatically, and read up about how all that works. Practice compiling from the shell, with all the knowledge you have learnt.
I also recommend installing Linux, as this is really a programmers OS - there are all kinds of programming things that are free, one could have a lifetime of learning with all that is available. Ubuntu seems to be a good one for Linux beginners, but there are plenty of Others too. I use Fedora, It has about 20,000 free apps available for download. I have 4 IDE's at the moment - KDEvelop, Qt, Eclipse & CodeBlocks. I don't use them all at once - just wanted to compare. With Qt, one can compile apps for various OS's with one set of source code, it also has or can be integrated with all kinds of technologies, various graphics engines, SQL, all sorts of things.
You can dual boot the LInux along with Windows. Linux can go onto a spare partition, or easier a second hard drive. The boot menu (mine is grub2) allows you to choose which one to boot.
Hope all goes well & Good Luck !!