I have been listening to the reaction on the web to the incorporation of an emoji as a unicode symbol in perl6 rakudo. Here’s a flavour…
my $a = ⚛$var
(akamy $a = atomic-fetch($var)
)$var⚛++
(akaatomic-fetch-inc($var)
)
(https://p6weekly.wordpress.com/2017/08/21/2017-34-going-atomic/ )
The rationale for the use of unicode symbols is as follows:
- These represent operations that are rare
- They relate to a specific domain (in this case, concurrency)
- Programmers can always fall back on the ASCII version (e.g. atomic-inc )
BTW- ASCII versions are known as Texas versions since they are always bigger
Certainly this has caused some consternation – ranging from how can I type ⚛️ on my keyboard (hit CTRL-CMD-SPACE if you are on macOS ) to this will never be accepted for the coding standards of my company.
On reflection, while it is understandable that programmers have a well established comfort zone of ASCII text and using English for keywords, I think that perl6 is leading the way on an irresistible path. Of the 6.5bn people on the planet, only a small fraction prefer to work in English – or even in Latin alphabets. Now, the pioneering work to embed unicode in a programming language will open the doors to all kinds of invention. What about:
- A slang (i.e. a perl6 sublanguage) for the French, Germans or Japanese programmer
- Ability to parse all unicode alphabets – so linguists can digitize, analyze and compose writing from all parts of the globe, even dead scripts like Egyptian
- Or, back to the point, opening a new world of symbol space to side step the crammed ASCII non alphanumeric characters that confines our programming
And this, in combination with perl6 Grammars, opens some interesting conceptual doors.
~p6steve
1 Comment