caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: artboreb@netscape.net (Arturo Borquez)
To: skaller@ozemail.com.au (John Max Skaller)
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] static class member....
Date: Fri, 08 Aug 2003 10:38:06 -0400	[thread overview]
Message-ID: <63FF6FC9.5B44987F.00958B05@netscape.net> (raw)

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


             reply	other threads:[~2003-08-08 14:38 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-08 14:38 Arturo Borquez [this message]
  -- strict thread matches above, loose matches on Subject: below --
2003-08-06 12:35 [Caml-list] Unix.kill on Win32 James Scott
2003-08-06 12:57 ` [Caml-list] static class member Vovka
2003-08-06 14:45   ` Richard Jones
2003-08-06 14:51     ` David Brown
2003-08-06 15:10       ` Richard Jones
2003-08-06 16:12         ` brogoff
2003-08-06 17:43           ` Richard Jones
2003-08-06 18:11             ` David Brown
2003-08-06 18:30               ` William Lovas
2003-08-06 18:14             ` Nicolas Cannasse
2003-08-07  0:12           ` Jacques Garrigue
2003-08-07  5:20           ` james woodyatt
2003-08-07 17:02             ` brogoff
2003-08-07 21:53             ` John Max Skaller
2003-08-06 16:24         ` David Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=63FF6FC9.5B44987F.00958B05@netscape.net \
    --to=artboreb@netscape.net \
    --cc=caml-list@inria.fr \
    --cc=skaller@ozemail.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).