Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Dec 2018 12:58:51 -0500
From:      Eric McCorkle <eric@metricspace.net>
To:        cem@freebsd.org
Cc:        "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>
Subject:   Re: Speculative: Rust for base system components
Message-ID:  <414c837f-4b06-b6dc-468c-8bbbc8ad8c59@metricspace.net>
In-Reply-To: <CAG6CVpV0kxupmkhHiYBT05Yfst6uNtbUyYUzG95Zwcbk9F3K0Q@mail.gmail.com>
References:  <ca76e5f7-6e59-bd67-144a-90ad66f0252e@metricspace.net> <CAG6CVpV0kxupmkhHiYBT05Yfst6uNtbUyYUzG95Zwcbk9F3K0Q@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--mVEswB6zIOeGUinG00wEax78tFQn6bdHh
Content-Type: multipart/mixed; boundary="07RTIbBML4OdkKDKM21ED2tYYSqKsZjIL";
 protected-headers="v1"
From: Eric McCorkle <eric@metricspace.net>
To: cem@freebsd.org
Cc: "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>
Message-ID: <414c837f-4b06-b6dc-468c-8bbbc8ad8c59@metricspace.net>
Subject: Re: Speculative: Rust for base system components
References: <ca76e5f7-6e59-bd67-144a-90ad66f0252e@metricspace.net>
 <CAG6CVpV0kxupmkhHiYBT05Yfst6uNtbUyYUzG95Zwcbk9F3K0Q@mail.gmail.com>
In-Reply-To: <CAG6CVpV0kxupmkhHiYBT05Yfst6uNtbUyYUzG95Zwcbk9F3K0Q@mail.gmail.com>

--07RTIbBML4OdkKDKM21ED2tYYSqKsZjIL
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

On 12/31/18 1:56 AM, Conrad Meyer wrote:
> Rust has many of the exact same problems C++ has.  Sure, it avoids a
> few classes of issue.  But it doesn't fix the classic C++ problems of
> extremely slow build times (if you think C++ is bad, Rust is worse)
> and having a kitchen sink of language features that make Rust and C++
> code difficult to grok.

I would debate the kitchen sink claim.  For one, Rust benefits from a
solid understanding of type systems that didn't exist when C++ was
created.  Proper parameterized types are a significant improvement over
C++ templates (the same holds for Java's generics, but that's
tangential).  This alone reduces the complexity of the language (and its
error messages) considerably.  While I give C++ slack on the issue of
templates because Somebody Had To Go First, that doesn't mean I relish
the idea of writing C++ code.

Beyond that, the C++ standardization process these days is seemingly
aiming at bringing everything under the sun into the language itself,
whereas Rust went for a syntax extension system and an overall language
design that avoids the need to graft everything into the language
itself.  (Side note: as much as I loathe macros in programming
languages, Rust actually seems to have produced a reasonable macro-like
system)


--07RTIbBML4OdkKDKM21ED2tYYSqKsZjIL--

--mVEswB6zIOeGUinG00wEax78tFQn6bdHh
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iHUEARYIAB0WIQQPGL/SuSPN3pRzpwUI38IpFsHCbAUCXCpY2wAKCRAI38IpFsHC
bAGVAQClIjTLae6497UKVN/uZmmjmT9yI7qCU5imV2gH4/iLWwEAn2LPfPprvRCu
ZlcPpTHV5nChsOIqPD3Ab1ZXUQEHXgU=
=yw+j
-----END PGP SIGNATURE-----

--mVEswB6zIOeGUinG00wEax78tFQn6bdHh--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?414c837f-4b06-b6dc-468c-8bbbc8ad8c59>