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 554647FE44 for ; Fri, 8 Jul 2016 18:26:21 +0200 (CEST) IronPort-PHdr: 9a23:8OuyvhEy0rnYz101BR2qIZ1GYnF86YWxBRYc798ds5kLTJ75rs+wAkXT6L1XgUPTWs2DsrQf2rKQ6PirCDBIyK3CmUhKSIZLWR4BhJdetC0bK+nBN3fGKuX3ZTcxBsVIWQwt1Xi6NU9IBJS2PAWK8TWM5DIfUi/yKRBybrysXNWD14Lsj6vjp9X6WEZhvHKFe7R8LRG7/036l/I9ps9cEJs30QbDuXBSeu5blitCLFOXmAvgtI/rpMYwuwwZgf8q9tZBXKPmZOx4COUAVHV1BVso/9XmvgXvSg6G531UEjlH00kAPw+Q1hbwU43ttWPWt6JW3zKfOoWiV7c+VC6+6I9nSRTvkyIAcTkj/zeEpNZ3ifdqpw6oolRVypTSZ5DdYOt5YqrYd9oAQ21QdslUXi1FRIi7at1cXKI6Ie9Eotyl9BM1phykCFzpWbri Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=yotambarnoy@gmail.com; spf=Pass smtp.mailfrom=yotambarnoy@gmail.com; spf=None smtp.helo=postmaster@mail-yw0-f175.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of yotambarnoy@gmail.com) identity=pra; client-ip=209.85.161.175; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yotambarnoy@gmail.com"; x-sender="yotambarnoy@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of yotambarnoy@gmail.com designates 209.85.161.175 as permitted sender) identity=mailfrom; client-ip=209.85.161.175; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yotambarnoy@gmail.com"; x-sender="yotambarnoy@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-yw0-f175.google.com) identity=helo; client-ip=209.85.161.175; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="yotambarnoy@gmail.com"; x-sender="postmaster@mail-yw0-f175.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0CkAgD50n9Xf6+hVdFbhBQtSQYGp1yJRIlpIoI/gzcCgSEHPBABAQEBAQEBAREBAQkLCwkfMYIyghsBBRIRHQEUBxILAQMMBgULDQICCR0CAiEBAREBBQEKBAENBhMSAg6HcwEDFwkFoQaBMT4xizuBaoJaBYVzChknAwpSg0kBAQEBAQEBAwEBAQEBAQEBARYCBhBxhSaDSoEDgkOBfoMBgloFhlIMgTyFaopcNIUjaYJ6gzWCFIFqToIwgVqIaogaAhWGHhIegQ81gigcgWggMgGJMQEBAQ X-IPAS-Result: A0CkAgD50n9Xf6+hVdFbhBQtSQYGp1yJRIlpIoI/gzcCgSEHPBABAQEBAQEBAREBAQkLCwkfMYIyghsBBRIRHQEUBxILAQMMBgULDQICCR0CAiEBAREBBQEKBAENBhMSAg6HcwEDFwkFoQaBMT4xizuBaoJaBYVzChknAwpSg0kBAQEBAQEBAwEBAQEBAQEBARYCBhBxhSaDSoEDgkOBfoMBgloFhlIMgTyFaopcNIUjaYJ6gzWCFIFqToIwgVqIaogaAhWGHhIegQ81gigcgWggMgGJMQEBAQ X-IronPort-AV: E=Sophos;i="5.28,330,1464645600"; d="scan'208";a="226111130" Received: from mail-yw0-f175.google.com ([209.85.161.175]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 08 Jul 2016 18:26:19 +0200 Received: by mail-yw0-f175.google.com with SMTP id j17so40581307ywg.0 for ; Fri, 08 Jul 2016 09:26:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=nnrSGGJd7OqEnppYQBKp1A+28M34rf1TocRqgBhanYo=; b=EImzYs7qxyZ+R+lnJeTSiYulEE3pzefmTvo8wx7j8hKN4vN7xSRscSIktJm+R6wSdJ XX5Rs1vEosTD75gQELxsoq1w5TkEsMiBUqP2L0+mbqGIYL9lygOs0bz6O0ON7+xpDxvj TlVgheNNjpWCoAvRJXOB9/kYj9ZuLB8ewE0dDIwBXMdLF9mqDmlRnQhouXIYDxxsduEN c6qFSWmjhXBbpeJUhqhP7/eOQmJQel5wpg2O0DxarcmrQexINeHxFdiuQMw9qifPKcol 2aVD+hJOI6f2TmjBRLil5TvQEL75qNli9L6mQKF/DUnAhUy5zhDXzMu53BrrSSPYYOZ9 zkKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=nnrSGGJd7OqEnppYQBKp1A+28M34rf1TocRqgBhanYo=; b=FxwlypCgvE+ktwBGihWz72f8Q+5gj73QmyoiAMHdKUrSvv8whmCXw2g2rgcvU1MWBB j72V7LOuXPiZuWKmZnx0fvkVg4DAIrSqFpEp1tdMrqK8eWih6ZIEruRUIYvddMkAUG07 q7ubIEKnxmciszYRtOvhFdQr3bOJ4IkZ0LEzMQLo21umKKa733BWjZPllAr1Wa5mVBVE rBaed7Gw7Zx5Ixxj49mGuGzL8NpQ6sB295VAj3mRsQ62kpF47RX6aRZNJisjcNvzvO7B VD45Iac9cEuFEi9gRJxWanj/p2JSL/QI6/kK+SYzXHwKeaG1xydQdrW+ZfFgi+L1/7/U kVlA== X-Gm-Message-State: ALyK8tLXt7fDHbu6pYM/6GV1v0DP0CdtcKb8vIczmeWIB9S1FppEglj+rhRvQRCIuYl1/7PgNd0DrmScbiM2Qw== X-Received: by 10.37.200.68 with SMTP id y65mr5004452ybf.116.1467995177622; Fri, 08 Jul 2016 09:26:17 -0700 (PDT) MIME-Version: 1.0 Received: by 10.37.115.66 with HTTP; Fri, 8 Jul 2016 09:25:58 -0700 (PDT) In-Reply-To: <20160708153309.GC11491@traveler> References: <20160704144512.GB2458@Razor> <20160708153309.GC11491@traveler> From: Yotam Barnoy Date: Fri, 8 Jul 2016 12:25:58 -0400 Message-ID: To: Roberto Di Cosmo Cc: "caml-list@inria.fr" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Caml-list] how to encourage adoption of OCaml? Roberto, you make a good point, but I'd like to make the counterpoint that what you call 'image' is almost as important as, if not even more important, than what you call 'substance'. Many great programming languages never made it out of the labs in which they were conceived. Other languages thrived and then died. Creating a language involves much more than having good core ideas -- community and tooling determines whether the language will actually succeed. The language itself is the DNA, but the environment (community, ecosystem, tooling) determines all else. Duane points out that the tooling that is visible to the outside world is old, and he's right. Remember that people on this list expressed great reluctance towards moving the OCaml codebase to github, even though to those of us who experienced the order-of-magnitude improvements of github over everything that preceded it, the advantages were obvious. There's a tendency for programmers to get 'old fogey syndrome' with respect to technologies that came out later than the ones they use in their day-to-day lives. This is similar, I think, to people not liking music that came out after the music from their own generation. The reality is that tooling improves consistently, and generally speaking an old tool will not be as good as a newer one that builds on experience from the older one. The main exceptions to this rule that come to mind are when old tools took unique approaches that were later deemed too revolutionary or niche to be built upon (mainly vim and emacs, though I'm sure people can think of others). It would be really nice for the mailing list to use the new ocaml.org domain, which should be the outward face of OCaml. Additionally, I think an official gitter.im page should be considered. Many people are afraid to express their every thought and question on the mailing list for fear of backlash or that they will be thought to be spamming (a very realistic assessment, I may add). Users are much more likely to communicate in a realtime chat environment like gitter. IRC is simply incompatible with today's world -- many people cannot access IRC from work, the logs aren't easily available etc as stated by Duane. As an additional idea, the neovim project was able to create a bridge between its IRC channel and its gitter.im page (https://gitter.im/neovim/neovim). Of course, the deeper tooling issues are with things like the build system. It's remarkable how easy it is in a language like Rust to build a project and pull down its dependencies. Of course Rust is a newcomer, which allowed it to avoid all the legacy issues we're suffering from. It's extremely unfortunate that we ended up with so many different build systems, not to mention multiple standard libraries. -Yotam On Fri, Jul 8, 2016 at 11:33 AM, Roberto Di Cosmo wro= te: > Hi Duane, > thanks for your message: I found it is a very interesting outsider's p= oint of view. > > I would just like to remark that what you point out is more along an "ima= ge" > dimension, than a "substance" one. > > The world is full of exciting "modern" programming languages that change = syntax > and semantics every couple of months, or that force you to write zillions= of > "modern" unit tests just to make sure you did not mix integers with strin= gs, > while in the ML (and OCaml world) we just keep writing safe and elegant c= ode > since the 1980's. > > If you scratch a bit the surface, it's easy to see that a lof of the "new" > exciting technology around is actually "has been", while the "old" techno= logy > underlying OCaml is actually "revolutionary". > > If you share this point of view, please come along and lend a hand, help > us become more fashionable, and help OCaml get an "image" that better > correspond to its great "substance" > > Cheers > > -- > Roberto > > P.S.: by the way, it's inria.fr, not infria.fr, or, in old technology > terms, s/infria/inria/g :-) > > On Fri, Jul 08, 2016 at 09:16:09AM -0600, Duane Johnson wrote: >> >> On Fri, Jul 8, 2016 at 8:40 AM, Gabriel Scherer >> wrote: >> >> Adoption is interesting but, as Tony Hoare put it, we are not fashion >> designers. The best thing I can think of is to communicate more and = better, >> talk about the cool world that is being done in the OCaml communitie= s, and >> importantly talking about it outside it. Supporting software project= s that >> have a potential for impact outside the OCaml community is also key = -- Coq, >> MLdonkey, Coccinelle, Flow, the SLAM static verifier toolkit, just t= o name >> a few. >> >> >> >> As someone who just signed up to this mailing list, may I offer some >> observations? >> >> - my first impression of OCaml community was through reddit.com/r/ocaml.= As a >> reddit user, I would rank /r/ocaml as "barely alive but stable"--in other >> words, the upvotes-per-thread there are in the single digits and low >> double-digits showing people exist there, but it is not a thriving commu= nity. >> - next, I tried to find a google group. It was hard to find any substant= ial and >> popular OCaml groups there. There was an OCaml aggregation list, but it = wasn't >> clear that it was a discussion group. My first thought was, Is there no = mailing >> list? I searched around and found the infria.fr domain. To an outsider, = this >> lends no credibility or brand-name familiarity. Not only is the web doma= in >> unfamiliar, but the website does not look welcoming--it appears to be ou= t of >> the 90s. >> - signing up for a mailing list is slow and unrewarding. I'd much rather= sign >> up for a more modern community technology like reddit, facebook, slack, = or >> google groups. >> - I clicked "Info" to get more info about the mailing list on infria.fr = and it >> says "Private information" inside a white bubble. Ok... >> - I looked for a chat community, and IRC is the only option. This signal= s "old >> tech community" to me. Slack or gitter.im is a more inclusive, modern >> community. In order to participate in IRC, one must always be connected.= This >> makes it more difficult for outsiders to come in and feel like they can = 'catch >> up' on the conversation (Yes, I know there are chat logs, but this featu= re is >> not an integrated part of IRC). >> >> In summary, all of the signals that I usually depend on to evaluate the >> community around a technology are either weak or give me the impression = of "old >> and barely stable". New, exciting technologies that I've seen tend to em= brace >> and tap in to existing community platforms (slack, reddit, github, gitbo= ok, >> google groups) in order to leverage the platform and amplify their adver= tising >> signal. >> >> Duane Johnson >> >> >> On Fri, Jul 8, 2016 at 8:40 AM, Gabriel Scherer >> wrote: >> >> > Do others on this list feel the ramp to OCaml adoption is smoother= than >> my impression suggests? >> >> I can't speak for "adoption", but I think that you have been very ki= nd as >> far as user experience is concerned, that it is probably worse than = you >> suggest. >> >> We discussed some of these issues a few month ago in a thread launch= ed by >> Hendrik Bloom: >> >> Is OCaml for experienced beginners? >> Hendrik Bloom, December 2015 >> https://sympa.inria.fr/sympa/arc/caml-list/2015-12/msg00077.html >> >> I gave a few remarks on the evolution of the OCaml ecosystem on the = period >> I know of that you may be interested in: >> https://sympa.inria.fr/sympa/arc/caml-list/2015-12/msg00110.html >> >> I think "adoption" and "usability" are interlinked but separate issu= es. >> >> Getting adoption distributes the number of people interesting in hel= ping on >> usability, so it tends to improve usability, but I tend to think tha= t the >> second is actually the more interesting, important goal to aim at. >> >> Adoption is interesting but, as Tony Hoare put it, we are not fashion >> designers. The best thing I can think of is to communicate more and = better, >> talk about the cool world that is being done in the OCaml communitie= s, and >> importantly talking about it outside it. Supporting software project= s that >> have a potential for impact outside the OCaml community is also key = -- Coq, >> MLdonkey, Coccinelle, Flow, the SLAM static verifier toolkit, just t= o name >> a few. >> >> Regarding usability, I think the tooling ecosystem is too complex to= day. If >> I wanted to bootstrap a beginner to do stuff I would have to tell th= em >> about the OCaml compiler tools (ocamlc, ocamlopt), ocamlfind, a build >> system (omake or ocamlbuild for example), oasis, Merlin, opam, and g= et them >> to learn either Vim or Emacs. That's a bit too much and even with the >> plethora of tools there are problems we haven't really solved yet --= for >> example, how to avoid module name conflicts. >> I think a lot more work is required, both incremental improvements a= nd a >> few grand redesigns, before we reach a comfortable ecosystem where s= tarting >> an OCaml project feels like a breeze. That's what I would aim at. >> >> >> Who here is excited about making OCaml approachable to newcomers= ? Where >> is the main ongoing work on this? Who are the main leaders from = this >> perspective? >> >> >> This is an interesting question. To my knowledge, no one is specific= ally >> focused on this mightily important question. But it's fair to assume= that >> we have no "usability team" today, it's more a distributed collectio= n of >> efforts going in all directions from various people, for example: >> >> - Gerd Stolpmann did a lot of work on the early language tooling, no= tably >> GODI (an earlier ocaml-specific package manager) and ocamlfind, and = also >> kept very high documentation standards that are an example to follow. >> >> - Sylvain le Gall's work on OASIS helps a lot of developers do their >> packaging by encapsulating, in particular, the knowledge of what to = install >> where (not a simple question). >> >> - The OPAM team as a whole, as well as the maintainers of the public= opam >> repository, have done tremendous work making OCaml software easy to = install >> and deploy. (Windows is still of a sore point, but there is progress= in >> that area. It's a distinct possibility that the OCaml ecosystem will= become >> nice to use on Windows before Windows disappears or gets a real Unix >> userland.) >> >> I would personally be interested in helping someone with a holistic >> approach to usability devote as much of their time as they can. (I t= hink >> there are some sources of funding that could be considered, but noth= ing >> very certain; from a crowd-funding perspective I would be glad to pa= y =E2=82=AC30 >> a month to fund such a position.) I think this is a difficult positi= on >> because there is a lot of thankless grunt work implied, and arguably= it's >> not a very career-advancing move. >> >> On Fri, Jul 8, 2016 at 8:57 AM, Dean Thompson >> wrote: >> >> Thank you, everyone, for the responses and discussion. If there = is >> interest, I would still love to hear more thoughts about whether= there >> is a roadmap (either de facto from the community, or explicit fr= om >> leaders of the community) to foster broader adoption. >> >> I see that many organizations are making immense contributions t= o the >> community: from language and ecosystem enhancements, to Real Wor= ld >> OCaml, to the OCaml Users and Developers Workshop. Technical pro= gress >> is rapid. But so far, to me, these wonderful contributions feel = more >> like giving back to the community for us to make what we can of = them, >> rather than anyone=E2=80=99s systematic effort to streamline bro= ader uptake of >> OCaml. >> >> These are the impressions of a newcomer. If there is interest, I= would >> love to hear more seasoned viewpoints. >> >> Dean >> >> >> >> >> >> >> -- >> 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 >> >> >> >> > > -- > Roberto Di Cosmo > > ------------------------------------------------------------------ > Professeur (on leave at/detache a INRIA Roquencourt) > IRIF E-mail : roberto@dicosmo.org > Universite Paris Diderot Web : http://www.dicosmo.org > Case 7014 Twitter : http://twitter.com/rdicosmo > 5, Rue Thomas Mann > F-75205 Paris Cedex 13 France > ------------------------------------------------------------------ > Office location: > > Paris Diderot INRIA > > Bureau 3020 (3rd floor) Bureau C123 > Batiment Sophie Germain Batiment C > 8 place Aur=C3=A9lie Nemours 2, Rue Simone Iff > Tel: +33 1 57 27 92 20 Tel: +33 1 80 49 44 42 > > Metro > Bibliotheque F. Mitterrand Ligne 6: Dugommier > ligne 14/RER C Ligne 14/RER A: Gare de Lyon > ------------------------------------------------------------------ > GPG fingerprint 2931 20CE 3A5A 5390 98EC 8BFC FCCA C3BE 39CB 12D3 > > -- > 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