« | Blog Home | »

A Small Complaint about Google App Engine

My one big/small complaint about Google App Engine has been the documentation, as for a long time it was very sparse and even more very abstract. The nice folk at Google App Engine have worked to beef up the documentation and I greatly appreciate it, but most of the code examples are either still too abstract or too simple.
Now that I am many python files into a complex application, I have been trying to refactor some of the code to reflect a one-to-many relationship database relationship and my four hour frustration today was that the example code given for database/datastore model relationships in the Google App Engine Python docs works in the interactive python console but when one translates it to one’s models the code does not work.
It has been my experience all the way along that the code examples in the docs are either very basic and don’t reflect dynamic datastore usage or that they are very abstract. I have found that it is good to read the docs for the theory of how it should work and then go look at an example of actual working production code from the samples to see how it really works and then spend multiple hours to make the theory work to your code based on how the implementation of the theory worked for someone else.
My experience in PHP is that the code works as advertised. My biggest frustration(s) with PHP is the (1) danged punctuation ({;}); plus a few more ;;;;, which leads to debugging purgatory, and (2) that in reading the various Php.net docs and the blogs out there one has no real idea what really are best practices in PHP right now as there is so much cruft code, old code, and competing code examples on the net.
Python is so beautiful and clean without the punctuation nightmares of PHP, but it is so difficult to transliterate abstracted Python code examples for Google App Engine’s webapp & datastore written by ethereal Python engineer ninjas and then try to figure out how to make it work for those of us who have not ascended to the level of deity but still have our feet on the ground while we scratch our heads or pull out hair in frustration in our attempts to ‘correctly’ solve problems rather than hack away.
((O.o))