From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 697AA7EE51 for ; Tue, 28 May 2013 14:36:23 +0200 (CEST) Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of oliver@first.in-berlin.de) identity=pra; client-ip=192.109.42.8; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="oliver@first.in-berlin.de"; x-sender="oliver@first.in-berlin.de"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of oliver@first.in-berlin.de) identity=mailfrom; client-ip=192.109.42.8; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="oliver@first.in-berlin.de"; x-sender="oliver@first.in-berlin.de"; x-conformance=sidf_compatible Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@einhorn.in-berlin.de) identity=helo; client-ip=192.109.42.8; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="oliver@first.in-berlin.de"; x-sender="postmaster@einhorn.in-berlin.de"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsICAOejpFHAbSoIlGdsb2JhbABZgziDO7kyhSEEAYEEFg4BAQEBBw0JCRQEJIIjAQEFIw8BOgwQCwkPAgIFIQICDwUYMYggBAiqepEBFoEQjCo2gRcHgkEyYQOPB4gzgSqTKA X-IPAS-Result: AsICAOejpFHAbSoIlGdsb2JhbABZgziDO7kyhSEEAYEEFg4BAQEBBw0JCRQEJIIjAQEFIw8BOgwQCwkPAgIFIQICDwUYMYggBAiqepEBFoEQjCo2gRcHgkEyYQOPB4gzgSqTKA X-IronPort-AV: E=Sophos;i="4.87,758,1363129200"; d="scan'208";a="19293548" Received: from einhorn.in-berlin.de ([192.109.42.8]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 28 May 2013 14:36:22 +0200 X-Envelope-From: oliver@first.in-berlin.de Received: from first (e178003162.adsl.alicedsl.de [85.178.3.162]) (authenticated bits=0) by einhorn.in-berlin.de (8.13.6/8.13.6/Debian-1) with ESMTP id r4SCaLWn020861 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 28 May 2013 14:36:21 +0200 Received: by first (Postfix, from userid 1000) id C0259154066B; Tue, 28 May 2013 14:36:20 +0200 (CEST) Date: Tue, 28 May 2013 14:36:20 +0200 From: oliver To: Francois Berenger Cc: caml-list@inria.fr Message-ID: <20130528123620.GA2013@siouxsie> References: <20130523235355.GI6510@siouxsie> <20130526150008.GA2014@siouxsie> <20130526234911.41866xca7wgoirfb@webmail.in-berlin.de> <51A30E01.5070300@freenet.de> <20130527185345.e01a7733ac652f89f4e400f7@mega-nerd.com> <51A353BE.5030009@freenet.de> <51A40590.4090501@riken.jp> <20130528024413.GA4602@siouxsie> <51A4272F.8050803@riken.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <51A4272F.8050803@riken.jp> User-Agent: Mutt/1.5.20 (2009-06-14) X-Scanned-By: MIMEDefang_at_IN-Berlin_e.V. on 192.109.42.8 Subject: Re: Problems to get larger user base ... (Re: [Caml-list] OCaml's variables) On Tue, May 28, 2013 at 12:40:31PM +0900, Francois Berenger wrote: > On 05/28/2013 11:44 AM, oliver wrote: > >On Tue, May 28, 2013 at 10:17:04AM +0900, Francois Berenger wrote: > >>On 05/27/2013 09:38 PM, Mr. Herr wrote: > >>> > >>>Am 27.05.2013 10:53, schrieb Erik de Castro Lopo: > >>>>Mr. Herr wrote: > >>>>>I think the biggest problem is you generally can only learn FP and/or Ocaml at > >>>>>university, because: > >>>>> > >>>>>The FP terminology is at first (and a long time after starting learning it), without > >>>>>a teacher, not understandable. > >>>>Sorry, that's simply not true. > >>>> > >>>>I studied my last univeristy course in 1992. I picked up Ocaml in 2004 > >>>>and Haskell in 2008. Before Ocaml, the only functional language I had > >>>>used was scheme in the late 1980s. > >>>> > >>> > >>>Scheme is terribly functional, so to say, and is absolutely immerged in the Lispy slang. > >>>All your knowlegde in C, Java, PHP, Assembler, Tcl/Tk, Pascal ... will not help you > >>>there. > >>> > >>>I started as an IBM /370 Systems Admin in the late nineties, and it took me months of > >>>reading in 2012 > >>>to get some understanding about what the heck the scheme people are talking about. > >>> > >>>Scheme is even a better example for the problems non university learners encounter, > >>>than Ocaml, IMO. > >> > >>A very good book on scheme (which is also quite a deep introduction > >>to computer science if you read the whole thing in fact): > >> > >>"structure and interpretation of computer programs" > >> > >>http://mitpress.mit.edu/sicp/full-text/book/book.html > >[...] > > > >As language introduction it is too much text. > >It is meant as introduction to computer science. > > But what an introduction. ;) You really seem to like it ;-) > > >AFAIK scheme was developed for this task. > > > >The scheme standard is not so hard to read, and it has only 50 pages. > >Thats IMHO better if someone looks for a introduction to the language > >only. > > > >For comparison: OCaml ref-man: 554 pages and IMHO not a good starting > >point. IMHO better are some of the introductional books out there, > >e.g. OCaml-Ora-book and jason Hickeys book. > >After that then the Refman. > > Honestly, I think "Part I An introduction to OCaml" > from "The OCaml system release 4.00 > Documentation and user’s manual" > at > http://caml.inria.fr/pub/docs/manual-ocaml/ > is enough for a start. Possibly yes, not sure. At least it makes it easier to start. I was very happy about the books I mentioned, when starting with OCaml. (Don't rmember, if the introduction in the reference manual was there in early days also, or if it was added after I first looked at OCaml. But the concepts were explained good in the OCaml-ora book, which was the first(?) I read on OCaml, I think.) The point I liked in Jason Hickeys book was, that it covers printing of data, even only in a later chapter. And for me input/output was more clearly explained there than in e.g. the OCaml-Ora-book. For academics input/output might be not necessary ;-) because it's enough to see the functionality is proven by the toplevel; but for people who want to see results early and do some real-world programming for exploration and self-motivation ("it works!"), it's necessary to have input/output soon. E.g. doing some stuff in OCaml, that already is done in bash or Perl is a good way of self selected examples to learn a new language. "How would it look like in OCaml?" "Does it really bring advantages to switch to OCaml?" "OCaml seems to be good for big projects, but for scripting small tools maybe too much effort to get something that works." Were some questions I had. And the answer for the third question was for a long time: "No, OCaml is only good for big projects." It took a while to also use it for smaller tasks. One reason was, to become used to the language, another was, to find libraries like ocaml-pcre, that also would allow to do perlish tasks... If the goal is to attract more people to OCaml, it should be done easy to solve real-world tasks even as beginner. So, input/output must be mentioned early and libs like Str and pcre-ocaml should be mentioned early also, and examples should be shown. I also had the goal to attract people to OCaml, years ago. Today it's not necessary to me to have more OCaml-prorammers around me. I use OCaml for my own stuff, and if the jobs affords C, Perl, Python, I possibly will mention OCaml, but don't dream about decision makers really to adopt it. I stopped dreaming about this issue. Ciao, Oliver