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 mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 222777EE63 for ; Wed, 29 May 2013 04:58:03 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of nanaki@gmail.com) identity=pra; client-ip=209.85.220.177; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="nanaki@gmail.com"; x-sender="nanaki@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of nanaki@gmail.com designates 209.85.220.177 as permitted sender) identity=mailfrom; client-ip=209.85.220.177; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="nanaki@gmail.com"; x-sender="nanaki@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-vc0-f177.google.com) identity=helo; client-ip=209.85.220.177; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="nanaki@gmail.com"; x-sender="postmaster@mail-vc0-f177.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AoIEAGRupVHRVdyxlWdsb2JhbABZgzmwFIlniDZ9CBYOAQEBAQcNCQkSKoIjAQEEAUABGxEBCwEDAQsGBQsNDRoHIgERAQUBCgERBhMSAodmAQMJBgydV4w/gn2EfgoZJwMKWId/AQUMjTyBSQQHg1QDiR+OHIEpjjIWKYJagXsc X-IPAS-Result: AoIEAGRupVHRVdyxlWdsb2JhbABZgzmwFIlniDZ9CBYOAQEBAQcNCQkSKoIjAQEEAUABGxEBCwEDAQsGBQsNDRoHIgERAQUBCgERBhMSAodmAQMJBgydV4w/gn2EfgoZJwMKWId/AQUMjTyBSQQHg1QDiR+OHIEpjjIWKYJagXsc X-IronPort-AV: E=Sophos;i="4.87,762,1363129200"; d="scan'208";a="16009209" Received: from mail-vc0-f177.google.com ([209.85.220.177]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 29 May 2013 04:57:48 +0200 Received: by mail-vc0-f177.google.com with SMTP id ib11so5989562vcb.22 for ; Tue, 28 May 2013 19:57:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=+/tDTZLD7Sxn6m8D7gGEGsusxRWAXcE98xIPuvect1o=; b=G5VWdJDl6yS65tlk7MDliPRW0ds7BpynXcl872IuSRruJLKVr37wOzHJk6/P/rkeJb TatubOQQOeM38Zj/GRimVxoMuZHIqMAP2EYfeiNnhFsMn+NuRwfuOrODFVHf4gsoN1O9 dIIR2PbpDil0ol6QFsa7wDeIXfex3Xl9OJFeuneuzD6O/Arz7tpdWFImPHlW4jt6MDbW 3F4ZbvoeJsUfHUWt02+F+toanrT/urFcH/vx/Q71gr3S0k7+etF6ZaDb4sMBj5HpGRhu vbkP046wGIiX3YkAPiQ7SWCEz/nMdjgLEBWWkSF2X+oeFCJbJVZOf5A0QoumqTJkq42o 7Cfg== MIME-Version: 1.0 X-Received: by 10.220.40.212 with SMTP id l20mr398588vce.29.1369796267682; Tue, 28 May 2013 19:57:47 -0700 (PDT) Received: by 10.58.25.4 with HTTP; Tue, 28 May 2013 19:57:47 -0700 (PDT) In-Reply-To: <51A56D4F.20003@riken.jp> 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> <51A56D4F.20003@riken.jp> Date: Tue, 28 May 2013 19:57:47 -0700 Message-ID: From: Jeff Meister To: Francois Berenger Cc: Caml List Content-Type: multipart/alternative; boundary=047d7b3a8f68f3356704ddd28bb1 Subject: Re: Problems to get larger user base ... (Re: [Caml-list] OCaml's variables) --047d7b3a8f68f3356704ddd28bb1 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable This is great! I never played with it myself, but now that I'm looking at it, I really like it. I've been looking for a place to direct someone who wants to learn, and this looks like the one! :) On Tue, May 28, 2013 at 7:51 PM, Francois Berenger wrote: > On 05/29/2013 11:39 AM, Jeff Meister wrote: > >> I hesitate to recommend Part I of the OCaml Manual as an introduction >> for new users because it is so terse and dense. It describes the core >> language on a single HTML page. Powerful features of great consequence >> are covered rapidly. For example, variant types are relegated to a >> single section with only three example types. >> >> I do not mean to complain about the OCaml Manual; its succinctness is a >> virtue. It assumes I am competent and does not waste my time. Nearly >> every sentence in Part I conveys vital information and should be read >> carefully. But people are not used to engaging with tutorials in this >> manner. They expect motivation (explanation of the reasoning behind >> various features) and hand-holding, which they can skip over or consult >> depending on their level of understanding. Ideally, they want to see an >> example that does something similar to whatever they're currently >> working on. >> >> Most people actively involved in the OCaml community right now have >> either read the language reference (i.e., Part II) or are capable of >> doing so if they wanted to. Many of them have substantial background in >> programming language theory. But the majority of programmers cannot >> learn the language in this way. I think appealing to them requires a >> more didactic method. >> > > Maybe this one then: > > http://try.ocamlpro.com/ > > ;) > > On Mon, May 27, 2013 at 8:40 PM, Francois Berenger > > wrote: >> >> On 05/28/2013 11:44 AM, oliver wrote: >> >> On Tue, May 28, 2013 at 10:17:04AM +0900, Francois Berenger wrot= e: >> >> 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. ;) >> >> >> 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 ther= e, >> 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=92s manual" >> at >> http://caml.inria.fr/pub/docs/**__manual-ocaml/ >> >> >> > >> is enough for a start. >> >> I think you can even skip the Objects chapter in there. >> And that's only pages 9 to 33 in the PDF version of the document. >> >> Regards, >> F. >> >> >> -- >> Caml-list mailing list. Subscription management and archives: >> https://sympa.inria.fr/sympa/_**_arc/caml-list >> >> > >> Beginner's list: http://groups.yahoo.com/group/**__ocaml_beginners >> >> > >> Bug reports: http://caml.inria.fr/bin/caml-**__bugs >> >> > >> >> >> > --047d7b3a8f68f3356704ddd28bb1 Content-Type: text/html; charset=windows-1252 Content-Transfer-Encoding: quoted-printable
This is great! I never played with it myself, but now that= I'm looking at it, I really like it. I've been looking for a place= to direct someone who wants to learn, and this looks like the one! :)


