Forum OpenACS Q&A: Response to A Technical Paper on Java

Collapse
Posted by Steve Crossan on
Great paper (& valuable), great comments, good discussion.

I swing both ways 😊 so I'll put some arguments on each side:

* David's point 3 in his post above needs emphasising - ease of hosting. My experience of 3 tier Java/web application environments is that they are a huge SysAdmin nightmare - a whole new world of potential memory leaks, strange crashes, uptime measured in days or weeks. There's a story about Brezhnev talking to Ford (I think) saying 'you americans build fighter planes like fine swiss watch. watch fall down. watch break. we russians build fighter planes like micky mouse watch. watch fall down. watch break. pick up watch. shake watch. watch work again.' not the perfect analogy, but that's kinda how I felt starting using ACS 2 years ago after 3 years of Java/RMI/Weblogic/Netdynamics etc. etc.

* In some problem domains, your do want the power of OO abstraction as a way of managing complexity, from design through build to maintenance. CM systems for example, or anything where you're modelling financial entities, tend to benefit from this approach in my experience.

* The performance stuff is valid to an extent, but personally I'm sceptical about that talk. 1) I have a strong feeling no-one really knows about this - it's my experience vs. yours. 2) if i can save a few programmer months of development time and a few more of maintenance time on a project by using an environment more suited to the problem domain, i can afford to spend big on hardware & still come out ahead.

* I agree that it should maybe be split into 2 docs - AOLServer/Tcl vs Java/Tomcat & another one on OpenACS vs. ACS x vs Turbine/Velocity/Barracuda/Enhydra etc. etc. (which C.R. & I are beginning to do some work on so maybe we can exchange notes). But, one argument you use for OpenACS is the '30 modules tested on hundreds of sites' argument familiar from aD. Trouble is - ACS 4.x and beyond is a pretty complete break from the past - new data model, re-factored modules etc. etc. (correct me where I'm wrong here). Up to 3.4.x there's an inheritance and ok you've got a pretty dodgy toolkit in engineering terms in some ways but never mind the quality, feel the width! (and look at the reference sites). Arguably a bit unfair to still use this going forward. As aD found out ACS 4.x performed like a dog in many cases. And now they've thrown it out again and are starting again from scratch.

* it's a crappy argument, but speaking from the POV of a small engineering firm trying to win sales, having to 'explain' Tcl to people who don't want to hear it can be a barrier. one that we try to overcome, but it ain't easy. again though - perhaps that's for a different doc.

Once again, thanks for doing and sharing a great bit of work