caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Pierre Weis <pierre.weis@inria.fr>
To: warplayer@free.fr (Nicolas Cannasse)
Cc: graham_guttocks@yahoo.co.nz, caml-list@inria.fr
Subject: Re: [Caml-list] OCaml popularity
Date: Tue, 11 Mar 2003 11:23:48 +0100 (MET)	[thread overview]
Message-ID: <200303111023.LAA09578@pauillac.inria.fr> (raw)
In-Reply-To: <005d01c2e76f$92d0f8b0$2713f9ca@WARP> from Nicolas Cannasse at "Mar 11, 103 10:43:10 am"

[...]

To briefly answer your question: I think Caml is not so popular
because there were no big company or extremely important and
successful tool to advertize it all over the place (like Sun did for
Java or Unix for C). In short, Caml is more and more recognized as a
powerful and well-crafted language among expert programmers, but it is
almost unknown to the general audience.

> There is few beginnings of answers two your question :
> - some people are telling that you need a PhD to fully understand (and
> appreciate) OCaml . That's somehow exagerate, but not so much, since you
> need to know at least several programming languages to really understand how
> Ocaml is great compared to them :)

You're right: it seems that people need to suffer a lot by programming
(bugs) in C or Java before they really appreciate Objective Caml.

> - about the syntax, I had some experience of teaching Ocaml to some people,
> plus my own Ocaml-learning experience. The current syntax take some time to
> get, but is quite good and brief once you got it. But you have to really
> understand the underlying typing algorithm when you got a type error. I
> think this is perhaps the biggest problem with OCaml syntax right now :
> while C/Java will tell you " missing ';' " , Ocaml will simply said " Syntax
> Error ".

In this case, you should try camlp4 (ocamlc -pp camlp4o): it very
often gives a fairly good hint about the syntax error (although you
have to know something about the Caml AST to fully benefit from the
error report).

> The same goes for typing. Just make write few lines to a beginner,
> he will hit into something like " this expression has type unit -> string
> but is here used with 'a -> unit" ( quite an obvious error message for
> people here, but perhaps a little bit difficult to get when you don't know
> the language )

You are also right: this language has to be taught before being
profitably used. The darker side of this fact is that conversely, you
have to learn it. This may be the main drawback of Objective Caml:
there is no ``Objective Caml for dummies''. That may be the price to
pay to use a powerful and theoretically well-founded language.

As a long time Caml teacher, I used to start the course with a small
introductory speech that roughly goes like that: «you're smart guys,
all of you; today you are smart {\em and} lucky, since you get the
opportunity to learn the smartest programming language I know, so
smart that it could change your way of thinking about programs and
computers. Indeed, it will not be easy, but you will gain a lot of new
ideas from Caml and this is worth the effort!»

After such an introduction, some students are afraid and some are
enthousiastic; after a while, they all discover that this is plain
true: learning Caml is indeed profitable to the way you deal with
programming problems, but on the other hand, yes, it is not so easy !

Pierre Weis

INRIA, Projet Cristal, Pierre.Weis@inria.fr, http://pauillac.inria.fr/~weis/


-------------------
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-03-11 10:23 UTC|newest]

Thread overview: 103+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-06 23:27 Graham Guttocks
2003-03-10 20:43 ` Paul Steckler
2003-03-10 23:48 ` Gerd Stolpmann
2003-03-11  0:18   ` Brian Hurt
2003-03-17 23:49   ` Graham Guttocks
2003-03-11  1:43 ` Nicolas Cannasse
2003-03-11 10:23   ` Pierre Weis [this message]
2003-03-11 14:27     ` Guillaume Marceau
2003-03-11 16:16       ` David Brown
2003-03-11 16:47       ` [Caml-list] about -rectypes Christophe Raffalli
2003-03-12  2:32       ` [Caml-list] OCaml popularity Nicolas Cannasse
2003-03-12  3:55         ` Cross-platform GUI (was Re: [Caml-list] OCaml popularity) mgushee
2003-03-12 10:51         ` [Caml-list] OCaml popularity Alex Romadinoff
2003-03-12 18:24         ` Max Kirillov
2003-03-11 19:02     ` Graham Guttocks
2003-03-12 17:12       ` Richard W.M. Jones
2003-03-12 18:08         ` Alwyn Goodloe
2003-03-12 22:34           ` Michael Schuerig
2003-03-12 23:13             ` Martin Weber
2003-03-12 23:35               ` Michael Schuerig
2003-03-13  8:02                 ` Alessandro Baretta
2003-03-13 10:23                   ` Michael Schuerig
2003-03-12 23:35             ` Brian Hurt
2003-03-12 23:18         ` Daniel Bünzli
2003-03-12 23:47           ` Brian Hurt
2003-03-13  2:15         ` William Lovas
2003-03-13  3:44           ` Graham Guttocks
2003-03-13  9:31           ` Richard W.M. Jones
     [not found]           ` <20030313095232.GC347@first.in-berlin.de>
