-
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
Vix.cpp vs. Drogon/Crow: Is a "Node.js-like" workflow the future for modern C++ backend development? Looking for expert feedback!
Hi everyone,
I’ve been deeply exploring modern C++ (C++20/23) for backend architecture, looking at how we can make high-performance systems more accessible to developers coming from ecosystems like Node.js, Go, or Rust without losing raw native performance or explicit control.
We all know the established giants: Drogon is incredibly fast and feature-rich (but relies heavily on its own CMake setups, complex configuration files, and drogon_ctl), and Crow is fantastic for small, microservice-like Express-style APIs, but can feel limited when scaling full production runtimes.
Recently, I’ve been looking into Vix.cpp, and I feel it approaches the problem from a completely different angle that benefits both beginners and modern backend design. I’d love to get the community's expert thoughts on its architecture and ergonomics.
Why Vix.cpp caught my attention (especially compared to Drogon/Crow):
It’s a Runtime, not just an HTTP Library: While Crow and Drogon focus heavily on routing and HTTP, Vix.cpp acts more like a native application runtime (akin to a native alternative to Node/Bun, but without a GC or engine overhead). It bundles out-of-the-box non-blocking asynchronous modules (async, fs, crypto, db, p2p_http, webrpc) designed to work together coherently.
The Developer Workflow (UX/DX): For beginners or developers migrating to C++, managing CMakeLists.txt pipelines, linking dependencies, and configuring build environments is usually a massive friction point. Vix provides a unified CLI toolchain:
Bash
vix new api vix install vix run main.cpp vix build vix tests
It doesn't replace CMake underneath (you can keep your custom setups), but it abstracts the lifecycle smoothly.
Ergonomic Middleware and State Management: Unlike older frameworks where middleware composition can accidentally introduce blocking calls or obscure types, Vix utilizes a modern context-based layout (MiddlewareFn) with safe, explicit type-based request storage (similar to std::any via state injections).
The Trade-offs & Questions for the Experts:
As much as I like the ergonomics and the data-oriented feel of Vix, I want to spark an honest discussion:
Performance at Scale: Drogon is consistently at the top of TechEmpower benchmarks. Vix uses a modern Asio-based async core and boasts great local release metrics, but how does its runtime abstraction handle raw throughput under extreme hardware utilization compared to Drogon’s thread-pool model?
Ecosystem Isolation: Does building an integrated module ecosystem (vix::db, vix::net, vix::json) run the risk of alienating developers who prefer to manually stitch together standalone libraries (like nlohmann/json or fmt) via vcpkg/Conan?
Is this the right path for beginners? Do you think providing an "all-in-one" workflow layer lowers the barrier to entry for C++ backend engineering, or does it abstract too much of the underlying native toolchain mechanics?
I’d highly appreciate it if the veterans here could take a look at the architecture, tell me where this approach might fall short, or share your experiences if you've integrated Vix into your production stack.
https://redd.it/1ujzlmn
@r_cpp
https://cppcon.org/class-2026-low-latency/
CppCon Onsite Workshops
All onsite workshops will take place in the Gaylord Rockies in Aurora, Colorado
12th & 13th September
1. Advanced and Modern C++ Programming: The Tricky Parts – Nicolai Josuttis – 2 day in-person workshop available on 12th & 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-tricky-parts/
2. C++ Best Practices – Jason Turner – 2 day in-person workshop available on 12th & 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-best-practices/
3. How Hardware Gets Hacked: Breaking and Defending Embedded Systems – Nathan Jones – 2 day in-person workshop available on 12th & 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-hardware-hack/
4. Mastering `std::execution`: A Hands-On Workshop – Mateusz Pusz – 2 day in-person workshop available on 12th & 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-execution/
5. Performance and Efficiency in C++ for Experts, Future Experts, and Everyone Else – Fedor Pikus – 2 day in-person workshop available on 12th & 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-performance-and-efficiency/
6. Talking Tech – Sherry Sontag – 2 day in-person workshop available on 12th & 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-talking-tech/
13th September
1. AI++ 101 : Build a C++ Coding Agent from Scratch – Jody Hagins – 2 day in-person workshop available on 12th & 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-AI101/
2. Essential GDB and Linux System Tools – Mike Shah – 1 day in-person workshop available on 13th September – 09:00 – 17:00 – https://cppcon.org/class-2026-essential-gdb/
19th & 20th September
1. AI++ 201: Building High Quality C++ Infrastructure with AI – Jody Hagins – 2 day in-person workshop available on 19th & 20th September – 09:00 – 17:00 – https://cppcon.org/class-2026-ai201/
2. Function and Class Design with C++2x – Jeff Garland – 2 day in-person workshop available on 19th & 20th September – 09:00 – 17:00 – https://cppcon.org/class-2026-function-class-design/
3. High-performance Concurrency in C++ – Fedor Pikus – 2 day in-person workshop available on 19th & 20th September – 09:00 – 17:00 – https://cppcon.org/class-2026-high-perf-concurrency/
OTHER NEWS
(NEW) Accepted Sessions For Meeting C++ Announced – Visit [https://meetingcpp.com/mcpp/schedule/talklisting.php](https://meetingcpp.com/mcpp/schedule/talklisting.php) to see the list of accepted talks
(NEW) Last Chance To Apply For CppCon 2026 Attendance Support Ticket Program! – Includes free tickets for people who would not be able to attend otherwise. Find out more including how to apply at https://cppcon.org/cppcon-2026-attendance-support-ticket-program/
https://redd.it/1ujukl2
@r_cpp
Fastest theoretical Wordle solver written in pure C++ by hand
https://github.com/saieshshirodkar/wordle-solver
https://redd.it/1ujs8dx
@r_cpp
Upcoming C++ User Group meetings in July 2026
https://meetingcpp.com/meetingcpp/news/items/Upcoming-Cpp-User-Group-meetings-in-July-2026.html
https://redd.it/1ujp7bw
@r_cpp
sussurro.cpp: I reimplemented the OPUS-MT / Marian translation architecture (encoder–decoder seq2seq) in C++ on ggml
https://github.com/whispem/sussurro.cpp
https://redd.it/1ujjjuj
@r_cpp
FIX implementation
I want to implement low latency high throughput FIX server and client, where should I start? Any guides?
https://redd.it/1uj93w1
@r_cpp
reserve() and capacity() for flat containers
I just finished the new chapter in "C++23 - The Complete Guide" about flat containers and would like to share and discuss my advice about how to use reserve() and capacity() for flat containers (thanks to Jonathan Wakely who was pointing parts of this out).
It might be a surprise that these member functions do not exist as usually vectors are used inside flat containers and reserve() is a key performance feature of them.
However, here is how you can reserve more memory:
For flat\_set and flat\_multiset:
​
auto vec = std::move(fset).extract(); // temporarily extract the underlying vector
data.reserve(vec.capacity() 5); // raise capacity by a factor of 5
fset.replace(std::move(vec)); // move the vector back into the flat set
For flat\_map and flat\_multimap:
​
auto newCapa = fmap.keys().capacity() 5; // raise capacity by a factor of 5
auto data = std::move(fmap).extract(); // extract underlying vectors
data.keys.reserve(newCapa); // raise capacity of vector for keys
data.values.reserve(newCapa); // raise capacity of vector for values
fmap.replace(std::move(data.keys), // move the vectors back
std::move(data.values))
Note also that there is another pretty hacky way, but only for flat maps and multimaps (here mapping strings to double's):
​
auto newCapa = fmap.keys().capacity() 5;
constcast<std::vector<std::string>&>(fmap.keys()).reserve(newCapa);
constcast<std::vector<double>&>(fmap.values()).reserve(newCapa);
Yes, ugly, but works... ;-)
I am still working on adding reserve() and capacity() to the standard flat containers (see wg21.link/p3779)
https://redd.it/1uj3tau
@r_cpp
as a Code Author - Ben Deane - https://youtu.be/zygtgvHp\_MM
Lightning Talk: Eight Consteval Queens and Compile-Time Printing - Sagnik Bhattacharya - [https://youtu.be/gNPhJrXLiIs](https://youtu.be/gNPhJrXLiIs)
Instrumenting the Stack: Strategies for End-to-end Sanitizer Adoption - Damien Buhl - https://youtu.be/TSrymTXw5w8
https://redd.it/1uivdly
@r_cpp
Optimizing LLVM's bump allocator
https://maskray.me/blog/2026-06-28-optimizing-llvm-bump-allocator
https://redd.it/1uir81p
@r_cpp
r/cpp removes human made posts as written by AI
See https://www.reddit.com/r/cpp/comments/1ui5ujb/comment/oufi4x3/?screen\_view\_count=5
How am I supposed to share what I work on?
It's never nice to have what you wrote called slop, I guess people here don't realize how hurtful it can be u/STL
https://redd.it/1uijvmt
@r_cpp
I'm building a Cargo-like build system for C++. Currently at v0.3.0 with automatic CMake migration. Looking for feedback.
Hey r/cpp!
I'm a 14-year-old, and I've spent my summer building \`deft\` — a build system for C++ that works like Cargo.
Current status:
* **Core Engine:** High-performance, zero-dependency C/C++ build system written in Rust.
* **Build Optimization:** Global build caching and strict toolchain pinning are fully functional.
* **Manifest Support:** Custom, dependency-free TOML parser handles basic profiles (`[profile.c]`, `[profile.cpp]`), language standards, optimization levels, macro definitions (`defines`), and the low-level `extra_flags` array.
I ported nlohmann/json and it worked flawlessly.
GitHub: [https://github.com/deft-cli/deft](https://github.com/deft-cli/deft)
I'm looking for feedback from C++ devs.
https://redd.it/1ui7jlf
@r_cpp
Leadwerks Summer Games tournament begins
https://www.youtube.com/watch?v=s_3kj7F59eQ
https://redd.it/1ui0lbx
@r_cpp
libc
Is what I'm saying correct or not? Doesn't every Linux system need to include glibc so that user-space programs, like Bash, can invoke system calls? In other words, glibc provides the wrappers that let C programs make system calls without me having to write assembly and execute the syscall instruction manually. Is that correct?
https://redd.it/1uhdr25
@r_cpp
SoA
I am working on a universal SoA library that will leverage C++ reflection. If you're interested in contributing, comment or DM. The first draft is on a private repo for now.
https://redd.it/1uh53rs
@r_cpp
Reducing Energy Consumption for Machine Learning Inference on Edge Devices using C++20 Coroutines
https://dl.acm.org/doi/10.1145/3821577
https://redd.it/1ugw7nn
@r_cpp
Nuevo framework en c++ vixcpp
Hace un tiempo sigo a gari el creador de vixcpp en framework bastante interesante vengo practicando cosas en drogon y obviamente lo mas difícil no es c++ en si, sino lograr ingresar todo hasta despliegue, algo que vixpp a mitigate mucho con su vix run al estilo cargo de run. Me gustaría escuchar las opiniones de los expertos y los que no lo conozcan hechenle un ojito
https://redd.it/1ujt95y
@r_cpp
Latest News From Upcoming C++ Conferences (2026-06-30)
This is the latest news from upcoming C++ Conferences. You can review all of the news at https://programmingarchive.com/upcoming-conference-news/
TICKETS AVAILABLE TO PURCHASE
The following conferences currently have tickets available to purchase
CppCon (12th – 18th September) – You can buy standard tickets until August 29th at [https://cppcon.org/registration/](https://cppcon.org/registration/)
C++ Under The Sea (14th – 16th October) – You can buy early bird tickets at https://sales.ticketing.cm.com/cppunderthesea2026/
(NEW) ADC – (9th – 11th November) – Tickets for ADC can now be purchased at [https://ti.to/audio-developer-conference/adc-bristol-2026](https://ti.to/audio-developer-conference/adc-bristol-2026)
Meeting C++ (26th – 28th November) – You can buy early bird tickets at https://meetingcpp.com/2026/
OPEN CALL FOR SPEAKERS
OTHER OPEN CALLS
(NEW) CppCon Call For Volunteers Now Open – Interested volunteers have until August 1st to apply at the CppCon main conference which is scheduled to take place from 14th – 18th September. For more information including how to apply visit [https://cppcon.org/cfv2026/](https://cppcon.org/cfv2026/)
(Last Chance) CppCon Call For Posters Now Open – Interested poster presenters have until July 15th to submit their applications for the CppCon main conference which is scheduled to take place from 14th – 18th September. For more information including how to apply visit https://cppcon.org/cppcon-2026-call-for-poster-submissions/
CppCon Call For Authors Now Open! – CppCon are looking for book authors who want to engage with potential reviewers and readers. Read the full announcement at [https://cppcon.org/call-for-author-2026/](https://cppcon.org/call-for-author-2026/)
TRAINING COURSES AVAILABLE FOR PURCHASE
Conferences are offering the following training courses:
C++Online
1. AI++ 101 – Build an AI Coding Assistant in C++ – Jody Hagins – 1 day online workshop available on Friday 24th July 16:00 – 00:00 UTC/0900-1700 PDT – [https://cpponline.uk/workshop/ai-101/](https://cpponline.uk/workshop/ai-101/)
Watch the preview session here https://youtu.be/suP5zA7QqW4
CppCon Online Workshops
9th – 11th September
1. Modern C++: When Efficiency Matters – Andreas Fertig – 3 day online workshop available on 9th – 11th September 09.00 – 15.00 MDT – https://cppcon.org/class-2026-when-efficiency-matters/
2. System Architecture And Design Using Modern C++ – Charley Bay – 3 day online workshop available on 9th – 11th September 09.00 – 15.00 MDT – https://cppcon.org/class-2026-system-architecture-and-design-using-modern-cpp/
21st – 23rd September
1. C++ Fundamentals You Wish You Had Known Earlier – Mateusz Pusz – 3 day online workshop available on 21st– 23rd September 09.00 – 15.00 MDT – https://cppcon.org/class-2026-cpp-fundamentals/
2. C++23 in Practice: A Complete Introduction – Nicolai Josuttis – 3 day online workshop available on 21st– 23rd September 09.00 – 15.00 MDT – https://cppcon.org/class-2026-cpp23-in-practice/
3. Programming with C++20 – Andreas Fertig – 3 day online workshop available on 21st– 23rd September 09.00 – 15.00 MDT – https://cppcon.org/class-2026-programming-with-cpp20/
26th – 27th September
1. Using C++ for Low-Latency Systems – Patrice Roy – 2 day online workshop available on 26th– 27th September 09.00 – 17.00 MDT –
Introducing the Boost Documentary! Teaser & CppCon Preview
"If I were to tell a story about Boost, I'd start with the people."
Today we're sharing the official teaser for the Boost documentary. A film about the people, the politics, and decades of work behind possibly the most important open source library most people have never heard of.
Teaser link – [https://youtu.be/87jvuDbnwqQ](https://youtu.be/87jvuDbnwqQ)
The documentary looks at:
* Boost as a kind of "app store for C++, 30 years early"
* What decades of open source dedication looks like up close
* The honest, sometimes uncomfortable dynamics of how proposals and people move through the C++ committee
There will be a preview screening at CppCon 2026 for all attendees. So if you're going to be in Aurora, CO September 16, 2026, please join us!
https://redd.it/1ujqpdy
@r_cpp
Bloomberg Terminal costs $24,000/year. I built a free open-source clone in C++ that runs in your terminal.
https://github.com/Sqwerzyyy/Quaanz/tree/main/bloomberg-terminal
https://redd.it/1ujong1
@r_cpp
Stackful fibers with 3.6ns context switch. Silk fibers.
https://clickhouse.com/blog/silk
https://redd.it/1ujdcfk
@r_cpp
Compiler disagreements for deducing this
https://godbolt.org/z/rTTWzedPj
https://redd.it/1uj8n4l
@r_cpp
Comparing an Integer Division Optimisation in Clang, MSVC, and GCC
https://nukethebees.com/int-division-modulo-optimisation-differences-clang-gcc-msvc/
https://redd.it/1uj2ndw
@r_cpp
New C++ Conference Videos Released This Month - June 2026 (Updated to Include Videos Released 2026-06-22 - 2026-06-28)
C++Online
2026-06-22 - 2026-06-28
Keynote: I Fixed Move Semantics - Jason Turner - [https://youtu.be/TJhMGS9sRlw](https://youtu.be/TJhMGS9sRlw)
Singletons Are Not Evil - You’re Just Using Them Wrong - Mostafa Mahmoud Ali - https://youtu.be/Bn5RFaXATuU
2026-06-15 - 2026-06-21
The Art of API Design - Christoph Stiller - [https://youtu.be/d5djrT4qfHc](https://youtu.be/d5djrT4qfHc)
Top-Performance Genetic Programming - Can Only C++ Get You There? - Eduardo Madrid - https://youtu.be/oBQDe56Yi3Q
2026-06-08 - 2026-06-14
Monads Meet Mutexes - Arne Berger - [https://youtu.be/AisGDOoF82U](https://youtu.be/AisGDOoF82U)
Lock-free Queues in the Multiverse of Madness - Dave Rowland - https://youtu.be/eHmjkFdQl00
2026-06-01 - 2026-06-07
Writing C++ Code is Challenging, Writing Performant C++ Code is Daunting - Dmitrii Radivonchik - [https://youtu.be/R2sm9mailuU](https://youtu.be/R2sm9mailuU)
Case Study - Purging Undefined Behavior and Intel Assumptions in a Legacy Codebase - Roth Michaels - https://youtu.be/H-dHTeSR\_n8
ADC
2026-06-22 - 2026-06-28
Demystifying std::memory\_order - Timur Doumler - [https://youtu.be/yc2HC2w5pzI](https://youtu.be/yc2HC2w5pzI)
Building Smartphone Instruments from Commodity Hardware - HID Controllers, Embedded Audio, and Modular Design - Calvin McCormack - https://youtu.be/uqKkP0zFBGg
Why Do People Actually Buy Music Software, Anyway? - James Russell - [https://youtu.be/25sYPk2ZxIY](https://youtu.be/25sYPk2ZxIY)
Contrapunk - From Palestrina's Rules to Real-Time MIDI Harmony - Vibhav Bobade - https://youtu.be/GreYwDBFWb4
2026-06-15 - 2026-06-21
Scripting Architecture for a DAW-like Plugin - How we Implemented Lua and JavaScript Scripting for Synthesizer V Studio - Kanru Hua - [https://youtu.be/CKOvmBRdHAA](https://youtu.be/CKOvmBRdHAA)
Patterns of Practice: Live Coding and the Logic of South Asian Traditional Music - Abhinay Khoparzi - https://youtu.be/n0-XpUhZ7Dc
ADC 2015 to 2035 - Looking Back at 10 Years of Audio Dev, and Peering Forward at the Next 10 - Julian Storer - [https://youtu.be/WvVur2\_aGHU](https://youtu.be/WvVur2_aGHU)
From DAW to Game Engine - Unfiltered Creativity - Nikhil Dahake - https://youtu.be/5PtMWJLFjyo
2026-06-08 - 2026-06-14
Low Latency Android Audio with improved CPU Performance - Phil Burk - [https://youtu.be/DtBrKEu0R0g](https://youtu.be/DtBrKEu0R0g)
Linux as the Conductor - Driving Pre-Compiled Audio DSP Kernels on C7x for Real-Time Processing - Vishnu Pratap Singh - https://youtu.be/Auq9WnHNtPo
Overview of Granular Synthesis - Avrosh Kumar - [https://youtu.be/QpBV24nWg2M](https://youtu.be/QpBV24nWg2M)
The Agentic Symphony - Multi-Agent Collaboration for Emergent Musical Composition - Meera Sundar - https://youtu.be/QMUXoImgTIA
2026-06-01 - 2026-06-07
Beyond the DAW - Designing a Procedural Sequencer Powered by Music-Theory - Romy Dugue & Cecill Etheredge - [https://youtu.be/48sH4wQUDAs](https://youtu.be/48sH4wQUDAs)
From DAW Users to Audio Developers - Teaching JUCE to Creative Minds - Milap Rane - https://youtu.be/200UrugEanY
Music Design and Systems - Achieving Inaudibly Complex Systems in Video Games - Liam Peacock - [https://youtu.be/R6raBvCNsQo](https://youtu.be/R6raBvCNsQo)
Developing for Avid’s Audio Ecosystem - Rob Majors - https://youtu.be/91-7YWVKRE4
CppCon
2026-06-22 - 2026-06-28
C++ The Documentary: Live Panel Discussion with Bjarne Stroustrup, Herb Sutter & More - [https://youtu.be/zMYZ5MFQAho](https://youtu.be/zMYZ5MFQAho)
2026-06-01 - 2026-06-07
Lightning Talk: Navigating Code Reviews
Command Routing Using Chain Of Responsibility Design Pattern
https://som-itsolutions.hashnode.dev/command-routing-using-chain-of-responsibility-design-pattern
https://redd.it/1uio33d
@r_cpp
Rigx: toml based build system with native C/C++ support, hermetic build and tool chains leverage nix.
https://github.com/unofficialtools/rigx
https://redd.it/1ui8otp
@r_cpp
Collider: A package manager for Meson - A hash proves the bytes, not the source
https://collider.ee/blog/2026-06-28-1500_a_hash_proves_the_bytes_not_the_source/
https://redd.it/1ui5ujb
@r_cpp
Best resources for LLD and HLD using C++? (Is Shrayansh Jain's playlist too theory-heavy?)
Hey everyone,
I’m currently preparing for a role switch and looking for solid, structured resources to master both Low-Level Design (LLD) and High-Level Design (HLD). My primary and preferred programming language is C++.
One of my seniors strongly recommended Shrayansh Jain's (Concept & Coding) LLD and HLD playlists on YouTube. I don’t mind investing in the channel membership if it’s genuinely worth it, but looking through the structure, it feels a bit theory-heavy. I learn best when things are highly practical and implementation-focused rather than just purely conceptual.
For those who have taken it or used other resources:
1. Is Shrayansh's course worth it if my goal is to implement a machine-coding round?
2. Since most popular LLD content out there is flooded with Java/Spring Boot examples, what are the best high-signal resources, repositories, or playgrounds for handling LLD specifically in C++?
3. Any gold-standard recommendations for HLD that focus heavily on practical trade-offs rather than generic theoretical architectures?
Appreciate any leads, GitHub repos, or course suggestions. Thanks!
https://redd.it/1uhv7cu
@r_cpp
A deep dive into SmallVector::push_back
https://maskray.me/blog/2026-06-27-a-deep-dive-into-smallvector-push-back
https://redd.it/1uh9xe4
@r_cpp
Data Access Patterns That Makes Your CPU Really Angry
https://blog.weineng.me/posts/slowest_add/
https://redd.it/1uh443b
@r_cpp
Panel discussion for C++: The Documentary
https://www.youtube.com/watch?v=zMYZ5MFQAho
https://redd.it/1ugu3ng
@r_cpp