From nobody Tue Jan 23 12:01:00 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 4TK5NX6VPSz57vPw for ; Tue, 23 Jan 2024 12:04:12 +0000 (UTC) (envelope-from freebsd-hackers@phoe.frmug.org) Received: from frmug.org (enterprise.frmug.org [IPv6:2a01:e0d:1:3:58bf:fa61:0:1]) (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) by mx1.freebsd.org (Postfix) with ESMTPS id 4TK5NX3DD6z45qS for ; Tue, 23 Jan 2024 12:04:12 +0000 (UTC) (envelope-from freebsd-hackers@phoe.frmug.org) Authentication-Results: mx1.freebsd.org; none Received: by frmug.org (Postfix, from userid 66) id 6BCC812BA05; Tue, 23 Jan 2024 13:04:03 +0100 (CET) Received: by memo2.memo.frmug.org (Postfix, from userid 1001) id AE39E17984; Tue, 23 Jan 2024 13:01:00 +0100 (CET) Date: Tue, 23 Jan 2024 13:01:00 +0100 From: Bertrand Petit To: "Robert R. Russell" Cc: freebsd-hackers@freebsd.org Subject: Re: The Case for Rust (in the base system) Message-ID: <20240123120100.GF14773@memo2.memo.frmug.org> References: <1673801705774097@mail.yandex.ru> <202401210751.40L7pWEF011188@critter.freebsd.dk> <20240121171403.6f167408@venus.private.rrbrussell.com> <202401220857.40M8vlHr099146@critter.freebsd.dk> <20240122173344.516be9d8@venus.private.rrbrussell.com> 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 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20240122173344.516be9d8@venus.private.rrbrussell.com> User-Agent: Mutt/1.12.1 (2019-06-15) X-Rspamd-Queue-Id: 4TK5NX3DD6z45qS X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:12322, ipnet:2a01:e00::/26, country:FR] On Mon, Jan 22, 2024 at 05:33:44PM -0600, Robert R. Russell wrote: > > Which I think leads to one of my big reasons for supporting Rust and > something else that needs to be moved to its own thread, Text encoding > issues. I think the project needs to follow OpenBSD's lead and > deprecate non UTF-8 locales. That was one of OpenBSD's "Mozilla" moments, one they can't be proud of. Computers not only need to talk to humans but also communicate with or talk through other computers or electronical equipments. I especially think about industrial machinery and lab test instruments. Restricting the way one can easily encode data effectively cuts cords with those equipements, many of them are rather picky in what they accept. I see this UTF-8 only argument as being unfairly in defavor of Rust. > While I personally can't read or write anything other than English and a few > dozen words in Spanish, Portuguese, and French, I can find or create test > input data that isn't in basic ASCII and test my string handling against > such input. Assuming allowing things like French column names make sense. As a side bar: It would be naïve to think that US-ASCII is sufficient to properly use the English language. At some point, the language was changed to coöperate with the mechanical limitations of typewriters (how and by whom, I don't know). Æstetics changed, maybe not for the best, but the usage stayed. However there is still plenty of historical written English material, especially comming from the British isles, that can't be represented using US-ASCII. Some of that material is still being read today, such as the lines written by Oscar Wilde. -- %!PS -- Bertrand Petit /D{def}def/E{exch}D/G{get}D/I{2 div}D/U{dup}D/L{roll}D/Y{setgray}D/N{newpath}D /O{N 0 0 moveto}D/P{pop}D/T{translate}D currentpagedevice/PageSize G U 0 G/w E D 1 G /h E D w I h I T 0 Y 1 setlinewidth 0 1 2 { P 120 rotate 2 4 w U mul h U mul add sqrt I 50 add {N 50 0 3 2 L 0 360 arc stroke}for}for/s{O true charpath pathbbox exch 4 -1 L E sub I 3 1 L sub I} D /l(bp)D 0.94 Y /Helvetica findfont 22 scalefont setfont l s P(x)s exch P T O l show showpage