- 1) When Lee says spending time to learn Tcl, does this include reading quite a bit of all the ADP and Tcl files that comes with ACS, or are we talking about just learning Tcl?
I sort of assume most anyone in the ACS community did just this if they have created a few sites integrating ACS. Or if they have come up with ACS modules extensions or even done major ports and enhancements (Don and Ben and friends) There's a big difference between reading code examples in Brent's book and reading a quarter of a million lines of Tcl in ACS.
- 2) Since Lee mentions the data structure of the ACS, I like to comment that the data structure can be a bit of a puzzle -- at it is to a SQL baby like me. I think that means you end up having to read a lot of source (both SQL and Tcl and maybe C) before doing great things with the kit.
However, the nice thing about going overboard to learn the entire system line by line is that changes made to the distribution you download fro OpenACS.org or arsdigita.com/asj won't come as too big a surprise--and will be easier to cope with (*duh!*). As an added bonus, you have the potential opportunity to chip your big ideas to Ben/Don/Arsdigita/friends. Or at least know how to create a well rounded ACS-aware module instead of a plain ol AOLserver Tcl script package. Finally, if you make webpages with AOLserver, you'll also learn how to express yourself in Tcl/SQL by imitation.
- 3) Lee's "balance sheet of developer time" makes no mention of what I call paranoid over-preparation (which is quite costly and a luxury few development firms can afford to enjoy...umm... actually.. there's HP: they have a tradition of promotion of enterprising employees--some turning into company-paid scientists!).
ArsDigita and OpenACS are represented by ol' farts (okay maybe not so old *wink*) who really know their stuff (going all the way back to VAX assembly and LISP machines, I'm afraid --whatever their background. They all have timeless scary war stories to share and reuse before their arrival on the Tcl, ADP or SQL scene.
Point is, as a part of the younger generation of programmers (that includes me) we have to go the extra mile to absorb all sorts of technical know hows besides what's immediately related to the ACS before feeling like we are seeing what others see when we work with the ACS system (and quite unfortunately, as Lee illustrated quite optimistically: ACS is a oceanlinerful of technologies all by itself without even taking the scenic route).
Frequently are times when I feel terribly inadequate coping with even the high level buttons and knobs of ACS I usually cope with this lack of experience by trying to do some unique things with ACS itself or study and write lots of related code (in any language) from projects that vaguely promotes the same dreams ACSers aim for. Coincidentally, the current super nova of confidence in open source development, simplicity of Tcl and the ubiquitous web infrastructure greatly simplifies any newbie's task in their aim to learn and expand their horizons. Combining the ACS kit with un-heard of features, applications or technologies is now straightforward and there's no better time to start.
- 4) Anyway, it can be a fun experience for many (even eventual OpenACS customers who comes here looking for someone to fill contract!) to get caught up in this evolutionary idea of web community building. Hopefully the time or money spent on the kit will ultimately magnify the ability for netizens to communicate with one another and do commerce like never before.
From the developer's point of view, if you can make money doing something socially positive with ACS, that makes it a big bonus over the competition.
- **time to turn the super-charged bull shit rant mode off**