From owner-freebsd-hackers@freebsd.org Mon Dec 31 17:59:01 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F3C7D143B37F for ; Mon, 31 Dec 2018 17:59:00 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from mail.metricspace.net (mail.metricspace.net [IPv6:2001:470:1f11:617::107]) by mx1.freebsd.org (Postfix) with ESMTP id 7CCB475A20; Mon, 31 Dec 2018 17:59:00 +0000 (UTC) (envelope-from eric@metricspace.net) Received: from [172.16.0.55] (unknown [172.16.0.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: eric) by mail.metricspace.net (Postfix) with ESMTPSA id DF7752762; Mon, 31 Dec 2018 17:58:59 +0000 (UTC) To: cem@freebsd.org Cc: "freebsd-hackers@freebsd.org" References: From: Eric McCorkle Openpgp: preference=signencrypt Autocrypt: addr=eric@metricspace.net; prefer-encrypt=mutual; keydata= mDMEWue2FBYJKwYBBAHaRw8BAQdAP/qVPlXodV6pYO5b1Jw0eFyMhyDD7B5y5eFsciutEfS0 JEVyaWMgTWNDb3JrbGUgPGVyaWNAbWV0cmljc3BhY2UubmV0PoiWBBMWCAA+FiEEDxi/0rkj zd6Uc6cFCN/CKRbBwmwFAlrnthQCGwMFCQHhM4AFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA CgkQCN/CKRbBwmyGKAD/XTSBOItCKcYCPTlsaS1aQYVEwWXXFgdjWE+WsNdZUS8A/AhYAbQZ kNZNimE2rQLoklkfTA74qF/V257NuQi4QDcLuDgEWue2FBIKKwYBBAGXVQEFAQEHQKpZVyCG ync/xqejm2C1HKGXLJTUu38RvnrR3UYECz9nAwEIB4h+BBgWCAAmFiEEDxi/0rkjzd6Uc6cF CN/CKRbBwmwFAlrnthQCGwwFCQHhM4AACgkQCN/CKRbBwmyi2wEAmvaGt8QMjGELzm27gP4c jJGUi7oigsLmTiFPkpJqPz0A+QFBSCvxJaxCMyoVru/xB6bunpJ+Wtsj8HD1EuJOn4EJ Subject: Re: Speculative: Rust for base system components Message-ID: <414c837f-4b06-b6dc-468c-8bbbc8ad8c59@metricspace.net> Date: Mon, 31 Dec 2018 12:58:51 -0500 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="mVEswB6zIOeGUinG00wEax78tFQn6bdHh" X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Dec 2018 17:59:01 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --mVEswB6zIOeGUinG00wEax78tFQn6bdHh Content-Type: multipart/mixed; boundary="07RTIbBML4OdkKDKM21ED2tYYSqKsZjIL"; protected-headers="v1" From: Eric McCorkle To: cem@freebsd.org Cc: "freebsd-hackers@freebsd.org" Message-ID: <414c837f-4b06-b6dc-468c-8bbbc8ad8c59@metricspace.net> Subject: Re: Speculative: Rust for base system components References: In-Reply-To: --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--