[Calendula-devel] Architecture Thoughts: J2EE vs Python
Tom Panzarella
tpanzarella@mac.com
Thu, 01 Apr 2004 19:44:29 -0500
>
>The reason why I quote it is that I don't want the framework to get
>overly complex.
>
The point of frameworks is to keep code maintainable and simple. Whether you subscribe to an exsiting framework or build your own, once the project is large enough, ultimately you are going to use one. Zope is a framework upon which other frameworks are built until ultimately one of them is the really easy way to do task X. CMF on top of Zope and Plone on top of that == "really easy web site CMS system". The same applies in Java: Struts takes the Servlet/JSP framework to another level of simplicity and managability, RMI makes it easy to invoke methods on remote objects, other J2EE based frameworks do the same thing for other facets of distributing computing.
>
>Three red flags keep me out of the java camp:
>
>1. My own lack of java experience
>
Very valid reasoning.
>
>2. I am a perl -> python convert because of the uncluttered nature of
>python. Java is a little noisy.
>
I'll be the first to admit that Java is a bit verbose but I don't think anyone can argue that it is not "clean". Also, Java's verbosity is due to the fact that it is a statically typed compiled language. You have to dot your "i's" and cross your "t's".
>
>2. Java licensing.
>
How would Java licensing affect Calendula? The licensing of Java effects people like IBM, BEA, Oracle and the like. As far as "we" are concerned it's free beer and we can give away our code under whatever licensing scheme we would like, even the GPL. Think of Java as an operating system and Calendula as the application that rides on top it -- I doubt the Python version of Calendula will need to make kernel modifications to windows or Linux, right? So who cares that we can't change the public interface of and redistribute the Java platform???
>
>It may only be a stepping stone to a more full bodied effort backed by
>the resources to make it happen. So unless someone comes up with some
>really compelling reasons to jump to enterprise level code,
>
I just want to clear up one thing and this is not targeted at Darryl but rather "the industry" in general. The word "enterprise" is so over used and it's essentailly marketing-ese for "distributed computing" - multiple programs interacting with eachother over a network. I'm assuming a full multi-user install of Calendula will be able to be marketed as: "enterprise python code" or some other buzz word friendly way to drive downloads.
>
> the guiding
>principle for me will be to keep it simple. Or as I like to say now, if
>you all disappear I've got to be able to do it myself.
>
Very smart man. I vote Python!
Also, I think you are doing a great job Darryl and I'm doing exactly what I said I wouldn't do up front ... I'm involved in defending Java on an otherwise Python slanted list when really what this is about is results for NGOs not the technical merits of languages, platforms, frameworks, etc. If I were the architect, I'd choose J2EE, but I'm not. At the same time I do think that a Python system can be architected to scale and work too. Let's do it.
t.