Hacker News new | ask | show | jobs
by creativeCak3 1400 days ago
I almost exclusively use C++ for my projects. Especially modern C++. When it makes sense(especially for dev tools), I use Python since for those I'm not so worried about distribution and long-term robustness.

Anyway here they are:

Qt desktop app written in C++:https://github.com/thebigG/Tasker

Simple GPIO front-end for linux GPIO driver(could definitely use some improvement) written in C++ and uses boost:https://github.com/thebigG/simple_gpio

WebApp I JUST started working on(This will be a frontend for a YOCTO/FPGA project I'm working on; guitar pedals), and yes it uses good old C++ and runs on the browser:

https://github.com/thebigG/wPedals

And while I'm at it, might as well mention my custom plugins for Godot Game Engine(C++):https://github.com/thebigG/godot-3.x-modules

I have found that C++ is the best compromise for me between performance and elegance ifI do say so myself.

2 comments

How much additional dev overhead is there in using cpp for the web?

How difficult is it to manage updates etc?

What are the benefits in your opinion?

Apparently they're using Wt, "webtoolkit".

https://github.com/thebigG/wPedals/blob/main/src/hello.C

> Wt is a web GUI library in modern C++. Quickly develop highly interactive web UIs with widgets, without having to write a single line of JavaScript.

https://www.webtoolkit.eu/wt

What’s your preferred dependency management strategy?
I know this is a bit of a loaded question in the C/C++ world. But really depends on the project. Most cases it seems I go with CMake just because that's what everybody seems to use most of the time. But I do long for the day that modules get fully implemented in all compilers and we get some kind of standardized solution that's akin to Cargo/npm/maven... One day. I try my best to keep things simple.
vcpkg is fantastic if all your dependencies are already in there, and still good if you need to add your own ports overlay.
I ended up adopting vcpkg because I started using restinio and the examples all used vcpkg to fetch their dependencies.

It was pretty painless to set up on multiple Linux machines, but both times I've tried on Windows, it's been incredibly painful where I've had to walk through each dependency manually, installing each package manually specifying x64-windows in the triplet, and having different CMake errors on each machine.

This surprised me as vcpkg is actually a Microsoft invention, and seems to be widely praised for reducing configuration woes.

I got things set up and working eventually, at which point I could forget about it, but I definitely plan to get rid of CMake from my build process when I have some time.