Mark S. Miller (2015-01-28T14:53:57.000Z)
d at domenic.me (2015-02-13T23:29:57.078Z)
On Wed, Jan 28, 2015 at 5:44 AM, Andreas Rossberg <rossberg at google.com> wrote: > To me it would be reasonable to restrict oneself to much shorter strings, > since no existing machine has the memory to represent a string of length > 2^52, nor will any in the foreseeable future. ;) That's just four petabytes. If present trends... > VMs can always run into out-of-memory conditions. In general, there is no > way to predict those. Even strings with less then the hard-coded length > limit might cause you to go OOM. So providing reflection on a constant like > that might do little but giving a false sense of safety. Yes, OOM is always possible earlier and we can't set any limits on that. I agree that we shouldn't provide anything like String.MAX_LENGTH. But I also don't see how we could pleasantly support strings above 2^53. Array indexes are limited to 2^31 or so, and many integer operations truncate to that (<<,|), and strings support [] indexing, so it may make sense to agree on one of those as an *upper bound* -- you may not support strings longer than that.