C++ - Reddit – Telegram
C++ - Reddit
226 subscribers
48 photos
8 videos
24.3K links
Stay up-to-date with everything C++!
Content directly fetched from the subreddit just for you.

Join our group for discussions : @programminginc

Powered by : @r_channels
Download Telegram
Introducing asyncio - a new open-source C++23 coroutine network framework

https://github.com/Hackerl/asyncio

asyncio is a coroutine-based networking framework built on top of libuv. Developed using C++23, it supports Linux, Windows, Android, and macOS, making it compatible with four major platforms.

It is far from being just a toy — it is production-ready code. At my company, software built on top of asyncio is already running on tens of thousands of employee office PCs (Windows/macOS), and Linux servers in production environments are gradually adopting it.

Key Features of asyncio:
- Simple and elegant code: The codebase is designed to be clean and compact.
- Flexible and graceful sub-task management: Manage subtasks effectively and with finesse.
- User-friendly APIs: Borrowed design inspiration from multiple languages, making the APIs intuitive and easy to use.
- Well-designed interfaces: Ensures seamless interaction and borrowing ideas from numerous programming paradigms.
- Straightforward task cancellation: Task cancellation is easy and direct.
- Effortless integration with synchronous code: Integration with threads or thread pools is straightforward and smooth.

https://redd.it/1pep8ie
@r_cpp
Exploring an offline-first and P2P-oriented runtime design in C++20

I’ve been exploring some runtime design ideas in C++20, mostly around problems that appear in unreliable or unstable network environments.

The main concepts I’m experimenting with are:

offline-first execution (local-first state, fallback mode)
P2P communication between nodes
lightweight async HTTP handling
WebSocket-based messaging
a small middleware pipeline
a modular runtime structure instead of a large monolithic framework

I’m mostly curious about whether others in the C++ community have experimented with similar approaches (local-first systems, edge runtimes, distributed execution without strong cloud dependence).

If anyone has insights, prior work, design critiques, or papers worth reading, I would be glad to learn from them.

https://redd.it/1peppj9
@r_cpp
Exploring a local-first C++ runtime

I’m experimenting with a lightweight C++20 runtime focused on offline-first behavior, async HTTP, WebSockets, and optional P2P communication.
Still early, but I’m curious how others in the C++ world approach routing efficiency and local-first resilience in unstable network environments.

https://redd.it/1peswwz
@r_cpp
Anyone else struggling with super slow CI builds lately?

Our CI pipeline has gotten ridiculously slow over the past few months. What used to be 5–10 minutes is now creeping toward 30+, and it’s blocking merges and killing our turnaround time. We’ve cleaned up configs, optimized a few modules, and even bumped our runners, but the performance bump didn’t last long.

Before we start rewriting half the build system, I figured I’d ask: is anyone using something that actually speeds up CI builds in a noticeable way?

https://redd.it/1pf7jwe
@r_cpp
Where is std::optional<T&&>???

10 years ago we've got std::optional<T>. Nice. But no std::optional<T&>... Finally, we are getting std::optional<T&> now (see beman project implementation) but NO std::optional<T&&>...

DO we really need another 10 years to figure out how std::optional<T&&> should work? Is it yet another super-debatable topic? This is ridiculous. You just cannot deliver features with this pace nowadays...

Why not just make std::optional<T&&> just like std::optional<T&> (keep rebind behavior, which is OBVIOUSLY is the only sane approach, why did we spent 10 years on that?) but it returns T&& while you're dereferencing it?

https://redd.it/1pfk0ox
@r_cpp
Unable to job switch

Is anybody facing the same issue as me, not getting shortlisted anywhere. I am not sure what to do. I see my friends switching companies getting paid higher, they are coming from .net, python background. I personally feel that C++ jobs are getting reduced.

Although I am quite good at work still not able to find a better place for me that values my skills.

I am C++ dev having decent knowledge of Qt/QML.
Please share your thoughts.

https://redd.it/1pfw4hl
@r_cpp
The worst programming language of all time

I didn't see it posted here yet. A 2 hour rant about C++

https://youtu.be/7fGB-hjc2Gc

