I thought the article was fascinating and thought-provoking, I hope all the strongly-worded opinions aren't causing you to regret it.
I was also wondering whether tokenizer rules deserve some flak for making it harder to build identifiers and operators? Why is it more important (in C-like languages) for programmers to write without spaces, than to be able to call a variable ready? or define a +++ operator?
I mainly write this kind of stuff to make people think about what they would not otherwise have thought about, with the secondary goal getting at chuckle or two along the way.
This particular one have been discussed on HN previously and every time the "beause ASCII == keyboard" argument have come up.
...and been slapped down by people from the rest of the world, who have two or even three keystroke sequences to reach [\]{|} etc, because more important national characters, like æøåÆØÅ lives on the "usual" keys.
If I managed to get people to think about that, I've done my job.
As for C:
I think the C lanuage has been mismanaged, why did we need yet a threading API, while we still dont have explicit struct packing, including per struct or per field endianess specification ?
The ISO-C Group is incredibly conservative, which is plain wrong: A finite amount of C code have already been written, but there is a potentially infinite amount yet to be written. They should focus on the larger oeuvre.
Seriously, unicode is appallingly messy and heavy-weight. With all that code-point space to burn, a rational design would be very different to what we've got.
That said, given the origins of writing, I dont think there are any much cleaner solutions.
Their biggest mistake is probably not insisting on a mandatory vector representation which could be used to generate a "font-of-last-resort"
My personal pet-peeve is that unicode have not yet assigned 128 code points and two modifiers to cove all possible combinations of 7-segment LEDs :-)