On Sat, Aug 1, 2009 at 3:21 AM, Kay Schluehr <kay@...> wrote:
> I do think Apress can market its books however it likes but I consider
> it as a fraud when the relationship between Jython and Django is
> practically immaterial and all there is about Django on Jython is that
> it works. Well, it's still your book and you have to live with that.
I think the term "fraud" should not be used in this discussion.
The book is not just our book. We decided to open source it to the community
to ensure that it's accurate, current, and available. We actively solicit
not just comments, but code examples and other patches. It's in Mercurial so
as to facilitate just that model of development.
http://kenai.com/projects/jythonbook. Or if not familiar w/ hg-style dev,
email your patches as described here:
And of course it's a project that has just begun.
Being under active development means that the book is subject to extensive
change. This is especially true with respect to voice, content level,
perhaps even title, etc. Again, we want feedback here (or patches). I should
point out that Jython has been used as an introductory programming language,
most notably in Alice
JES <http://coweb.cc.gatech.edu/mediaComp-plan/94>. However, given the range
of this book, it would not be a good strategy for this particular book to be
start introductory and end advanced. We are not doing this to spin people's
That Django simply works on Jython has its value. Greater value is seen when
complemented with other aspects of Java infrastructure - WAR deployment,
connection pools, sandboxing, JMX, execution services, JMS, access to Java
libraries - as well as specifics to a given app server (eg WebLogic's
deployment plan for app lifecycle mgmt). I hope to have coverage on these
matters, if not in the first printed edition, then as it evolves. Of course
this coverage is not just applicable to Django. However we work the example
should be fine, as long as we indicate where to go next.
Google App Engine's support of Jython suggests that it should be feasible to
run most/all Django apps (or other apps like Pylons) that run on the CPython
version of GAE unchanged (although we do need to implement some
compatibility shims like the imaging API). But unlike the CPython version,
it's possible to write native extensions for GAE in Java to make an app run
faster, or just take advantage of some existing Java libraries. The JVM
sandbox is simply much more versatile than funneling everything through
Google to potentially harden. Again, something that should be in this book,
and something that also really benefits from community involvement to find
those interesting examples.
And the list goes on. Consider a discussion on using Terracotta for
distributed shared memory, and integrating it with Django's caching
mechanism. (With applicability again perhaps on TurboGears, web2py, or
perhaps for once something besides a web framework.)
> IMO an evident starting point of improving Jythons documentation is the
> "User guide". It needs more and a better structure ( and an enumeration
> of sections ;) and at some points even less ( a major chapter for
> JRealod? ). There are also major mistakes in the guide: since when are
> Integer, Float and String Python types? Last time I looked at Python
> those were named int, float and str...
I have updated the User Guide, as you suggested, along with a number of
other fixes. Please note it's a wiki - anyone can improve these docs.
I see 5 major sections right now:
> 1) Installation + Configuration of the Jython interpreter ( including a
> mention of Netbeans which is incomplete BTW because the Netbeans plugin
> lacks the registry file ).
> 2) Java compatibility. This includes type mappings, working with the
> classpath but also reflecting Java properties. ( To work with Java
> consistently some registry file settings have a wrong default value in
> particular respectJavaAccessibility which must be set to false. If you
> want full Java attribute access protection just use Java ).
> 3) Jython API and a technical perspective on JVM integration. This is
> for potential Jython core developers. Embedding of Jython in other Java
> applications can be handled in a subsection.
> 4) Compliancy with CPython. This covers major differences and utilities
> like pycimport.
> 5) Practical utilization of Java with examples of Servlets, Swing, JDBC
> and others.
All of these are good, although I don't know what the overall structure will
look like. Let's start first with the Python doc set patched for Jython, our
Jython book, a wiki cookbook...