Hacker News new | ask | show | jobs
by arximboldi 1931 days ago
C++ is vast and diverse, but if you have interest in functional programming you may actually end up enjoying C++, since thanks to it's value types and it's imperfect albeit powerful type system (it's a bit like a compile-time dynamic typing, allowing interesting translation of Lispy patterns). I'm actually on a mission to build a solid ecosystem of functional and value-oriented tools for C++ and interactive software, some of which are used by big companies like Google:

https://github.com/arximboldi/immer

https://github.com/arximboldi/lager

https://github.com/arximboldi/zug

Also, I very agree with what @jasode has said. C++ will be interesting for you if you can do interesting things in C++. That is the main reason I use it: there are certain domains where I work: professional music software, graphics, film, robotics, etc. where there are no solid alternatives (maybe Rust/Nim/Zig if you are very adventurous). This kind of software is actually really cool, it's creative and enhances artists's lives and does not live in magical "clouds" but runs on your machine. The language is imperfect and complicated but working in these domains is really cool and it makes the experience of taming the beast of C++ enjoyable :)

1 comments

What's funny is the move toward value types as trendy right now, meanwhile 10 years ago I was writing copy constructors in C++ to control the value semantics of values.
Yes, I agree! However, I think move semantics and standardization of RVO/Copy Elission have been crucial to make value-semantics work at scale.