
A mathematically oriented approach to practical programming with an emphasis on abstraction via mathematical generalizations.
Since you brought up algebraic structures, C++ can express it directly using template syntax and relationships between them using parametric polymorphism non-OO style. Not only that, but because in C++ genericity is unconstrained, we actually can use OO inheritance for a type hierarchy and then using it to get constrained genericity. This flexibility is quite powerful and you get full type checking.
To understand all this (and apply the concepts in any other language) see the books by Alexander Stepanov viz. From Mathematics to Generic Programming and Elements of Programming.
'Software Fundamentals' by Hoffman and Weiss,
'Writing Solid Code' by Maguire,
'Code Complete' by McConnell
I think that the biggest bend in my mind was when I set myself a goal to try to digest "Elements of Programming" by A. Stepanov and "Modern C++ Design" by A. Alexandrescu. Don't let the "modern" in the title trick you, it's a book from 2001.
But irrelevant of the programming language, which in my example happens to be the C++, these two books triggered me to start challenging the tunnel vision I had up until then. It took me some time and a lot of experimentation to basically unlearn the OOP way of approaching the problems and trying to embrace a totally different, I'd say, almost mathematical way of looking at the things. It felt like a relief and it really had a huge impact not only on my code style but the way I think about the problems.
Since then I think I started producing much simpler and, what I think, non over-engineered code of better quality without a lot of unnecessary cruft.
Oh, I do remember we had cool kidz writing implants in Go, C#
What a failure! That's why the NSA and GRU selected Modern C++!
He selected the wrong tool for the job. Take a look at Flawedgrace, it is written in modern C ++ and very complex to RE. It uses OOP heavily.
Rust is a subset of modern C ++
The Rust people have mastered Alexander Stepanov's vision for C ++
Have a look at Alexander Stepanov's Elements of Programming.
This post just a hidden marketing for his "Blackhat" book.
C++ didn't make any mistakes. The language didn't but the developers did.
It's pity that people portray C++ as dead and horrible lang.
The ecosystem of programming languages has become more like the Ponzi Crypto industry, where every night you get shiny cryptocurrency and then charge for consultations and speaking.