New and looking for direction about compilers for learning.

Hi,

Just joined this forum since a lot of my searches were pointing me here,it seemed like a good place to start. My health is allowing me ample amounts of free time and I'm going to use it to learn C++. After a lot of searching I still haven't found an answer to a specific question.

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. I don't want an IDE(they seem to defeat the process of learning how things work)

Also are any good courses online or beginner projects that have helped you understand how things work better?

Rather than overloading and burning out, I've set aside a few hours per day for this but can use more if I get sucked in. I'm not a student and all this is done in my own time with no guidance or teachers.
There are a couple of free compilers that are widely used : clang & gcc

http://clang.llvm.org/
http://gcc.gnu.org/


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 !!

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.

Ah the Irony. It was my first Ubuntu experience that started me down this path. It became quite evident that there was a lot more going on "behind the scenes" in windows while using Ubuntu and I was starting to feel like a halfwit. The more I tried learning about the inner workings of a GUI the more apparent it became that for any of it to make sense I was going to need to learn this foreign language.

I never thought of using an IDE as a sort of Tutor, that's a fantastic idea, thank you.

In my searching I've seen Codeblocks come up often so will try starting with that but like the idea of having multiples if only to see how they differ and might be used for various projects.

Thanks for the recommendations, I'll look into those.

Much Obliged,
Tob

P.S. Here's a link to the Rig I'm building if interested.
http://pcpartpicker.com/user/Tgreywolf/saved/1G8S


Topic archived. No new replies allowed.