S3 is very easy to change; S4 is very difficult. This provides advantages and disadvantages for both. Some people swear by one and curse the other -- from both sides.

S4 is newer, and I have had problems in the past finding out what S4 methods are available and finding acceptable documentation more generally. The "methods" function quickly identifies all installed S3 methods for an object of a particular class and all classes for which a given generic function has S3 methods. The help page for "methods" now says, "See Also: ... For S4, 'showMethods', 'Methods'." I very much appreciate the work of whomever added this "See Also", because the next time I want to find S4 methods, it will make it easier for me to do so. Chambers (1998) Programming with Data (Springer) described many things that did not work in any version of S to which I've had access. Chambers (2008) Software for Data Analysis (Springer) is better but still includes many things that I could not get to work without writing the author.

I use S3 routinely, and I've tried multiple times to learn more about S4 methods without yet achieving a critical mass that would allow me to use them. S-Plus and R have been my primary tool for well over 15 years.

     Hope this helps.
     Spencer


Corrado wrote:
I do not understand why one should use a S3 preferentially on a S4 class, if S4 is more rigorous.

(The premiss is I am a newbie with OO programming in R, and would like to understand what is the "proper" way to OO program in R ....)

Regards



On Saturday 29 August 2009 16:23:39 hadley wickham wrote:
An opening curly brace should never go on its own line;
I tend to do this:

f <- function()
{
 if (TRUE)
   {
     cat("TRUE!!\n")
   } else {
     cat("FALSE!!\n")
   }
}

(I don't usually put one-liners in if/else blocks; here I would have
used ifelse)

I haven't seen many others format code in this way. Is there an
objective reason for this (such as the rule for the trailing "}") or
is this just aesthetics?
It's probably just aesthetics.  I don't like it because it increases
the number of lines without much real benefit - indenting already
gives you all the hints you need.

Hadley





--
Spencer Graves, PE, PhD
President and Chief Operating Officer
Structure Inspection and Monitoring, Inc.
751 Emerson Ct.
San José, CA 95126
ph:  408-655-4567

______________________________________________
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.

Reply via email to