[snip]
I'm going back to the base article, to suggest a basically different
approach.
During my spare time over the last couple of weeks I've been studying an
unfamiliar C++ graphics library. I realized that my normal approach to
learning languages and libraries was entirely different from yours.
I wrote a series of very simple, small programs, each of which
introduced only one new technique. For example, my program for learning
to connect a button to the code that should run when it is clicked
created a window containing one button, and wrote "hello" to standard
out each time it was clicked. When that was working I advanced to two
buttons doing different things.
Each learning program incorporated at most one new technique. The
programs I was really trying to write did not use any new graphics
techniques - I had tried everything out in smaller programs.
Have you considered a step-by-step approach, as an alternative to
writing an application and then trying to make it work?
I thought that I had mentioned that approach in this thread, but
no. I use the same approach as you when learning languages. For
general computing, I code a times table. First, I code the simplest
thing that I can to get it going. Then, I make adjustments in
whatever ways help me learn. Typically, the first version will not
have the columns line up, and that is the first change. I might have
to do something special to get right justification. I sometimes add
input for what range the table is to be for or for what operator. And
the list can go on. After that, a real-use program is much easier to
do.
Sincerely,
Gene Wirchenko