mstdn.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
A general-purpose Mastodon server with a 500 character limit. All languages are welcome.

Administered by:

Server stats:

14K
active users

#cpp

68 posts46 participants3 posts today

There’s a lot to building a good #API. It has to communicate the underlying abstraction well. It has to include the right calls. It has to exclude the “wrong” calls. It has to take inputs and provide outputs in ways that are safe, convenient, and ergonomic. It has to communicate any transfers of ownership. It has to communicate lifetimes. It has to make it clear when some things must happen in a given sequence, and make it easy to call into it that way. It has to separate itself from implementation details. It has to fail in understandable ways at places where the failures can be handled. It has to have good names to back up everything I’ve said so far. It has to have good and up-to-date documentation. It has to have tests that don’t look inside the black box. This is important stuff, because it’s at the APIs that bugs happen: where two different pieces of code rub up against each other. Everything above is true in any language. If you’re writing a library, this is job one.

No language makes all of this easy. Some languages don’t even make all of this possible. #Cpp can do it. #RustLang can do it. Some others I know less well. It takes experience, skill, taste, and domain knowledge to do this. I am loving Rust because part of this job is required by the compiler. It’s still a lot of work; and you still have to do it.

Alright, made it to Munich for the #QTWS25 where I'll be presenting tomorrow. Wondering how to move a legacy code base from QtWidgets to QtQuick? Come to my "Crossing the QtWidgets to QtQuick Bridge" and I'll show you a path to do such a move and the reasons why it could be easier.

qt.io/qt-world-summit-2025/age

Qt World Summit 2025
www.qt.ioAgenda | Qt World Summit 2025Discover the Qt World Summit 2025 Agenda: keynotes, cases, and sessions on software development, UI/UX, and software testing. Plan your summit experience!

New version of the Freestanding implementation for #GCC 15.1.0 available

The code has been branched off and a docker container for #AVR is released.

Want to try out some of the proposals for #Freestanding C++?
Want to mess around with modules?
For the AVR processor (probably the one in your #Arduino board)?

#CPP #Embedded #CppModules

Docker image at hub.docker.com/repository/dock

Source code based on official GCC 15.1.0 with further Freestanding proposals baked in:

gitlab.com/avr-libstdcxx/gcc/-