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 0016382355 for ; Mon, 18 Dec 2017 18:00:46 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=jesper.louis.andersen@gmail.com; spf=Pass smtp.mailfrom=jesper.louis.andersen@gmail.com; spf=None smtp.helo=postmaster@mail-oi0-f52.google.com Received-SPF: None (mail2-smtp-roc.national.inria.fr: no sender authenticity information available from domain of jesper.louis.andersen@gmail.com) identity=pra; client-ip=209.85.218.52; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="jesper.louis.andersen@gmail.com"; x-sender="jesper.louis.andersen@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail2-smtp-roc.national.inria.fr: domain of jesper.louis.andersen@gmail.com designates 209.85.218.52 as permitted sender) identity=mailfrom; client-ip=209.85.218.52; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="jesper.louis.andersen@gmail.com"; x-sender="jesper.louis.andersen@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-oi0-f52.google.com) identity=helo; client-ip=209.85.218.52; receiver=mail2-smtp-roc.national.inria.fr; envelope-from="jesper.louis.andersen@gmail.com"; x-sender="postmaster@mail-oi0-f52.google.com"; x-conformance=sidf_compatible IronPort-PHdr: =?us-ascii?q?9a23=3AUjTJ0RC6mwYQ71SShS9bUyQJP3N1i/DPJgcQr6Af?= =?us-ascii?q?oPdwSPvyoMbcNUDSrc9gkEXOFd2Cra4c0qyO6+jJYi8p2d65qncMcZhBBVcuqP?= =?us-ascii?q?49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6?= =?us-ascii?q?JvjvGo7Vks+7y/2+94fcbglUmTaxe69+IAmrpgjNq8cahpdvJLwswRXTuHtIfO?= =?us-ascii?q?pWxWJsJV2Nmhv3+9m98p1+/SlOovwt78FPX7n0cKQ+VrxYES8pM3sp683xtBnM?= =?us-ascii?q?VhWA630BWWgLiBVIAgzF7BbnXpfttybxq+Rw1DWGMcDwULs5Xymp4aV2Rx/ykC?= =?us-ascii?q?oIODA5/2PXhMJ+j6xVvQyvqABkzoHOfI2YLuBzcr/Bcd4YQ2dKQ8ZfVzZGAoO5?= =?us-ascii?q?d4YBC/QOPf1Ar4bjvVsFsB2wBQ6xBOPu0T9Dm2P73asn3Os/CwHGxxIvH9QTu3?= =?us-ascii?q?nTrtX6KrwSUfirw6nS1znDa/RW2Sr86IjTaBwuu/eMUq9ufsrL0kkgCQXFg06f?= =?us-ascii?q?qYzgJTyV1+ANv3KH4OpnUOKikmgqoBxyrDi33soglJXFi4YPxl3H9Sh12pg5Kc?= =?us-ascii?q?C7RUJhYdOoDp1dvDyAOYRsWMMtWWRotT46yrIYvZ67ezAHyJE9yB7eb/yLao+I?= =?us-ascii?q?4hP/WOqILzd1hGxpdKiwhxa19kigxen8Wdeu3FlWqSpFl8HAtnEL1xPN9siKUu?= =?us-ascii?q?Vx8lul1DqV1A3e6vtILV4pmafYMZIswqA8moIWsUvZHy/2nEv2jLWRdkUh4uWo?= =?us-ascii?q?6froYq7+ppCCLY94kAX+MqMzmsy+GuQ0KBIBX26G9uuizr3j5lP2QLNRg/05l6?= =?us-ascii?q?nWqpHaJcABqqGlBA9V154v6wyjADe+zNQYgX4HIUpZdx2diojpP0jCIPT5Dfek?= =?us-ascii?q?n1ShiyxrxvDDPr35GJrBNHnDkLH7fbZ88UFQ0gQzzcoMr65TX5wfL//1SwfStM?= =?us-ascii?q?bRCwMiNBL8l/b9AdBhzYQAcW2KC66ddqjVtAnbyPgoJryuaZQNtSy1D/845uWm?= =?us-ascii?q?pHk1lEUGcK/hiZkac2i1BLJiJFiYejzlhNsMC3wHuCIxSeXrjBuJVjsFNCX6ZL?= =?us-ascii?q?41+jxuUNHuNozEXI342LE=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AJBgDi8jdahjTaVdFcHQEBBQELAYNlA?= =?us-ascii?q?X01FBOEBoE2l3OCAJFRh2UKhTsChQdDFAEBAQEBAQEBAQESAQEBCAsLCCgvQg4?= =?us-ascii?q?BBgGBYCKCSgEEASMdARsdAQMMBgUEBwM0AgIhAQERAQUBHAYTFAWJeAEDDQidU?= =?us-ascii?q?UCMEIIFBQEcgwsFg1oKGScNWYJNAQEBAQEBBAEBAQEBAQEZAgYSg1yCDoM/gyy?= =?us-ascii?q?CakWFA4JjBYpqmBU9kC6EfpNzjVmJCxQkgRc2gXEyGiNRMoF3gkQfgXNBN4E7h?= =?us-ascii?q?g6CTQEBAQ?= X-IPAS-Result: =?us-ascii?q?A0AJBgDi8jdahjTaVdFcHQEBBQELAYNlAX01FBOEBoE2l3O?= =?us-ascii?q?CAJFRh2UKhTsChQdDFAEBAQEBAQEBAQESAQEBCAsLCCgvQg4BBgGBYCKCSgEEA?= =?us-ascii?q?SMdARsdAQMMBgUEBwM0AgIhAQERAQUBHAYTFAWJeAEDDQidUUCMEIIFBQEcgws?= =?us-ascii?q?Fg1oKGScNWYJNAQEBAQEBBAEBAQEBAQEZAgYSg1yCDoM/gyyCakWFA4JjBYpqm?= =?us-ascii?q?BU9kC6EfpNzjVmJCxQkgRc2gXEyGiNRMoF3gkQfgXNBN4E7hg6CTQEBAQ?= X-IronPort-AV: E=Sophos;i="5.45,422,1508796000"; d="scan'208,217";a="306001649" Received: from mail-oi0-f52.google.com ([209.85.218.52]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/AES128-GCM-SHA256; 18 Dec 2017 18:00:45 +0100 Received: by mail-oi0-f52.google.com with SMTP id x20so11009121oix.12 for ; Mon, 18 Dec 2017 09:00:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=DrPy6FbmHTmTGJs04xYpOyLXLXehShSRprvnIZ20OjM=; b=S+tS6EoVZl2VLqsZaT3biALe7alwIIHXRmdruqPOib8ccNRIY59kZ22moNEbtYYNoZ /I1sR2uRJeeUzgDxc4zo5Y5XE+vBGg5EZnLpfBPfDHVH9qQetingK1FVeD/b/BHCJpX3 i4ctrWEQ59GS2zQvdFIelttVgCr9rTBC650kcasHxBLcDevpmJiyZ9ysA3GdqmSSaVbO c850ntM8WEXbjRHG1Xrp39Od0B4Ek50Ja5RLJ6Q8IhQClTzdFitYpipK56O/ObkZynzp BC2xfg2Zw+loqDNheI52Wa8BEXI4fUm5J8mM7M8SRYy3cwFp7CuRnipBWRoDUbUNZgV+ VRwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=DrPy6FbmHTmTGJs04xYpOyLXLXehShSRprvnIZ20OjM=; b=LZb1Rq0QkpZCUpENvqF+0A1pZhGWwTyKM0PrSAaMFJp1lNfkDC/hcjSwaYCC+0aSSz 2PK3ifDKeuVT2hww90UiSO9OxVywqeP//TvApj48FbzhAbThvgIBvup/12feTxmCeFnd g7yTJDAOgsHut8XL8L1OJzBP6amI52yan5YBvKziDHZDv6/AaERqaVtlnmH01ipGC5us MmBvBUUOi1Qaz/nWu2Y4BoV/gjTaZvMspdirCVVEs8Pj+FdxmXMm6FWWY93vR9+yVmOh V/O/7BH6hN33nLugoW0ChJEyYWcVg3O1XYXW1MpkcNWPGk5Z7Iqut+lISYGIButd5vZt c/Yg== X-Gm-Message-State: AKGB3mJOxwYJ12ZMFneAzD8znP4pItp6gg8bbHBUU2Zp8geaLw7HLG0y kooS24gL/XdS6SZXMvi9knBexZ2oKp0B3nGHc1pG X-Google-Smtp-Source: ACJfBousQTku36dJB7nun4+9TW8q5Y0Y2FdTNPyy4lCh9iGjyqJqXohIDL0hNOpadSKkmzERgmauitkLF4i0TTmy2FI= X-Received: by 10.202.91.212 with SMTP id p203mr299555oib.269.1513616444376; Mon, 18 Dec 2017 09:00:44 -0800 (PST) MIME-Version: 1.0 References: <20171211095444.75abacda@zinid.ru> <20171217201356.djjygim6oelagvt6@matica.foolinux.mooo.com> <20171218193605.05d83846@zinid.ru> In-Reply-To: <20171218193605.05d83846@zinid.ru> From: Jesper Louis Andersen Date: Mon, 18 Dec 2017 17:00:33 +0000 Message-ID: To: Evgeny Khramtsov Cc: caml-list@inria.fr Content-Type: multipart/alternative; boundary="001a113d56e67e4d330560a04a98" Subject: Re: [Caml-list] ReasonML concrete syntax --001a113d56e67e4d330560a04a98 Content-Type: text/plain; charset="UTF-8" On Mon, Dec 18, 2017 at 5:43 PM Evgeny Khramtsov wrote: > > There is a very similar story: Erlang and Elixir. If somebody doesn't > know: Elixir runs in Erlang VM (BEAM) and has Ruby-like syntax (Erlang, > on its turn, has obscure for many Prolog-like syntax). No doubt, Elixir > became more popular than Erlang (at least, judging by Github stars), > but still not popular enough (below top20 in any language charts). I > think this is because it's still functional language and this distracts > many. Furthermore, such separation splitted the community into two > camps, writing the same tools/programs, but only in different languages. > What's worse, now all job offers contain Erlang/Elixir requirement > (which makes no sense to me, frankly). > > FWIW, I think the Erlang community is greatly benefiting from the Elixir community and vice versa. I'd hope the same thing happens with ReasonML and OCaml. Elixir got a pretty firm ground to stand on since you have many years of (industrial) backing in the Erlang ecosystem. But a lot of the better improvements in the quality-of-life of a programmer is a direct result of Elixir's core team wanting to improve notation, error reporting and so on for the developer. These changes are definitely improving Erlang as well. I think it is wrong to see these things as "wars". People, when programming, are subjective and prefer different notations. I've always been partial to statically typed ML languages such as OCaml and Standard ML, and I find their notation more clear than e.g., the Erlang or Haskell notation[0]. But judging by people in general, '{' / '}' bracketed notation stemming from a language such a C looks to be extremely popular and familar to people. To the point where "Erlang syntax is ugly", in which as much is misunderstood about its semantics as are its syntax. The key point is that you have a large group of programmers, mostly Javascript, Python or Ruby people, who would never ever pick up Erlang due to its syntax. But they'll gladly pick Elixir as their core language. All we have to teach them is proper error handling Erlang/OTP style and they'll easily give back to the community at large. If there are a good argument for diversity in an ecosystem, this is really it. [0] I may be "Erlang user of the year, 2017", and have many years of Erlang experience, but I've always lamented that the language has no static type system. --001a113d56e67e4d330560a04a98 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Mon, Dec 18, 2017 at 5:43 PM Evgeny Khramtsov <xramtsov@gmail.com> wrote:

