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
next 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