PHP meets GTK, want to meet WTF
-
a string is just a byte array pretending to be a scalar primitive type, but it really is a byte array with fudges
Uh oh!
PHP doesn't exactly get Unicode which is why you have to remember to use the
mb_
functions if you want characters and things likestrlen
if you don't care or want binary explicitly.That's really silly. It's trivial to keep extra metadata with the string to say what sort of range of “alphabet” it is using and so do the translation automatically. Like that, you don't have to remember which function to use as there is only
ZuulUnicode.[Fuck you too, ]
-
They tried to do that with PHP 6 only they found Unicode was hard and abandoned it because it would break too much existing code.
-
Unicode was hard
Yeah; it's not an overnight job. It took two releases for Tcl to switch to being Unicode-based without deep suck, and a few more to become faster than it was before the change. (OK, the fundamental support for threads was added in at the same time, and that was another “non-zero-cost feature”… Threads are hard, especially without a fat-ass Global Interpreter Lock.)
-
They tried to do that with PHP 6 only they found Unicode was hard and abandoned it because it would break too much existing code.
So they moved directly to PHP 7, where they could abandon Unicode for a second time?