[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [pop-dev] Go - a new language from Google
On Thu, Nov 12, 2009 at 5:10 PM, Rick Beton <rick.beton@xxxxxxxxx> wrote:
> 2009/11/12 Jim Whitehead II <jnwhiteh@xxxxxxxxx>
>> * There is no way to do vararg functions that I've found, so having
>> a "dispatch" wrapper that does just this is not easy to write.
> Doesn't ... do varargs?
See, we're all still learning =) Thanks for the heads up, I'll take a
look at a more succinct solution.
> One thing I've noticed and I don't like: Go doesn't do UTF-8 strings very
> cleanly. Instead, the programmer is exposed to the UTF-8 encoding via an
> array of bytes (uint8s). So getting a single character from a string
> actually returns one byte, which may be one of a sequence of bytes encoding
> the character. Likewise, constructing a string from 32-bit integers (which
> have plenty of bits to hold a code point) seems to work by treating the 32
> bits as up to four bytes in UTF-8 encoding.
> Iterating with "range" over a string means iterating over the bytes and code
> points combined (via a function that returns both); this is not so bad but
> seems unnecessarily complex.
> The risk of causing or encountering inexpressible byte sequences is
> worrying. Surely it would be better for the string implementation to hide
> the grungy UTF-8 encoding details and treat conversion to/from characters
> just as Unicode code points expressed as integers.
Yeah the UTF8 handling is a bit weird, I must say.