On Tue,= May 28, 2013 at 7:51 PM, Francois Berenger <berenger@riken.jp> wrote:
On 05/29/2013 11:39 AM, Je= ff Meister wrote:
I hesitate to recommend Part I of the OCaml Manual as an introduction
for new users because it is so terse and dense. It describes the core
language on a single HTML page. Powerful features of great consequence
are covered rapidly. For example, variant types are relegated to a
single section with only three example types.

I do not mean to complain about the OCaml Manual; its succinctness is a
virtue. It assumes I am competent and does not waste my time. Nearly
every sentence in Part I conveys vital information and should be read
carefully. But people are not used to engaging with tutorials in this
manner. They expect motivation (explanation of the reasoning behind
various features) and hand-holding, which they can skip over or consult
depending on their level of understanding. Ideally, they want to see an
example that does something similar to whatever they're currently
working on.

Most people actively involved in the OCaml community right now have
either read the language reference (i.e., Part II) or are capable of
doing so if they wanted to. Many of them have substantial background in
programming language theory. But the majority of programmers cannot
learn the language in this way. I think appealing to them requires a
more didactic method.

Maybe this one then:

http://try.ocamlpro.= com/

;)

On Mon, May 27, 2013 at 8:40 PM, Francois Berenger <berenger@riken.jp
<mailto:berenger@= riken.jp>> wrote:

=A0 =A0 On 05/28/2013 11:44 AM, oliver wrote:

=A0 =A0 =A0 =A0 On Tue, May 28, 2013 at 10:17:04AM +0900, Francois Berenger= wrote:

=A0 =A0 =A0 =A0 =A0 =A0 On 05/27/2013 09:38 PM, Mr. Herr wrote:


=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Am 27.05.2013 10 <tel:27.05.2013%2010&= gt;:53, schrieb Erik

=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 de Castro Lopo:

=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Mr. Herr wrote:

