Skip to content
0:00 / 0:00

#c++#unicode#c++23

Catch ⬆️: Unicode for C++23 - JeanHeyd Meneide - CppCon 2019

CppCon

189K subscribers • 123 videos on Hallway • Conference channel

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by JeanHeyd Meneide, C++ committee member
  • Linked in the descriptionCppCon/CppCon2019

Advanced. Deep dive for people who know the field.

13K views7 years ago1 recommendation

Programming languagesSystems programmingC++Language design and type systems

JeanHeyd Meneide discusses the historical lack of Unicode support in C and C++ and the efforts to standardize text processing for C++23.

CppCon.org Discussion & Comments: reddit.com/r/cpp/ Presentation Materials: github.com/CppCon/CppCon2019 — Catch ⬆️: Unicode for C++23 It's 2019 and Unicode is still barely supported in both the C and C++ standards. From the POSIX standard requiring a single-byte encoding by default, heavy limitations placed in codecvt facets in C++, and the utter lack of UTF8/16/32 multi-unit conversion functions by the standard, the programming languages that have shaped the face of development from operating systems, embedded devices and mobile applications has pushed forward a world that is incredibly unfriendly to a world of text beyond ASCII. Developers frequently roll their own solutions, and almost every major codebase -- from Chrome to Firefox to Qt to Copperspice and more -- all have their own variations of hand-crafted text processing. With no standard implementation in C++ and libraries split between various third party implementations and ICU, it is increasingly difficult and error-prone to handle what is the basic means of communication between people on the planet using C++, let alone the security holes found in hand-rolled libraries that do not carefully handle this tricky design space. Small victories for character types that represent UTF8 exclusively, mandated UTF16 and UTF32 encoding for literals, and updating the Unicode Standard Reference in C++ have been accomplished by Study Group 16, who are the Unicode Arm of Standard C++. With the last of the foundational work to the C standards committee underway and participation from individuals at Mozilla, Google, Qt, Microsoft, Bloomberg, and Apple informing the design, Unicode in C++ is planned to be the biggest and best addition of first-class support for Unicode in C++. This talk is going to be an overview of the problem space -- Text in C++ -- the people who are tackling the problem -- Study Group 16 -- and the first major libraries and works to be produced for handling encoding and normalization both flexibly and efficiently. It will talk about what we learned from its predecessors -- Boost.Text, text_view, ICU and Ogonek -- and what can be reasonably expected for C++23 and what aspirations SG16 has for the future. Come see the new face of a range-friendly encoding, decoding and normalization interfaces in C++. — JeanHeyd Meneide JeanHeyd "ThePhD" is a student at Columbia University in New York. Most of his programming is for fun and as a hobby, even if his largest open-source contribution -- sol2 -- is used across many industries. He is currently working towards earning his own nickname, climbing the academic ladder while spending as much time as possible contributing to C++ standardization and development. He very much loves dogs and hopes to have his own in a year or so. He also likes Vulf's "Tee Time" from the album Mr. Finish Line. — Videos Filmed & Edited by Bash Films: BashFilms.com Work at Hudson River Trading (HRT): tinyurl.com/

Why it's here

1 person recommends this

What people say. Recommended as part of a series of talks explaining the difficulties of Unicode in C++.

u/WafflesAreDangerousin r/programming • Recommends

On “Strings in C - what about now, Reddit ?”

…suringly familiar, but I have no idea how you would implement most of these in O(1). I suspect people will abuse str.getAtCodeUnit(n) or the like and end up with O(n\^2) by accident, and not realise this until they pass in a massive string and find it to be dog slow. There's some nice presentations that devle into unicode issues: \* CppCon 2014 [video \* CppCon 2017 [video (By comment's it seems that there's some caveats, but it has a really nice approachable presentation to convay a good baseline intuitive understanding. It also has a lot of examples of how things can go wrong, so take this as reference to what to look out for!) \* CppCon 2019 [video (Has a good overview of the is…