News for hackers. Stuff that matters.
Re:Goals and Priorities for C++ by cozzyd on Thursday May 21, 2020 @10:58PM (#23268280)
It makes C++ much less useful to write a library in (or, you have to maintain a fragile C layer). I take it you've never had to deal with a libstdc++ ABI boundary before?
Re:Goals and Priorities for C++ by google234123 on Thursday May 21, 2020 @11:20PM (#23268365)
You can continue working in a world without the small string optimization if you want. There is already precedent.
Re:Goals and Priorities for C++ by CoolGuySteve on Thursday May 21, 2020 @11:35PM (#23268430)
I want a world where the compiler knows when it can use that optimization instead of me bludgeoning it with a global define.

Like you said, it's not even that far fetched.

Re:Goals and Priorities for C++ by gumby on Friday May 22, 2020 @01:43AM (#23268995)
It’s a library feature not as compiler feature so you can’t really get out of telling the compiler which library to use, Eben if what you say is nothing (meaning “default library”)
Re:Goals and Priorities for C++ by adrianN on Friday May 22, 2020 @12:30AM (#23268645)
Maintaining a C layer is standard practice for many libraries because that enables their use from a variety of programming languages. Consequently, the tooling around that is quite mature.
Re:Goals and Priorities for C++ by cozzyd on Friday May 22, 2020 @12:56AM (#23268776)
Sure, but if C++ had a stable ABI, then it would be more practical to directly wrap it. SWIG has some support for C++, after all, and there are a lot of C++ wrappers (e.g. ROOT, pybind11 and Boost.Python can all automagically generate python bindings for C++), but guess what happens when you mix libraries compiled with different std::basic_string ABIs...
Re:Goals and Priorities for C++ by pjmlp on Friday May 22, 2020 @02:25AM (#23269201)
It has two on Windows, they are called COM and UWP, although technically it is just one as UWP is an evolution from COM.

It has has one on IBM i and z/OS, as part of the language environments.

Re:Goals and Priorities for C++ by zozbot234 on Friday May 22, 2020 @08:50AM (#23271472)
C++ has the stable Itanium ABI too, but that doesn't help when needing to bind with code that uses templates or preprocessor macros since those features are inherently language dependent. That's why re-wrapping the code with a C-compatible ABI is often a better approach. COM can also be accessed from C, by the way.
Re:Goals and Priorities for C++ by pjmlp on Friday May 22, 2020 @09:58AM (#23272103)
COM can be used by C if you are a masochist and feel like doing COM "Assembly" programming without some of the compiler hand holding, it got even worse with UWP that uses .NET metadata files, with support for a .NET like type system.

I guess when one is bored might try to re-implement ATL, WTL or UWP projections with C macros.