=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 I think the biggest problem= is you generally can
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 only learn FP and/or Ocaml = at
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 university, because:

=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 The FP terminology is at fi= rst (and a long time
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 after starting learning it)= , without
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 a teacher, not understandab= le.

=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Sorry, that's simply not true.<= br>
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 I studied my last univeristy course= in 1992. I
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 picked up Ocaml in 2004
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 and Haskell in 2008. Before Ocaml, = the only
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 functional language I had
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 used was scheme in the late 1980s.<= br>

=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Scheme is terribly functional, so to say, a= nd is
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 absolutely immerged in the Lispy slang.
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 All your knowlegde in C, Java, PHP, Assembl= er, Tcl/Tk,
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Pascal ... will not help you
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 there.

=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 I started as an IBM /370 Systems Admin in t= he late
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 nineties, and it took me months of
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 reading in 2012
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 to get some understanding about what the he= ck the scheme
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 people are talking about.

=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 Scheme is even a better example for the pro= blems non
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 university learners encounter,
=A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 than Ocaml, IMO.


=A0 =A0 =A0 =A0 =A0 =A0 A very good book on scheme (which is also quite a d= eep
=A0 =A0 =A0 =A0 =A0 =A0 introduction
=A0 =A0 =A0 =A0 =A0 =A0 to computer science if you read the whole thing in = fact):

=A0 =A0 =A0 =A0 =A0 =A0 "structure and interpretation of computer prog= rams"

=A0 =A0 =A0 =A0 =A0 =A0 http://mitpress.mit.edu/sicp/__fu= ll-text/book/book.html

=A0 =A0 =A0 =A0 =A0 =A0 <http://mitpress.mit.edu/sicp/fu= ll-text/book/book.html>

=A0 =A0 =A0 =A0 [...]

=A0 =A0 =A0 =A0 As language introduction it is too much text.
=A0 =A0 =A0 =A0 It is meant as introduction to computer science.


=A0 =A0 But what an introduction. ;)


=A0 =A0 =A0 =A0 AFAIK scheme was developed for this task.

=A0 =A0 =A0 =A0 The scheme standard is not so hard to read, and it has only= 50
=A0 =A0 =A0 =A0 pages.
=A0 =A0 =A0 =A0 Thats IMHO better if someone looks for a introduction to th= e
=A0 =A0 =A0 =A0 language
=A0 =A0 =A0 =A0 only.

=A0 =A0 =A0 =A0 For comparison: OCaml ref-man: 554 pages and IMHO not a goo= d
=A0 =A0 =A0 =A0 starting
=A0 =A0 =A0 =A0 point. IMHO better are some of the introductional books out= there,
=A0 =A0 =A0 =A0 e.g. OCaml-Ora-book and jason Hickeys book.
=A0 =A0 =A0 =A0 After that then the Refman.


=A0 =A0 Honestly, I think "Part I An introduction to OCaml"
=A0 =A0 from "The OCaml system release 4.00
=A0 =A0 Documentation and user=92s manual"
=A0 =A0 at
=A0 =A0 http://caml.inria.fr/pub/docs/__manual-ocaml/

=A0 =A0 <http://caml.inria.fr/pub/docs/manual-ocaml/>
=A0 =A0 is enough for a start.

=A0 =A0 I think you can even skip the Objects chapter in there.
=A0 =A0 And that's only pages 9 to 33 in the PDF version of the documen= t.

=A0 =A0 Regards,
=A0 =A0 F.


=A0 =A0 --
=A0 =A0 Caml-list mailing list. =A0Subscription management and archives:
=A0 =A0 https://sympa.inria.fr/sympa/__arc/caml-list
=A0 =A0 <https://sympa.inria.fr/sympa/arc/caml-list>
=A0 =A0 Beginner's list: http://groups.yahoo.com/group/__ocam= l_beginners
=A0 =A0 <http://groups.yahoo.com/group/ocaml_beginners> =A0 =A0 Bug reports: http://caml.inria.fr/bin/caml-__bugs
=A0 =A0 <http://caml.inria.fr/bin/caml-bugs>




--047d7b3a8f68f3356704ddd28bb1--