There is a very similar story: Erlang and Elixir. If somebody doesn't know: Elixir runs in Erlang VM (BEAM) and has Ruby-like syntax (Erlang,
on its turn, has obscure for many Prolog-like syntax). No doubt, Elixir
became more popular than Erlang (at least, judging by Github stars),
but still not popular enough (below top20 in any language charts). I
think this is because it's still functional language and this distracts=
many. Furthermore, such separation splitted the community into two
camps, writing the same tools/programs, but only in different languages.
What's worse, now all job offers contain Erlang/Elixir requirement
(which makes no sense to me, frankly).


FWIW, I think the Erlang community is great= ly benefiting from the Elixir community and vice versa. I'd hope the sa= me thing happens with ReasonML and OCaml.
<= br>
Elixir got a pretty firm ground to stan= d on since you have many years of (industrial) backing in the Erlang ecosys= tem. But a lot of the better improvements in the quality-of-life of a progr= ammer is a direct result of Elixir's core team wanting to improve notat= ion, error reporting and so on for the developer. These changes are definit= ely improving Erlang as well.

I think it is wrong to see these things as "wa= rs". People, when programming, are subjective and prefer different not= ations. I've always been partial to statically typed ML languages such = as OCaml and Standard ML, and I find their notation more clear than e.g., t= he Erlang or Haskell notation[0]. But judging by people in general, '{&= #39; / '}' bracketed notation stemming from a language such a C loo= ks to be extremely popular and familar to people. To the point where "= Erlang syntax is ugly", in which as much is misunderstood about its se= mantics as are its syntax.

The key point is that you have a large group of progra= mmers, mostly Javascript, Python or Ruby people, who would never ever pick = up Erlang due to its syntax. But they'll gladly pick Elixir as their co= re language. All we have to teach them is proper error handling Erlang/OTP = style and they'll easily give back to the community at large. If there = are a good argument for diversity in an ecosystem, this is really it.
=

[0] I may b= e "Erlang user of the year, 2017", and have many years of Erlang = experience, but I've always lamented that the language has no static ty= pe system.
--001a113d56e67e4d330560a04a98--