spencerg wrote:
Hi, Terry:
Thanks for the comments. I too vastly prefer S3 to S4. Your
Me too. My summary is this:
If you love computer science more than you value your own time, use S4.
Frank Harrell
comparison is based on much greater experience than mine.
Could you please check the link you sent? I couldn't get it to work.
Thanks again.
Spencer
Terry Therneau wrote:
For 90 percent of what I do I strongly prefer the loose (S3) rather
than the rigid (S4) classes. So I'm closer to Rolf. My summary of S4
vs S3
A large increment in 1. nuisance to write
2. difficulty to debug
3. ability to write very obscure code 4. design
Gain
5. ability to direct automatic conversions
6. validate the contents of a class object
For simple objects 5 and 6 can be critical. Consider a date for
instance, which will often be turned into a character, added or
subtracted as a numeric, plotted, etc. Conversely, aspects of 1-4 are
less worrisome for a simple object, particularly #4: I have a
reasonable chance of "getting it right" the first time.
For a complex object such as the result of a coxph fit fit
<- coxph(Surv(time, status) ~ age + sex + treatment)
#5 makes no sense at all: as.numeric(fit)??? Number 4 and 6 are
really hard;
after 15+ years of tuning I am still modifying the list of components
in a coxph object. I know more about the computational aspects of Cox
models than almost anyone and still it's not enough. Changes are
harder with rigid classes.
With reference to #3 above, for your amusement, look at
www.netfunny.com/rhf/jokes/98/May/straustrup.html
the key line (to me) being "..every C++ programmer feels bound by some
mystic promise to use every damm element of the languange on every
project..."
Terry T.
______________________________________________
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.
--
Frank E Harrell Jr Professor and Chair School of Medicine
Department of Biostatistics Vanderbilt University
______________________________________________
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.