From nobody Mon Jan 22 18:17:30 2024 X-Original-To: freebsd-hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TJdjp32Bbz57w8p for ; Mon, 22 Jan 2024 18:17:34 +0000 (UTC) (envelope-from mandree@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TJdjp2MLSz4q6j for ; Mon, 22 Jan 2024 18:17:34 +0000 (UTC) (envelope-from mandree@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705947454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TYOb6n+/m0OELzaTRJpZvGco4Ebyyb1x16YGBqvVuzQ=; b=ciTCfqAPdGwHuEvs9N5VYpiEDQdRgUFBvkDdE7pzU4cpbmQqtxyBE5/YGXwkRAFq2id72C Ig/uo238ENsuZAHwfwgiywpLyEmdJ9Pxwe+IVcKMHC7aH0xuJw7UbsciwTYWmv6gNUxCUf l71P8TX45FlaWNUavTeGVkT405g6Fzb7VB2n6oIgakTkdfXNptVG/eGb1r+iMZ3QoSj3ee 5vVyqQOAbi7n8DfglWW2QyL/tBewpcaI6EpPCccW1+PiYA87G0WpGeHHKjvoASlfiyyYXi 14zWyLCnJA0z6Hp0lA/m5GwR0frTzLeo3DPJTz5pZoiLvG83zJokKY6JQamJsg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1705947454; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TYOb6n+/m0OELzaTRJpZvGco4Ebyyb1x16YGBqvVuzQ=; b=e20iYYn/gihUJ8zG1Ds5YMv0PnEMxQxXpzT9lTieCVuL4ETlFVi1Sw0u0Aie1j7loy+xAP 4dnpgxqyQZdQ8ceggewHdGS93yLbnPcJeN1WXVWXp3jnNUs6DtzP1ArgV8mzu1WDv+Nl4U E1mkAgtIMWP3pcFOkm8RxX71W8/aP8q+AJCAc3DwRo1jeHhnI9+pWupeKSpc0vTmhoZL9d hrAfvg/F2rLdZqw8N9dCfZA41nQ0/UTAvBRJrToukdwnXK+Iwc9naPy0qMfsgEfmqwoP8w RYEiLRbodlUoYpYtHxFkuNJd9F8VeAJQehY8/D6hADSuEL9x1vflPSbWOufFxQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1705947454; a=rsa-sha256; cv=none; b=pyPQhXxE2AAkJJgnN/CTewtWNVWa7hlx2vM+b+kXZKIe46bcSrwUBw9m79Jy4WFFYb/O1y 7A3HR/mjldrD5OcBFWP3Hjkq7Z7Fz6gNNnT5e1ZUkFsVUEvrboZH7I2W6E8Mdrt/5luvpk /MQPEiQmd6dFdPNPNXUNaNGAozTnCyAlR349N8QLJHOZKcBywgg0v58EXb76fqjQwbHAyb yMHqqPWWNFOeaWQGcB0GRxE+gjdHoOHVei+wEeRt4pfdh8olYhUcIynAc87Fj9oxRevJUO pWchunDZk0X+tPNeX/RvG56Ym/kAbh1r6LZm8mMa6k1qOyOi5gE2c6lnF+Q+nA== Received: from mandree.no-ip.org (p200300d0271b2100329c23fffe3f7574.dip0.t-ipconnect.de [IPv6:2003:d0:271b:2100:329c:23ff:fe3f:7574]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: mandree/mail) by smtp.freebsd.org (Postfix) with ESMTPSA id 4TJdjp0ZFRzh58 for ; Mon, 22 Jan 2024 18:17:34 +0000 (UTC) (envelope-from mandree@FreeBSD.org) Received: from [127.0.0.1] (localhost [127.0.0.1]) by ryzen.an3e.de (Postfix) with ESMTP id 39E8B182EEF4 for ; Mon, 22 Jan 2024 19:17:31 +0100 (CET) Message-ID: <2f38cbcd-61a9-42b7-b7e6-ebd261fe66da@FreeBSD.org> Date: Mon, 22 Jan 2024 19:17:30 +0100 List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: The Case for Rust (in the base system) To: freebsd-hackers@freebsd.org References: <1673801705774097@mail.yandex.ru> <202401210751.40L7pWEF011188@critter.freebsd.dk> <20240121102421.GE14773@memo2.memo.frmug.org> Content-Language: en-US From: Matthias Andree Organization: FreeBSD.org In-Reply-To: <20240121102421.GE14773@memo2.memo.frmug.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Am 21.01.24 um 11:24 schrieb Bertrand Petit: > One of the strong values of FreeBSD is its stability. For fun I > recently booted a 4BSD-something on a VAX emulator and immediately felt at > ease, because of this stability. I perceive rust, despite some of its > technical merits, as unable to provide that kind of stability. This language > is a fast and (still) unstable moving target, so fast that once integrated it > will immediately be obsolete on release. The integrated version would probably > only be usable to compile base, countless other packaged versions would be > required to compile ports---I'm also thinking about llvm here. That is bound > to be a maintenance nightmare, for the FreeBSD teams and for the users alike. I have read this thread up to what's here now, and I like that it kept to a very useful constructive tone and arguments exchanged. So, personally, I've always found a language whose compiler gets recompiled several times a week if I do ports development is something I definitely can't advocate having in source. The same goes for the 3rd party stuff. Even if you mirror external dependencies to prevent from losing them with some upstream maintainer's decision, and keep maintainable, that begs the question: who is reviewing, polishing, maintaining this? We certainly don't want Log4J-like disasters to strike because in all convenience and "don't rewrite the world" programmer-time efficiency claims we used all sorts of, whoever wrote this, "half the Internet". I understand that people who have spoken up in this thread have inter-individually mixed feelings (meaning one person proposes it, the next person is loathe of it) about C++, about the Standard Template Library (STL) in particular, and I find it a pity that most arguments in this thread around C++ did not mention a standard edition's year. I have been around C++ since before it became an ISO standard, I have seen it on the decline when C++03 seemed to have stalled, but I can really sympathize with Microsoft's "Welcome back to C++" approach. C++ has come a really long way, and over the past decade shown to deliver continually. C++14 or C++17 is lightyears ahead over what people left behind who haven't followed/used it in many years. So I really would have wished for people to not just write C++ but really the minimum/oldest edition they would consider. I understand why people sometimes steer clear of Standard Template Library - but I really liked how clear the dis-/advantages of its datatypes and algorithms are laid out. Yes, you can still shoot holes into your extremities when abusing the language, but Rust also has unsafe modes... Rust advocates usually write about safety, but do we really want to argue about introducing all this technical debt to just rule out ONE PARTICULAR class of errors when there are dozens of others that open up security risks? Seems a bit drastic to me. Do Rust proponents audit what all the indirect dependencies' codes do before referencing them? Or are there bodies that tell us what libraries are safe, when the base language can't dance? So bottom line, let's see to pushing Rust back and keeping it out of the base system until it is stable, mature, and useful without betting and risking our world on half of the outside Internet -- and we really know it's not just another fad of the decade and have valid use cases that really can't be shown in what we have in the base system today. -- Matthias Andree FreeBSD ports committer, speaking his personal opinion