From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:ac8:444c:: with SMTP id m12mr30061237qtn.306.1563409787968; Wed, 17 Jul 2019 17:29:47 -0700 (PDT) X-Received: by 2002:aca:b554:: with SMTP id e81mr21837919oif.7.1563409787491; Wed, 17 Jul 2019 17:29:47 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!news.gegeweb.eu!gegeweb.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!b26no9041690qtq.0!news-out.google.com!a5ni852qtd.0!nntp.google.com!b26no9041687qtq.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Wed, 17 Jul 2019 17:29:47 -0700 (PDT) In-Reply-To: <871ryop74h.fsf@nightsong.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=47.185.223.245; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 47.185.223.245 References: <01e1fc91-a20e-4b48-a10e-57d3935cd06c@googlegroups.com> <0d4e46d4-c227-4d7a-aafa-44492c6e1d41@googlegroups.com> <871ryop74h.fsf@nightsong.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Microsoft is considering moving to Rust; potential opportunity for Ada2020 From: Optikos Injection-Date: Thu, 18 Jul 2019 00:29:47 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader01.eternal-september.org comp.lang.ada:56883 Date: 2019-07-17T17:29:47-07:00 List-Id: On Wednesday, July 17, 2019 at 6:35:12 PM UTC-5, Paul Rubin wrote: > Optikos writes: > > Yes, I also was wondering why Microsoft isn't fervently exploring > > adding a Rust-esque borrow checker to C# >=20 > C# is garbage collected, I thought. No need for anything like a borrow > checker. Yes, historically C# is automatic-garbage-collected (AGC), but, to serve as= a successor to C & C++ in the development of OS kernel and high-performanc= e services/infrastructure at user-space at Microsoft (or elsewhere), C# wou= ld need to trim back any .NET excesses. AGC is widely perceived (outside o= f the .NET and JVM communities) as one of those bloated excesses in .NET an= d in JVM worlds. One could imagine C# becoming yet another language where = AGC is optional, such as via different syntax for introducing AGCed versus = borrow-checked modes of operation for each subroutine or each coroutine, op= erating in the programmer's choice of native or managed (to use Microsoft's= terms) or unboxed or boxed (to use other communities' terms), much like C+= +/WinRT does. (Although in C++/WinRT, the =E2=80=9Cdifferent syntax=E2=80= =9D is 1) normal C++ syntax for native versus 2) C++/WinRT's language-proje= ction template(-header-only-library) for managed-via-ATL-to-COM. Just as an Xlang projection of Rust can wrap C/C++ unsafe legacy code, an A= da language projection in Xlang can bring all that to Ada too, where Ada co= uld also be a memory-safe wrapper language that permits opportunistic rewri= te of more & more unsafe guts in the everless-wrapper-veneer evermore-deepe= r-to-the-core Ada layer. The Ada language projection in Xlang would mimic = the Xlang support for other languages (e.g., Python, Go, Rust) that resembl= e Ada to greater or lesser degrees. Indeed, Ada2020 could conceivably most= closely mimic Rust support in open-source Xlang to be a fast follower of t= his Rust experimentation at Microsoft=E2=80=94or at least mimicking Rust su= pport in Xlang closer than any of the further-afield languages such as Pyth= on. Conversely, adding Ada language projections via Xlang would permit Ada= to take advantage of the vast forest of Python libraries by invoking them = via the Xlang language projection. Xlang is open-source at GitHub: https://github.com/Microsoft/xlang