John Chambers is also very widely quoted describing the aim of S as "to turn
ideas into software, quickly and faithfully."  Perhaps S3 is for people
wanting to do things "quickly" and S4 is for those wanting to do things
"faithfully".

Kevin

On Wed, May 18, 2011 at 7:39 PM, <Bill.Venables@csiro.au> wrote:

> I used to think like that.  However I have recently re-read John Chambers'
> "Software for Data Analysis" and now I'm starting to see the point.
>
> S4 classes and methods do require you to plan your classes and methods well
> and the do impose a discipline that can seem rigid and unnecessary.  But I
> have found that to program well you do need to exerceise a lot of
> discipline, mainly because it can take quite some time to spot all the
> inadequacies and even traps in your code that an ill-disciplined approach
> lets you get away with at first.
>
> IMHO, of course.  Perhaps you can all see the traps that elude me.
>
> Cheers,
> Bill.
>
> PS Rolf Turner?  Respectful?  Goodness, what's going on?  :-)
>
> -----Original Message-----
> From: Rolf Turner [mailto:rolf.turner@xtra.co.nz]
> Sent: Thursday, 19 May 2011 9:34 AM
> To: Venables, Bill (CMIS, Dutton Park)
> Cc: r-help@r-project.org
> Subject: Re: [R] R Style Guide -- Was Post-hoc tests in MASS using glm.nb
>
>
> On 19/05/11 10:26, Bill.Venables@csiro.au wrote:
>
> <SNIP>
> > Most of [the Google style guide's] advice is very good (meaning I agree
> with it!) but some is a bit too much (for example, the blanket advice never
> to use S4 classes and methods - that's just resisting progress, in my view).
> <SNIP>
>
> I must respectfully disagree with this view, and concur heartily with
> the style guide.
> S4 classes and methods are a ball-and-chain that one has to drag along.
> See also
> fortune("S4 methods"). :-)
>
>     cheers,
>
>         Rolf
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]