2003-03-13 20:50             ` William Lovas
2003-03-13 21:17               ` Oliver Bandel
2003-03-13 22:01                 ` Brian Hurt
2003-03-13 22:17                 ` Oliver Bandel
2003-03-14  6:33                 ` Michal Moskal
2003-03-14 11:50                   ` Markus Mottl
2003-03-14 15:38                     ` Oliver Bandel
2003-03-14 10:13               ` MikhailFedotov
2003-03-14 10:30                 ` Johann Spies
2003-03-13  8:09       ` Pierre Weis
2003-03-15  1:43     ` Tushar Samant
2003-03-15  8:19       ` Andreas Eder
2003-03-11 16:26   ` Fred Yankowski
2003-03-11 19:47     ` [Caml-list] OCaml popularity (long!) mgushee
2003-03-12 11:23       ` Diego Olivier Fernandez Pons
2003-03-30  5:59         ` Belated thanks (was Re: [Caml-list] OCaml popularity) Matt Gushee
2003-03-31 15:27           ` [Caml-list] Re: Belated thanks cashin
2003-04-01  8:22           ` Belated thanks (was Re: [Caml-list] OCaml popularity) Johann Spies
2003-03-12 20:41       ` [Caml-list] OCaml popularity (long!) Max Kirillov
2003-03-13  2:36         ` Haskell-like syntax (was: [Caml-list] OCaml popularity (long!)) Oleg
2003-03-13 18:33           ` [Caml-list] Re: Haskell-like syntax Max Kirillov
2003-03-14 19:30             ` Max Kirillov
2003-03-14 19:47               ` Max Kirillov
2003-03-14 20:01               ` Seth Kurtzberg
2003-03-14 20:34                 ` brogoff
2003-03-14 21:17                   ` Sebastien Carlier
2003-03-14 21:51                     ` brogoff
2003-03-15  2:27                 ` Max Kirillov
2003-03-15 10:58                   ` Markus Mottl
2003-03-15 15:52                     ` [Caml-list] globally valid symbols (was: Haskell-like syntax) Max Kirillov
2003-03-15 20:16                     ` [Caml-list] Re: Haskell-like syntax David Brown
2003-03-16  5:28                     ` Module recursion (Was Re: [Caml-list] Re: Haskell-like syntax) brogoff
2003-03-16 11:10                       ` Markus Mottl
2003-03-16 18:02                         ` brogoff
2003-03-16 18:34                           ` Markus Mottl
     [not found]                     ` <Pine.LNX.4.44.0303152112560.27230-100000@grace.speakeasy.n et>
2003-03-16  5:38                       ` Chris Hecker
2003-03-16 18:34                         ` brogoff
2003-03-17  2:20                           ` Jacques Garrigue
     [not found]                         ` <Pine.LNX.4.44.0303161020480.11736-100000@grace.speakeasy.n et>
2003-03-17  5:08                           ` Chris Hecker
2003-03-17 17:06                             ` brogoff
2003-03-17 19:01                               ` Ville-Pertti Keinonen
     [not found]                             ` <Pine.LNX.4.44.0303170836240.29039-100000@grace.speakeasy.n et>
2003-03-17 19:33                               ` Chris Hecker
2003-03-17 20:28                                 ` brogoff
     [not found]                                 ` <Pine.LNX.4.44.0303171145500.29039-100000@grace.speakeasy.n et>
2003-03-17 21:09                                   ` Chris Hecker
2003-03-19  2:34                                 ` [Caml-list] ocamlopt speed (was Re: Module recursion) Chris Hecker
2003-03-19 10:03                                   ` Michal Moskal
2003-03-19 10:38                                     ` Gerd Stolpmann
2003-03-19 20:36                                   ` Chris Hecker
2003-03-17  1:46                     ` [Caml-list] Re: Haskell-like syntax Nicolas Cannasse
2003-03-14 22:50               ` Oleg
2003-03-20 15:01                 ` Andreas Rossberg
2003-03-12 20:46       ` [Caml-list] Monads was OCaml popularity Christophe Raffalli
2003-03-13  0:03       ` [Caml-list] monads for dummies james woodyatt
2003-03-13  4:32         ` Christopher Quinn
2003-03-13 11:53         ` Christian Lindig
2003-03-12 18:59 ` [Caml-list] OCaml popularity Martin Weber
2003-03-12 20:24   ` Xavier Leroy
2003-03-13  8:57     ` [Caml-list] how to interface with integer Bigarrays using camlidl francois bereux
2003-03-13  9:36       ` Xavier Leroy
2003-03-13  0:42   ` [Caml-list] OCaml popularity Graham Guttocks
2003-03-12 17:40 isaac gouy
2003-03-12 23:53 [oliver: Re: [Caml-list] OCaml popularity] Oliver Bandel
2003-03-13  1:34 ` [Caml-list] OCaml popularity Michael Schuerig
2003-03-13  7:09 Daniel M. Albro
2003-03-13 16:48 ` Neel Krishnaswami
2003-03-13 21:29 ` Karl Zilles
2003-03-13 21:36   ` Daniel M. Albro
2003-03-13 21:42   ` Daniel M. Albro
     [not found]     ` <15985.1204.814698.939943@h00045a4799d6.ne.client2.attbi.com>
2003-03-14  5:49       ` Daniel M. Albro
2003-03-14  9:05         ` Ville-Pertti Keinonen
2003-03-14  9:13           ` Daniel M. Albro
2003-03-13 21:53   ` Brian Hurt
2003-03-13 14:39 [oliver: Re: [Caml-list] OCaml popularity] Oliver Bandel
2003-03-13 16:35 ` [Caml-list] OCaml popularity Michael Schuerig
2003-03-14 22:14 Daniel M. Albro
2003-03-15 16:27 Oliver Bandel
2003-03-15 17:55 ` Sergey Goldgaber

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=200303111023.LAA09578@pauillac.inria.fr \
    --to=pierre.weis@inria.fr \
    --cc=caml-list@inria.fr \
    --cc=graham_guttocks@yahoo.co.nz \
    --cc=warplayer@free.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).