<br><br><div class="gmail_quote">On Mon, Oct 22, 2012 at 5:59 PM, Fred Hebert <span dir="ltr"><<a href="mailto:mononcqc@ferd.ca" target="_blank">mononcqc@ferd.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Regarding the use of Unicode in variables, here is a short list of
    languages that allow it:<br>
    <br>
    - Ada<br>
    - C#<br>
    - Common Lisp<br>
    - D<br>
    - Delphi<br>
    - GNU Forth (other impls are often ASCII only)<br>
    - Go<br>
    - Haskell<br>
    - J<br>
    - Java<br>
    - Mathematica<br>
    - Perl (also Perl 6)<br>
    - Python<br>
    - Racket<br>
    - Tcl<br>
    <br>
    Now in any of these languages, can you blame the use of Unicode in
    identifiers as the source of woes in there? Is it usually due to
    semantics, other syntax, lack of clarity (even in English), their
    community? Name me one language where unicode support is a true
    problem compared to anything else, in this list.<br>
    <br>
    Is a Chinese programmer suddenly typing with her own glyphs rather
    than pinyin a problem? If I'm programming in French already and had
    my education in French, it's possible I learned everything using
    French terminology:<br>
    <br>
    tableau -> array, arbre binaire -> binary tree, liste ->
    list, paquet -> packet, octet -> byte, taille -> size,
    fichier -> file, dossier -> directory, boucle -> loop<br>
    <br>
    and so on. Note that I can use all of these in my existing Erlang
    programs if I want to, if I'm working with people who do not speak
    English  but still have a formal education in Computer Science,
    software engineering, or whatever. Chances are that someone who
    doesn't speak French won't have the best time reading that code, but
    has it been a major problem so far? Would allowing, say accented
    characters so someone can write 'colonne' and 'rangée' instead of
    'colonne' and 'rangee' for 'column' and 'row', be the straw that
    breaks the camel's back? Is the use of accents what's going to be
    the problem here? Or are we supposed to be especially afraid of
    non-latin-looking characters?<br>
    <br>
    I've mentioned to a few people here before that I'm coming from a
    small part of Quebec where people don't speak English that well.
    I've had to work on code bases where French was mandatory because
    otherwise, people on your team wouldn't be able to understand what
    the code was supposed to do. French code shoved in English exists,
    and it's being used. I'm sure you know the same happens in a
    boatload of other languages.<br>
    <br>
    Telling these people "well just Learn English, that's what I did
    when I needed to" isn't a valid way of doing things. Nobody should
    have to jump through the hoops we had to jump through, just because
    we had to when we were learning. This isn't a reason enough. I'm not
    willing to go back to my old office, and tell this father of 3
    children (who programs to feed them) "Sorry buddy, you're out of a
    job because apparently English is now necessary." It just won't
    happen because it is *not* necessary to know English to program.<br>
    <br>
    As much as the huge github love circle and "code is global" thing
    has been going, there's still an entire localized world out there
    where people work in small private enterprises, providing local
    services to people who speak their language, a place where people
    don't give a shit whether user 'robocop56' stars your repository or
    not. Programmers who want to go global can still write English stuff
    all the same, lest they want to see their code shunned by the
    majority of the world. That's likely what anyone using the listed
    languages above did.<br>
    <br>
    This is no excuse to make it hard for everyone else to work in a way
    they're comfortable. A huge part of programming is being able to
    reason about code. Let programmers who want to do it, be able to do
    so, especially when we see that so many languages support it
    already, without most people even noticing.<br>
    <br>
    Here's one for you specifically Yurii: why would you want to keep
    people from using a feature they want to use but that you wouldn't
    use anyway?<br>
    <br>
    Regards,<br>
    Fred.</div></blockquote><div bgcolor="#FFFFFF" text="#000000"><br>Fred:<br>If I may use a marketing metaphor: if one widens the net of the marketing campaign, one potentially gets more customers, but also the campaign cost rises. So a hardnosed cost-benefit analysis is required.<br>


<br>To take an example closer to us: at some point in the long history of emacs, emacs decided to support windows.  Today probably there are 3 times more windows users of emacs than all else combined -- just my guesstimate from hanging about the emacs users list. However when I move over to the emacs dev list a different picture emerges.<br>


The windows code in the low level parts of the display manager is sufficiently different and sufficiently brittle for the devs to wish avoid touching it.<br>So supporting windows has a direct cost in slowing the progress of emacs.<br>


<br>Its obvious that for Erlang to support unicode will be a development cost.<br>The important (and hopefully non-rhetorical) question is whats the cost-benefit analysis.<br><br>In the Erlang world I am completely unqualified at this point to say (hope this changes soon!)<br>
</div></div><br>Rusi<br>