From: mo reina on
On Jul 3, 9:59 pm, Terry Reedy <tjre...(a)udel.edu> wrote:
> On 7/3/2010 1:48 PM,mo reinawrote:
>
> > an anyone recommend a resource (book,tutorial,etc.) that focuses on
> > application development in python? something similar to Practical
> > Django Projects, but for stand alone applications instead of web apps
> > (for now).
>
> > i'm in a bit of a funny place, i have a decent/good grasp of python
> > syntax and my logic isn't bad, but i have no clue on how to assemble
> > an application, i seem to be stuck on writing scripts.
>
> > i've looked at the source of a few projects but the flow is way over
> > my head, i understand the syntax but not the logic, which is why i'm
> > looking for a project-cenetered learning resource, instead of a
> > reference or language-feature resource. also, it seems that a lot of
> > app programming is 90% gui bindings, with very little actual code, or
> > am i totally way off mark?
>
> If the app is a gui app and if logic is overly intermixed with gui
> stuff, I am sure it can seem like that. Many recommend the MVC
> model-view-controller model for app design. Even that can be confusing;
> to me it should be model-controller-view, even though that is harder to
> say. What are the data (values and objects) and how are they stored?
> What are the rules for manipulating the data and objects? And then, and
> only then, how to communicate with the user?
>
>
>
> > i recently picked up the django practical projects book, and in a few
> > days i re-wrote a website i did with django. i feel it was the book's
> > project-centric approach that made this possible.
>
> Another issue is who controls the flow of interactions, the user or the
> code. For instance, a gui form used for input tends to direct the user
> along a linear path. The same form, used for edit, presents existing
> data and allows the user to pick and choose the fields to edit. This
> distinction, along with MVC ideas, is important for reading source code.
>
> I have mostly seen this issue discussed in game reviews and game design
> writing. In computer games, there is the same general difference between
> a linear obstacle course game and a world to be explored in whatever
> order one wants. (And there are some with both an explorable world *and*
> a (somewhat optional) linear main quest line.)
>
> I am not familiar with any general app design books, but I have seen
> game design articles and books that are on a par with writing about web
> design. There are other books on business apps.
>
> --
> Terry Jan Reedy

so you're suggesting:
-write core algorithm(model)
-link algorithm(s) with each other and a central menu, if
applicable(controller)
-write views for gui or cli(view)

this is actually the path that i follow when writing django apps, and
is the sequence that is being used in "Practical Django Projects",
where first the different classes/data structures are written, then
linked together through the url file, and finally html is written for
each "view".