>This makes me a bit cautious about the language. Scientific computing people are often very smart but they are not programmers or computer scientists and may do funny things that a computer scientist would not.
Most languages, from C and C++ to Python and Java were not created by "computer scientists".
Usually it's either programmers that studied math or came from some other profession (physicists, linguists like Larry Wall, even philosophers).
>Another example is the byte addressing of UTF-8 strings, which may give an error if you try to index strings in the middle of a UTF-8 sequence [1]. s = "\u2200 x \u2203 y"; s[2] is an error, instead of returning the second character of the string. I find this a little awkward.
That makes perfect sense if Julia cannot yet handle indexing strings on graphemes.
In essense, there is NO "second character" that you're getting when "byte indexing" a string. You might get one (if it's ascii all the way), or more possible you'll just get an invalid part of a character as a byte.
In other languages with similar limitations (like PHP) you get a broken result with no warning at all.
Most languages, from C and C++ to Python and Java were not created by "computer scientists".
Usually it's either programmers that studied math or came from some other profession (physicists, linguists like Larry Wall, even philosophers).
>Another example is the byte addressing of UTF-8 strings, which may give an error if you try to index strings in the middle of a UTF-8 sequence [1]. s = "\u2200 x \u2203 y"; s[2] is an error, instead of returning the second character of the string. I find this a little awkward.
That makes perfect sense if Julia cannot yet handle indexing strings on graphemes.
In essense, there is NO "second character" that you're getting when "byte indexing" a string. You might get one (if it's ascii all the way), or more possible you'll just get an invalid part of a character as a byte.
In other languages with similar limitations (like PHP) you get a broken result with no warning at all.