Re: The Case for Rust (in the base system)

From: Bertrand Petit <freebsd-hackers_at_phoe.frmug.org>
Date: Tue, 23 Jan 2024 12:01:00 UTC
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