In referring to required parameters, well for Tcl, they are not only required to be present, but required to be present in a certain order.
Historically, OpenACS development has waivered, but leaned towards procedures in which required parameters are not named. As Tom Jackson has mentioned, we have inverted the typical Tcl ordering and have required parameters come before named ones.
The IDE we have today changes from user to user, but one thing we all have, and it's really quite nice, is the API Browser found at /doc. Along with the API Browser is the ad_proc procedure which allows for pretty easy, inline documentation of a tcl proc so that it can be browsed and perused with the API Browser.
So while there is certainly a learning curve to pickup the ACS, it's relatively well documented (esp. compared to other toolkits). As such, while this forum is here to support everyone and welcome the newcomer, I would prefer the toolkit itself prefer clean, maintainable, good looking, quickly written code. (We could still use more documentation.)
I myself think that leads to required parameters are not named and optional ones are.
As far as IDE, I always wonder what people use. But emacs, tcltags, meta-point, nscp mode, and David Lutterkort's nsd.el extension take me quite far. And the API Browser.