Neptune. I agree with you completely. The reason I started to write this tutorial in the first place was because I found the lot of existing tutorials lacking in their approachability by people new to programming. Just about all of them were either not comprehensive enough, or seemed written by geniuses for geniuses. Let me quote a little excerpt from a tutorial that I think exemplifies this symptom quite eloquently:
"I have to use as-yet-unexplained language features in order to
present examples that do relevant things, because it would be too much
to explain the language features & concepts here. These features are
explained in later chapters, so for now you can just adopt a very
casual attitude, hey, it works!"
Don't get me wrong, I understand that this approach probably works for a certain type of people. But there are a lot of us that find this approach very
difficult to follow. The approach of my tutorial is to gradually introduce new concepts so that the student can follow along at a logical and pleasant pace. Yes, it has a disadvantage. The examples can't be too elaborate. But, the purpose of tutorial, to teach the language, is better accomplished this way. If I was teaching a group of people the English language, I would not go about doing so with a George Gordon Byron poem. Some think that doing so would be a great idea, but I pity the students of such instructors.
By the way, I am looking for help in finishing the last sections of the tutorial. In particular, if you have experience with PyQt or PyGTK your help would be much appreciated.