News for hackers. Stuff that matters.
Re:The case against a C alternative by EdSchouten on Tuesday August 09, 2022 @05:05AM (#32395667)
Exactly! And because you can't create a substring without mutating the original value, you see that C code often needs to resort to unnecessary copying as well.
Re:The case against a C alternative by jstimpfle on Tuesday August 09, 2022 @12:30PM (#32400156)
No. You can't create a zero-terminated substring other than a proper suffix or a buffer copy. But that's not really a surprise right?

Well then, don't use zero-terminated strings for proper string processing. You don't have to use zero-termination, even when some programmers in the 70s and 80s were convinced enough of it that abominations like strtok() landed in the standard.

Re:The case against a C alternative by xigoi on Tuesday August 09, 2022 @05:59PM (#32404940)
>You don't have to use zero-termination

You can choose between zero-termination and having to convert strings back and forth when using idiomatic libraries.

Re:The case against a C alternative by jstimpfle on Tuesday August 09, 2022 @08:04PM (#32406312)
Idiomatic is the wrong word here, because it's certainly not idiomatic to do extra allocations when unneeded. Most APIs let you give the length explicitly if it makes any sense. A not very well-known fact is that even printf format strings let you do printf("%.*s\n", 3, "Hello") which only prints "Hel\n". This is in POSIX C, just not sure when it was standardized.