Hello All,
I am inquiring to know if there are any libraries or related I can help contribute to here at the Beman project?
As I am new here, I will introduce my background, general strengths and current lackings:
I have never worked in industry, but I have taught myself C++ in my spare time since 2005. I would like to contribute to a project such as Beman in hopes I can learn industry related skills and best practices—ones which I may never have developed having worked on my own this whole time.
I am certain there are gaps in my knowledge, but there are also areas I know quite well. Enough so that I have given in person talks at C++Now and CppNorth both in 2024. I consider myself a metaprogrammer.
My academic background is an undergraduate degree in mathematics. I took the honours route which I mention because it means I’m quite comfortable with proof and logic related thinking. As for more recent knowledge acquisition, I’ve built my own proof of concept compiler front end, so I have general knowledge about lexers and parsers, etc.
The other thing worth mentioning is that I was a curriculum writer for an educational non-profit organization about 7 years ago, so I might be helpful in contributing to things like documentation as well.
Thank you.
2 Likes
Hi Daniel. Welcome!
I would say that last suggestion is an easy one to agree with. Typically, the best authority on the quality of documentation is the next person to join in. I think that means it’s you now! If you find anything confusing, missing, or otherwise needing more attention, make an issue, PR, or Discourse thread. Jump on in.
As to library projects, I’m not the person with the best opinions. I’ll let others weigh on that. But you sound plenty qualified to pick something up. And if you’d like to start by trying out existing repos and giving feedback, please do. That sort of interaction is part of the point of this whole thing.
If you’re at C++Now again this year, say hi though. I expect we’ll be doing more Beman Project hacking for Library in a Week as well.
Bret
Daniel, welcome to the project! Glad to have you.
I second Bret’s suggestion. It would be a great start to try building and running exemplar to see if the docs can be improved.
Given your math credentials, I wonder if you’d be interested in implementing beman.bounds_tests. Note that there are other issues, like that one, that are marked as “good first issue” here.
Are you going to be at C++Now this year?
We’re definitely trying to be intentional about best practices, and I hope we provide good experience with that. Exemplar is definitely the place to look for that. I’ve been working primarily on optional<T&> and try to keep up with the successes we’ve got in exemplar there. I’ll probably be trying to get package consumption and publishing working next, after getting the paper through LWG.
I got my B.S. in Math a very long time ago, although very little of it was computer related at the time other than pretty pictures for work in fractals and dynamical systems, I mostly stayed on the analysis side of the house, so to speak, where the mathy bits of CS are more in the algebraic side.
“The standard is not a tutorial,” and most of the docs in optional are the paper proposing it and explaining or justifying the design choices. Docs are something I feel very guilty about there. I’m also, however, a bit leary of doxygen in that it produces a lot of volume of docs that are just the code in disguise? I’m not sure that adds value without actual docs.
I think it’s also important to know that as of around C++20 or 23, writing C++ from the standard is fairly straightforward. There are still a few bits of magic wording where it’s not obvious what the expected translation to code is, but it’s no longer complicated template metaprogramming with many SFINAE tricks, it’s slightly less complex programming with concepts, constexpr, and consteval.
Implementing is definitely one of the best ways of learning a component, particularly with the tests and examples, so picking something proposed that you’re interested in and diving in is something we’re here to support you in.
Hello all,
Thank you Bret, David, and Steve for your feedback, suggestions, and recommendations.
It helps when people make expectations clear as I find every community has their differences, and it’s best not to assume.
On a less related note, I am in the process of relocating for a job, so until things settle (in a few weeks) I’ll be away from this project. Otherwise, I plan to spend more time going through documentation and figuring out how I can contribute in those areas as a start.
As for your inquiry, I am unable to make it to C++Now this year, but I had an amazing time last year and I hope to return in the future.
1 Like