Catch ⬆️: Unicode for C++23 - JeanHeyd Meneide - CppCon 2019
http://CppCon.org
Discussion & Comments: https://www.reddit.com/r/cpp/
Presentation Materials: https://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: http://www.BashFilms.com
*-----*
The CppCon YouTube Channel Is Sponsored By:
SonarSource: https://www.sonarsource.com/
*-----*
Видео Catch ⬆️: Unicode for C++23 - JeanHeyd Meneide - CppCon 2019 канала CppCon
Discussion & Comments: https://www.reddit.com/r/cpp/
Presentation Materials: https://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: http://www.BashFilms.com
*-----*
The CppCon YouTube Channel Is Sponsored By:
SonarSource: https://www.sonarsource.com/
*-----*
Видео Catch ⬆️: Unicode for C++23 - JeanHeyd Meneide - CppCon 2019 канала CppCon
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
![Code Pages, Character Encoding, Unicode, UTF-8 and the BOM - Computer Stuff They Didn't Teach You #2](https://i.ytimg.com/vi/jeIBNn5Y5fI/default.jpg)
![Lightning Talk: Reading Configuration Values When You Should Not Fail - Matthias Bilger - CppCon 21](https://i.ytimg.com/vi/mtCNe7dcDFU/default.jpg)
![CppCon 2016: Dan Saks “extern c: Talking to C Programmers about C++”](https://i.ytimg.com/vi/D7Sd8A6_fYU/default.jpg)
![Lightning Talk: Creating a GPU With C++ and an FPGA - Iwan Smith - CppCon 2021](https://i.ytimg.com/vi/P7sNVvwhMJA/default.jpg)
![C++Now 2018: JeanHeyd Meneide “Where Should I Be?”](https://i.ytimg.com/vi/Vl8OK1hDYUg/default.jpg)
![CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”](https://i.ytimg.com/vi/yy8jQgmhbAU/default.jpg)
![CppCon 2019: Marshall Clow “std::midpoint? How Hard Could it Be?”](https://i.ytimg.com/vi/sBtAGxBh-XI/default.jpg)
![](https://i.ytimg.com/vi/qWFnSAUYOo0/default.jpg)
![C++23 Standard Library Preview - Jeff Garland - CppCon 2021](https://i.ytimg.com/vi/ySsqD2e5uRQ/default.jpg)
![CppCon 2018: JeanHeyd Meneide “Scripting at the Speed of Thought: Lua and C++ with sol3”](https://i.ytimg.com/vi/xQAmGBfKnas/default.jpg)
![Are Linux Smartphones about to KILL Android?](https://i.ytimg.com/vi/GSudn0qB6u0/default.jpg)
![CppCon 2018: Fedor Pikus “Design for Performance”](https://i.ytimg.com/vi/m25p3EtBua4/default.jpg)
![Easing into Modern C++ (7 Features of C++ You Can Adopt Today)](https://i.ytimg.com/vi/8wnj6M-jj9c/default.jpg)
![CppCon 2016: "WG21-SG14 – Making C++ better for games, embedded and financial developers"](https://i.ytimg.com/vi/dMupATOJKWc/default.jpg)
![Bjarne Stroustrup: Why I Created C++ | Big Think](https://i.ytimg.com/vi/JBjjnqG0BP8/default.jpg)
![C++20 Coroutines: Introduction - Marcin Grzebieluch - code::dive 2019](https://i.ytimg.com/vi/vDA925C55F0/default.jpg)
![CppCon 2017: Gor Nishanov “Naked coroutines live (with networking)”](https://i.ytimg.com/vi/UL3TtTgt3oU/default.jpg)
![CppCon 2019: Ben Deane “Everyday Efficiency: In-Place Construction (Back to Basics?)”](https://i.ytimg.com/vi/oTMSgI1XjF8/default.jpg)
![Why is Python so Slow?](https://i.ytimg.com/vi/x2IQP8iug3c/default.jpg)
![Pragmatic Unicode, or, How do I stop the pain?](https://i.ytimg.com/vi/sgHbC6udIqc/default.jpg)