As I'm sure the regulars here will know, @Twisted and I are working on a little Raspberry Pi project together. For me it's an excuse to get into the maker scene (I guess I should join FizzPop or something), and for @Twisted it's an opportunity to learn coding.
Now, for various reasons, we've decided that we need to learn Python. It seems to be a nice language for beginners (with teachers being rather fond of it for this reason), and appears to be the language of choice for all things Pi and GPIO related things.
From what I understand, one of the main differences between Ruby (which is the language I use professionally) and Python is:
with Ruby you've got multiple ways of solving a problem, and can choose your syntax based on what reads the best within the context that you're working
with Python there is one way of doing things, and only one way.
OK, fine - only, that's not strictly true on the Pythons side, is it?
From what I understand, the Python community is split down the middle, with part being strong supporters of Python 2, and the rest being supporters of Python 3.
This leaves @Twisted and I in a difficult position, as we don't know which of the two we should learn, or even how to tell the difference.
Personally, based simply on the idea that larger numbers are better, I would have opted to go for Python 3, but having chosen Learn Python The Hard Way as our tutor, it states:
A programmer may try to get you to install Python 3 and learn that. Say, "When all of the Python code on your computer is Python 3, then I'll try to learn it." That should keep them busy for about 10 years. I repeat, do not use Python 3. Python 3 is not used very much, and if you learn Python 2 you can easily learn Python 3 when you need it. If you learn Python 3 then you'll still have to learn Python 2 to get anything done. Just learn Python 2 and ignore people saying Python 3 is the future.
Long story short, we're a bit lost and not sure what to do - please shower us with your wisdom.