Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: [Caml-list] static class member....
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: artboreb@n...
Subject: Re: [Caml-list] static class member....
wyse words
regards
Arturo Borquez

John Max Skaller <skaller@ozemail.com.au> wrote:

>james woodyatt wrote:
>
>
>> I would strongly second this advice.  When I came to Ocaml from C++, I 
>> did not heed this advice-- and I wasted a lot of time learning why that 
>> was a mistake.
>
>Actaully, my advice to C++ programmers is the same :-)
>Don't use classes. Plain old data structures are generally
>better -- precisely because they *don't* provide encapsulation.
>
>This saves a whole lot of time writing methods, when you could
>just manipulate the data structure directly. Just kill off
>stupid Visitor patterns and things and write the code you need
>without encumbering yourself with attempts to abstract things
>that usually aren't abstract in the first place.
>
>In most business code, even the kinds which are in principle
>abstractable are often best not abstracted simply because
>there aren't enough instances of the abstraction to bother,
>and the client is sure to change the rules and break your
>polymorphism anyhow :-)
>
>An example where abstraction is useful: the back end
>of a code generator (such as Ocaml itself, or Ocamldoc),
>can sensibly be abstracted. However getting the abstraction
>just right is a non-trivial exercise and it's often better
>to do case by case encoding until the actual abstraction
>emerges in the code itself (and then you can encapsulate it).
>
>To put this another way -- don't use abstractions unless you
>have a strong theory that tells you what they actually are,
>and even then, be circumspect ...
>
>-- 
>John Max Skaller, mailto:skaller@ozemail.com.au
>snail:10/1 Toxteth Rd, Glebe, NSW 2037, Australia.
>voice:61-2-9660-0850
>
>
>-------------------
>To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
>Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
>Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
>


-- 
Arturo Borquez


__________________________________________________________________
McAfee VirusScan Online from the Netscape Network.
Comprehensive protection for your entire computer. Get your free trial today!
http://channels.netscape.com/ns/computing/mcafee/index.jsp?promo=393397

Get AOL Instant Messenger 5.1 free of charge.  Download Now!
http://aim.aol.com/aimnew/Aim/register.adp?promo=380455

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners