Unicode 2023

Article by Joel Spolsky on unicode in 2023. Thought it was well done (except for the annoying mouse cursors). The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!) @ tonsky.me

To get rid of the annoying cursor tracks: open dev tools in your browser, go to network tab, find pointer.js right-click > block URL, then reload page

1 Like

Nice article, very instructive!

This is why I like Swift. It makes coding approachable for part-time coders like me:

P.S. One of the first issues I encountered when working with Xojo: incoherent handling of strings, error-ridden documentation and sample code on top of it.

Yeah … String should have been deprecated in favour of … oh Text

But that battle & the reasons for doing that got lost in the panic and so moving Xojo forward into modern & proper string handling got killed in favour of that old comfy thing that has lots of weirdness

oh and this code, in Xojo, gives … 1 !!!

Dim t As Text = &U1F926 + &U1F3FB + &U200D + &U2642 + &UFE0F

Dim i As Integer = t.Length


Oops, it is Text that got the deprecation hammer, if I remember well…
Xojo’s string handling looks like it got stuck in transition from ascii to unicode, not finished, not wrapped up.

String has existed forever and originally it only really handled single byte encodings
Then it got extended to handle multi-byte encodings - but it still had edge cases where things didnt work right

Text was meant to finally split the dual nature of String apart - one where it was textual data (user perceived characters) and a separate one where it was binary data
It was only required for iOS and could be optionally adopted for other targets

Some decided they HAD to “update” all their code
Newer is better right ?
But some users simply complained loud & long about the entire new framework

And so all of it and all the modernization that it would have brought got killed off
And now every time Xojo adds something you run the risk they just clobber your code because they take over the name of something you already had (for a few hours to many years)
This happened way back when they renamed the “static text” control to “label” and it caused a lot of people angst
And its happened with other items as well

But its all history

Name space raiders :gun: :rocket:

Could it be that the article is written by a guy named Nikita, not Joel?

yeah that was one part of the Xojo framework
Everything, except the new intrinsic Text type, was in that namespace
So nothing that would be added would just arbitrarily take over something users created

But they’ve tossed that out and gone back to the old design of everything global all the time so now every time they add something the risk is it will clobber something someone already created


Yeah I think the lede to the post was reference to Joel Spolksy’s article from 20+ years ago

The most programming languages today with native unicode support should have both, the len and size functions or methods for strings to get either the string size in bytes or string length in characters. I don’t see how using count with Swift is any better?

It counts characters like humans do.