"biggest takeaway from video is that somehow every single C++ feature has its own 400 page book dedicated exclusively to it"

It's hard to disagree with that comment.


https://redd.it/1pfx7zz
@r_cpp
BEEP-8 – compile C++20 to a tiny ARM ROM and run it instantly in a browser

I’ve been working on a small side project called BEEP-8 and thought some C++ folks might find it interesting.

The idea is:

* you write C++20 (subset) against a small SDK
* cross-compile it to a ROM image for a tiny ARM-based “console”
* open a URL, point it at the ROM, and it runs immediately in your browser on PC or phone

No native install, no WASM glue – the browser is just hosting an emulator for a fixed virtual machine.

What the target looks like

* CPU: software ARMv4-ish core, integer-only, fixed 4 MHz “virtual clock”
* Memory: 1 MB RAM, 1 MB ROM
* Video: simple 8/16-bit-style VDP (tilemaps, sprites, 16-colour PICO-8-compatible palette)
* Audio: small tone/noise APU
* Input: buttons plus touch-friendly controls so it works on phones as well

From user code you never touch JS or WebGL; it just looks like a small C++ API plus some memory-mapped registers.

Toolchain / workflow

1. `git clone` [`https://github.com/beep8/beep8-sdk.git`](https://github.com/beep8/beep8-sdk.git)
* The repo includes a preconfigured GNU Arm GCC cross-compiler in-tree, so there’s no separate compiler install.
2. Write code in C or C++20 (integer-only environment) using the SDK headers.
3. Run `make` to build a `.b8` ROM for the virtual ARM machine.
4. Open [`https://beep8.org`](https://beep8.org) (or your own self-hosted copy), select the ROM, and it boots and runs in the browser at 60 fps.

Links

* Live console + sample games/demos (runs directly in the browser): [https://beep8.org](https://beep8.org)

SDK, toolchain, and source (MIT-licensed):
[https://github.com/beep8/beep8-sdk](https://github.com/beep8/beep8-sdk)

I’m curious what the C++ community thinks about this kind of target:

* Would you consider it a useful little playground for teaching C/C++ or for jams / prototypes?
* Any obvious changes you’d make to the API or build flow to make it nicer for C++ developers?
* If you were writing a small C++ library or demo for a 4 MHz ARM with 1 MB RAM, what would you build first?

Happy to answer questions or share more details about the toolchain and runtime if anyone’s interested.

https://redd.it/1pgjqdl
@r_cpp
Why everyone hates on C/C++ source generation?

It allows me to do magical reflection-related things in both C and C++

* it's faster than in-language metaprogramming (see zig's metaprog for example, slows down hugely the compiler) (and codegen is faster because the generator can be written in C itself and run natively with -O3 instead of being interpreted by the language's metaprogramming vm, plus it can be easily be executed manually only when needed instead of at each compilation like how it happens with in language metaprog.).

* it's easier to debug, you can print stuff during the codegen, but also insert text in the output file

* it's easier to read, write and maintain, usually procedural meta programming in other languages can get very "mechanical" looking, it almost seems like you are writing a piece of the compiler (for example

pub fn Vec(comptime T: type) type {
const fields = _std.builtin.Type.StructField{
.{ .name = "x", .type = T, .defaultvalue = null, .iscomptime = false, .alignment = 0 },
.{ .name = "y", .type = T, .defaultvalue = null, .iscomptime = false, .alignment = 0 },
.{ .name = "z", .type = T, .defaultvalue = null, .iscomptime = false, .alignment = 0 },
.{ .name = "w", .type = T, .defaultvalue = null, .iscomptime = false, .alignment = 0 },
};
return @Type(.{ .Struct = .{
.layout = .auto,
.fields = fields0..,
.decls = &.{},
.istuple = false,
}});
}

versus sourcegen noscript that simply says "struct {name} ..."

\* it's the only way to do stuff like SOA for now.. and c++26 reflection looks awful (and super flow)

However I made a post about it on both r/C
Programming and r/cpp and everyone hated on it

https://redd.it/1pgoc4y
@r_cpp
I built an open-source Order Matching Engine from scratch to understand how real exchanges work

My main goals were:

Learn how real-world matching systems work
Study low-latency design tradeoffs
Build something useful for other devs learning system design

I’d genuinely love feedback on:

Architecture decisions
Performance bottlenecks
What features would make this more production-ready

GitHub: https://github.com/PIYUSH-KUMAR1809/order-matching-engine

https://redd.it/1phdp7g
@r_cpp
New C++ Conference Videos Released This Month - December 2025

CppCon

2025-12-01 - 2025-12-07

Optimize Automatic Differentiation Performance in C++ - Steve Bronder - [https://youtu.be/\_YCbGWXkOuo](https://youtu.be/_YCbGWXkOuo)
Is Your C++ Code Leaking Memory? Discover the Power of Ownership-Aware Profiling - Alecto Irene Perez - https://youtu.be/U23WkMWIkkE
The Dangers of C++: How to Mitigate Them and Write Safe C++ - Assaf Tzur-El - [https://youtu.be/6eYCMcOYbYA](https://youtu.be/6eYCMcOYbYA)
Implementing Your Own C++ Atomics - Ben Saks - CppCon 2025 - https://youtu.be/LtwQ7xZZIF4
Building Secure C++ Applications: A Practical End-to-End Approach - Chandranath Bhattacharyya & Bharat Kumar - [https://youtu.be/GtYD-AIXBHk](https://youtu.be/GtYD-AIXBHk)

C++Now

2025-12-01 - 2025-12-07

Lightning Talk: I Now Maybe Understand C++ Hazard Pointers - Denis Yaroshevskiy - https://youtu.be/VKbfinz6D04
Lightning Talk: constexpr Copyright - Ben Deane - [https://youtu.be/WHgZIC-lsiU](https://youtu.be/WHgZIC-lsiU)
Lightning Talk: Replace Git With JJ - Your New Version Control & DevOps Solution - Matt Kulukundis - https://youtu.be/mbK8szLJ-2w

ACCU Conference

2025-12-01 - 2025-12-07

Programming Puzzles - Programming Challenge - Pete Goodliffe - ACCU 2025 Short Talks - [https://youtu.be/jq\_dJPSi\_3M](https://youtu.be/jq_dJPSi_3M)
C++20 Ranges - The Stuff of Science Fiction - Stewart Becker - ACCU 2025 Short Talks - https://youtu.be/Key-bfvDHcE
C++ Keywords Speak for Themselves - Jon Kalb - ACCU 2025 Short Talks - [https://youtu.be/zv9eTr1dCU0](https://youtu.be/zv9eTr1dCU0)

C++ on Sea

2025-12-01 - 2025-12-07

Lightning Talk: Pólya Performance Thinking - Andrew Drakeford - https://youtu.be/qZPBr\_jhE1o
Lightning Talk: Teaching the NES - What 6502 Assembly Reveals About Modern C++ - Tom Tesch - [https://youtu.be/gCM5t0Txf8U](https://youtu.be/gCM5t0Txf8U)
Lightning Talk: Terminating Your Bugs With Time Travel and AI - Rashmi Khetan - https://youtu.be/-OrJyN2Mw7s

Meeting C++

2025-12-01 - 2025-12-07

Our Most Treacherous Adversary - James McNellis - Meeting C++ 2025 lightning talks - [https://www.youtube.com/watch?v=zC\_uwGqSLqQ](https://www.youtube.com/watch?v=zC_uwGqSLqQ)
Let them eat cake - Rahel Natalie Engel - Meeting C++ 2025 lightning talks - https://www.youtube.com/watch?v=gQ6grpbhW8k

https://redd.it/1phh6ae
@r_cpp
Long long is faster than int?

Most of the programmers probably would be fine with int when there are no chances of overflow.

I came across a stack overflow article recently, justifying the reasons behind it.

Though one would hardly care about the difference.
But the thread explains it out very well and it was cool to know about it.

https://redd.it/1phkyy9
@r_cpp
where to post programs where other people can run it?

hello, I am a software engineering student and I just finished my first big coding project for school- a text based version of blackjack. is there somewhere I can publish this so my family can play it and not have to download an IDE or anything? like a website they can visit and play it? thank you

https://redd.it/1phtiee
@r_cpp