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 84AA67EE51 for ; Tue, 28 May 2013 14:51:11 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.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=mail3-smtp-sop.national.inria.fr; envelope-from="oliver@first.in-berlin.de"; x-sender="oliver@first.in-berlin.de"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.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=mail3-smtp-sop.national.inria.fr; envelope-from="oliver@first.in-berlin.de"; x-sender="oliver@first.in-berlin.de"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.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=mail3-smtp-sop.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: AsICAHWnpFHAbSoIlGdsb2JhbABZgziDO7kyhSEEAYEEFg4BAQEBBw0JCRQEJIIjAQEFIw8BRhALCQUKAgIFIQICDwUYMROIDQQIqnmRABaBEIxggRcHgkEyYQOPB4gzgSqTKA X-IPAS-Result: AsICAHWnpFHAbSoIlGdsb2JhbABZgziDO7kyhSEEAYEEFg4BAQEBBw0JCRQEJIIjAQEFIw8BRhALCQUKAgIFIQICDwUYMROIDQQIqnmRABaBEIxggRcHgkEyYQOPB4gzgSqTKA X-IronPort-AV: E=Sophos;i="4.87,758,1363129200"; d="scan'208";a="15944286" Received: from einhorn.in-berlin.de ([192.109.42.8]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-SHA; 28 May 2013 14:51:10 +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 r4SCp7Ek023046 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 28 May 2013 14:51:07 +0200 Received: by first (Postfix, from userid 1000) id 5390C154066B; Tue, 28 May 2013 14:51:06 +0200 (CEST) Date: Tue, 28 May 2013 14:51:07 +0200 From: oliver To: Norman Hardy Cc: caml-list@inria.fr Message-ID: <20130528125107.GB2013@siouxsie> References: <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> <3F58D7F7-8CD1-4469-82E0-BAEBFEA18DF2@cap-lore.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <3F58D7F7-8CD1-4469-82E0-BAEBFEA18DF2@cap-lore.com> 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 Mon, May 27, 2013 at 09:05:22PM -0700, Norman Hardy wrote: > > On 2013 May 27, at 20:40 , Francois Berenger wrote: > > > 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. > > Very good indeed; it sufficed for me to write several useful programs > > > 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. > > Agreed again; I am not sure of fundamental advantages of objects that you can't get from GADTs. [...] GADTs are in OCaml and Haskell. If people that are used to imperative languages only are the audience to get a larger user base (not only to get some Haskell programmers to use OCaml), then GADTs are no argument, because people don't know it. When talking about OCaml and mention the excellent type system, people answer to me, that Java also has a good type system and Python allows duck typing, so they see no advantage in OCaml. And when talking about abstract datatypes, those people say, Java also has them. Just some weeks ago I again talked to someone who now switched to Haskell and was able to convince his boss to use it even at the job for his own tools and as language for prototyping (porting to Java then later). He was so extremely happy to see how algebraic data types and pattern matching can be used together. When I explained this to him, years ago, he said, that Java will have abstract datatypes and a strong type system, so why switch to e.g. OCaml? Even showing examples at the toplevel were not convincing him at that time. Today he has a very different opinion on Java ;-) The problem seems to be, that certain aspects of the language are not obvious to people, even they did have a lot of programming experience. It's not that they are stupid. They just don't see the advantages... and I have no clue why. Possibly, because sometimes the terms in use (like "abstract datatypes") are used for other languages also. And the new C++ standard has more and more functional possibilities... ..so why should a C++ programmer switch to OCaml? Ciao, Oliver