[Info-vax] Calling $CREPRC in COBOL
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Sun Jul 3 23:23:56 EDT 2022
On 2022-07-03 20:15:58 +0000, seasoned_geek said:
> On Tuesday, June 28, 2022 at 7:43:54 AM UTC-5, Arne Vajhøj wrote:
>> On 6/27/2022 10:46 PM, Craig A. Berry wrote:> >> B) UTF-16 internal and
>> UTF-8 external> >>> >> That one requires a lot of work.> >>> >> Library
>> support.> >>> >> Application changes.> >>> >> But it is efficient.> >>>
>> >> Which is why C/C++, Java and .NET all chose that path.> >> > I think
>> they made those choices when UCS-2 was current and everyone> > thought
>> a wider fixed-width encoding would be enough.
>> Yes.
>>> UTF-16 needs all> > of the same varying-width handling that UTF-8
>> In theory yes.>> In practice it is common for applications only to support BMP.
>>> does but uses twice as> > much memory for the most common characters.
>> Most don't care.
> Actually most do care about the memory consumption. Especially when it
> cascades out to disk that is too small. They also care about the
> overhead of CHAR processing.
>
> C++ will soon follow the path CopperSpice took. They created QChar32
> because we are now out to 32-bit Unicode. UTF-8 and UTF-16 have their
> own hacks for multi-unit characters and that adds processing overhead.
> The 32-bit character approach allows the database/indexed file/real
> data storage that isn't JSON or XML to cleanly do record compression
> for storage and decompression for retrieval without making the
> processor drag the 8-bottom plow of multi-unit character processing.
ObjC and ObjC++ solved this soup years ago.
As for C++, that's been a bit of a dog's breakfast for a while, and I use it.
Microsoft messed up with their wchar_t choice, which hasn't helped code
portability. Akin to the size_t choice on OpenVMS.
Characters (first) outside of what can be stored in char16_t happened
just after Y2K with Unicode 3.1, not that most folks noticed.
And yeah, the first plane (65536) is all but full now, so off into
char32_t for ~anything new.
The ICU, Reichwein, libunicode, or other available libraries might help
with Unicode. Or Boost, of course.
Or Go, Rust, Swift, or various other language choices—if OpenVMS isn't
a target, that is.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list