From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.4 required=5.0 tests=SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 9A58FBC6B for ; Tue, 28 Aug 2007 00:58:10 +0200 (CEST) Received: from qb-out-0506.google.com (qb-out-0506.google.com [72.14.204.232]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l7RMw9Mq027369 for ; Tue, 28 Aug 2007 00:58:10 +0200 Received: by qb-out-0506.google.com with SMTP id a16so2125329qbd for ; Mon, 27 Aug 2007 15:58:09 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=BZqwyUHoCcxWYdSyYelqlPlfnxHwCTQOr9hJuvHevc3dgjrlsKiB2Xsg1ciyYBchta9qBgnCBNOgWiPiVspv/DATjpSHkPOlRs01lfSyeCp4dIlZn897xhq9s0oGRF59Rq4UChs/qh2XMAkDbencxe9OwtbBBr/5l+C2kpqA6+0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=hHyPacu9VDKy6B95zeqSlVOq3W/WJr980GTtrAMOVcBtL1mL2zh1J8zyzfvrFV4gHxbTN/Zz0UG5Hp2ZdOApa/uY8gQczLW9Wk52SsIHliK5J2s0BXrnN1sjVmN70hZstFNkPTn05ua6wzNBJuTbV3vGVWJkLWSvZ2ubwOGIm8c= Received: by 10.64.153.4 with SMTP id a4mr11809173qbe.1188255488866; Mon, 27 Aug 2007 15:58:08 -0700 (PDT) Received: by 10.35.71.16 with HTTP; Mon, 27 Aug 2007 15:58:08 -0700 (PDT) Message-ID: <666572260708271558g3961a7a1q69d80b2318f87ab2@mail.gmail.com> Date: Tue, 28 Aug 2007 00:58:08 +0200 From: Adrien To: "Oliver Bandel" Subject: Re: [Caml-list] On bashing the OCaml-car... Cc: caml-list@inria.fr In-Reply-To: <1188253790.46d3505e19c60@webmail.in-berlin.de> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <1188211279.46d2aa4f77e5b@webmail.in-berlin.de> <1188214938.13927.28.camel@rosella.wigram> <1188253790.46d3505e19c60@webmail.in-berlin.de> X-j-chkmail-Score: MSGID : 46D35701.001 on concorde : j-chkmail score : X : 0/20 1 0.000 -> 1 X-Miltered: at concorde with ID 46D35701.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocaml:01 syntax:01 ocaml:01 syntax:01 contrarily:01 haskell:01 pointers:01 caml-list:01 caml:02 parameter:02 functional:02 functional:02 mentionned:03 programming:03 programming:03 > > My point is simply that the OP is right: Ocaml has a rather > > convoluted and complex syntax that is hard to grasp. > > It has a steep learning curve, yes. > At least for non-FP-programmers. I have to say that French student in Mathematics are learning OCaml (in fact caml light but it is somehow ... the same). Of course there is the mathematical aspect but also that its syntax is simple and the rules are precise. That makes it easier to learn but as you mentionned, "At least for non-FP-programmers", though in fact I personnaly started with C but I'm not the only person out there. > > Many people think functional programming is hard to learn, > > contrarily, I think it is quite easy and takes about 1 hour, > > since any programmer already knows it (though perhaps not > > indepth techniques). When I first started using Ocaml I had > > no problem with the functional programming aspect .. it was the > > syntax I had problems with .. and clearly still do. > > I'm not quite sure, if it was the syntax also, > but as far as I remember, as FP was new to me, this > also was not so easy. I didn't found scheme much easier > to learn, even if the syntax was easier. > > But maybe I have a different view, coming from mostly C and Perl. > (But compared to Haskell, I found some aspects of OCaml much easier!) OCaml and FP in general is probably easy only for people with a mathematical background even if pointers and not being able to pass a function as a parameter just like one passes a value can actually slow courses as it needs more explanations. In fact I think I'll force some friends to follow an ocaml course by me to check that. =P And for the rest, I'd say I'm not qualified. =P