caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Miles Egan <miles@caddr.com>
To: caml-list@inria.fr
Subject: [Caml-list] ocaml complexity
Date: Wed, 6 Jun 2001 09:50:41 -0700	[thread overview]
Message-ID: <20010606095041.A93623@caddr.com> (raw)

I'm not sure how easy it will be to bring this up constructively, but I'm
curious to hear what others have to say so I hope I can make it clear that this
isn't a criticism of ocaml but an honest curiousity.

I've been studying Ocaml on and off for about three years now and although I'm
still very impressed with its power I still don't really feel like I understand
it very well.  I've also learned lisp, scheme, and python in the last few years
and, although Ocaml seems to me to be a more powerful language in many respects,
I feel that these other languages were much easier to learn.  This is partly due
to my inexperience with functional languages, I'm sure, but I don't think that
alone accounts for it.  

It feels to me to be more of an issue of the number of language features and
abstraction techniques each language offers.  The other languages seem to "fit
in my brain" better.  I have to admit that I find the conjunction of modules,
classes, variants, polymorphic variants, labels, references, streams etc. a bit
bewildering.  I find myself at a bit of a loss when starting a new program
because I have so many avenues of decomposition open to me.  I think I've
finally grasped the essentials well enough to write real programs in Ocaml, but
I can't say it's been easy.

I'm often tempted to push Ocaml as a solution for projects at work, but I
hesitate to advocate it too strongly because I honestly think Ocaml is beyond
the abilities of most of my colleagues.  I suspect only the brightest of the
programmers I've worked with will come to grips with both functional programming
and the large array of features Ocaml offers fast enough to justify the time
taken to retrain.

Of all the functional languages, Ocaml seems to me the most pragmatic and most
useful for everyday programming, but I wonder if it's within the grasp of the
everyday user.  I know a lot of fairly amateur C++ programmers who get by with a
small subset of the language, but it seems more difficult to limit oneself to a
small subset of Ocaml.

Have others had similar experiences?  I suspect most of the readers of this list
are better-than-average programmers.  How difficult have you found it to be to
teach Ocaml to your colleagues?  Any suggestions on a simple pedagogy for
bringing more junior people abreast of subjects as esoteric as polymorphic
recursive types?

-- 
miles
-------------------
To unsubscribe, mail caml-list-request@inria.fr.  Archives: http://caml.inria.fr


             reply	other threads:[~2001-06-06 16:50 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-06-06 16:50 Miles Egan [this message]
2001-06-06 17:30 ` Chris Hecker
2001-06-06 18:25 ` Charles Martin
2001-06-06 19:27   ` Michael Hicks
2001-06-06 21:15   ` David Fox
2001-06-07 12:25   ` FabienFleutot
2001-06-08  0:27   ` Miles Egan
2001-06-06 19:36 ` William Chesters
2001-06-06 19:55   ` John Max Skaller
2001-06-06 20:06     ` William Chesters
2001-06-07 16:30       ` John Max Skaller
2001-06-08  0:32   ` Miles Egan
2001-06-08  0:56     ` David Fox
2001-06-07  7:35 ` wester
2001-06-07 17:27   ` John Max Skaller
2001-06-07  8:58 leary
2001-06-07 18:29 ` Jonathan Coupe
2001-06-08  9:41   ` leary
2001-06-08 12:27     ` Jonathan Coupe
2001-06-08 20:22       ` Chris Hecker
2001-06-08 20:31         ` Miles Egan
2001-06-08 22:17           ` Jonathan Coupe
2001-06-08 22:18             ` Miles Egan
2001-06-11 14:05             ` Pierre Weis
2001-06-09 19:41           ` John Max Skaller
2001-06-08 22:59         ` David Fox
2001-06-09  0:43         ` leary
2001-06-09  1:09           ` Mark Wotton
2001-06-09  8:36           ` Markus Mottl
2001-06-09 20:58           ` John Max Skaller
2001-06-08 22:46       ` leary
2001-06-09  1:18         ` David Fox
2001-06-12 14:17           ` John Max Skaller
2001-06-13 15:21             ` Brian Rogoff
2001-06-13 20:32               ` leary
2001-06-13 22:58                 ` Johann Höchtl
2001-06-13 21:18               ` John Max Skaller
2001-06-09 22:32         ` Jonathan Coupe
2001-06-11  0:20           ` leary
2001-06-11 20:33 Arturo Borquez
2001-06-11 21:17 ` Miles Egan
2001-06-12  7:19   ` wester
2001-06-13 21:04 David Gurr
2001-06-13 23:13 ` leary
2001-06-13 23:19 ` Brian Rogoff
2001-06-15 13:28   ` Tore Lund
2001-06-15 14:03     ` Nils Goesche
2001-06-15 14:54       ` Xavier Leroy
2001-06-15 15:14         ` Jonathan Coupe
2001-06-15 15:23         ` Nils Goesche
2001-06-15 17:38         ` Sven LUTHER
2001-06-15 20:36           ` Remi VANICAT
2001-06-15 14:16     ` Doug Bagley
2001-06-28 12:54   ` Didier Remy
2001-06-28 18:31     ` Brian Rogoff
2001-06-14 16:04 John R Harrison

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=20010606095041.A93623@caddr.com \
    --to=miles@caddr.com \
    --cc=caml-list@inria.fr \
    /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).