Forum OpenACS Q&A: Re: Why do you use OpenACS and .LRN?

Collapse
Posted by Simon at TCB on
Many reasons. Here are the most prevalent

TCL

This for me is the key usp. TCL is to agile development what Shakespeare is to actors. An extensible, embedded scripting language with hugely powerful features, a dynamic basis and (with the inclusion of XOTcl) a superior object system is a big win for me.

The community

Ok, it may have gone quiet recently and it may not be as large as its could be, but there are some really bright people around. What it lacks in quantity is mitigated by quality, in my experience.

The db interface, i.e. db_1row, db_transaction, db_multirow.

A small element, but a surprisingly neat one. Ok, call me lazy if you like, but the sheer simplicity of interacting with the database is again a major win. Databases are hugely powerful tools and yet somehow never popular with your stereotypical Java developer. I suspect the proliferation of clumsy interface libraries out there has a lot to do with it. I mean, take Hibernate for example, good code it might be.. but why? I love Oracle because of db_*... and I'm not ashamed to say so ;) Surely this must be one of the most beneficial aspects of ACS for new/less experienced users. Its just so simple.

The data model

Its a thing of beauty (a quirky kind of attractive). I thought it the very first time it was released and I still haven't changed my mind. Easy to extend and a good core set of design principles.

Tcl/Adp Pages

I mean, combine this with db_* and... well, how much easier can this stuff be? Try cranking it out using Java/Tomcat... or Apache/Perl... do you want to hit your deadline or not?
I'm always a bit surprised when newbies say its difficult. I begin to wonder if they've installed the same software I have. ;)

Note to self.. early delivery, rapid development, low risk... ACS should be pitching these.

The way I can always seem to solve every problem with it

Websites?! Pah. Never built one (well not much of one). The ACS is really an Integration Engine, and its not surprising, its built with TCL, the mother of all Glue Tools. If there's a gap it can plug it, quickly. With the database underpinning (and potential grid processing with 10g) its the perfect solution the the general business problem of 'and we need some other kind of system to do this..'

I always look forward to working with it

Dunno why, can't rationalise it. Some things have 'it' some don't. ACS is one of those tools (again like TCL) that you build a relationship with. If this could be expressed in marketing/sales terms I'm sure it would be a gold mine. There is far more to be said for enjoying your work than whether its built with this or that. I find it hard to believe anyone could build the same relationship with JBoss.

And perhaps I should end with one reason why I don't like it.

My file watches disappear when I restart the server

It drives me banonkers