LegalizeAdulthood / cpp-koans

C++ Koans
MIT License
44 stars 10 forks source link

Consider merging with "CppKoans" #3

Open AlexSzatmary opened 6 months ago

AlexSzatmary commented 6 months ago

Hi, I'm re-learning C++ and I like koans. I started on CppKoans; if you check the PRs there, others have added more but they haven't all been merged. Yours are yet another instance and the version that is most recently updated. I'm considering synthesizing all of these efforts. Would you like to be involved? If so, I'll send PRs your way.

LegalizeAdulthood commented 6 months ago

Sure, combining them seems like a good idea. I browsed that other repository a little bit and since it's not a fork of mine there are differences in style as to how to approach a koan.

I created a koan style just off my own personal whims, but one of my friends said that his content filters started going haywire because I used XXX as an identifier, LOL. I have no strong feelings about the style of what I currently have. It's also a little stale in that I'm not using vcpkg to get the Catch2 dependency set up automatically. This will make it significantly easier for a beginner to get started. I prefer using an existing unit-testing framework over something homebrew.

So first we'll need to decide on the style we're going to use for the koans and how best to combine the two repos.

AlexSzatmary commented 6 months ago

Thanks for the note! Let's see what we can sort out.

I worked through the original "CppKoans". I also worked through a few of yours. I merged in the 2 sets that had PRs that were not merged on the original repo. I'll work through those and if that goes smoothly, post that merged set on my repo. That should be an easy lift. I hope to do that this week.

I had gotten pretty good at C++ 20 years ago but in the meantime became far more proficient with Python. I would like to get more experience with a compiled language and C++ is used a lot in applications that I'm interested in. It's worth it to me to invest in learning. Despite my having not much recent experience with C++, a lot stuck with me and I can crank through the koans quickly. Given how the language has shifted, I think I'll need to learn more to do a good job of updating. I'm planning on working through learncpp.com next, which I think would put me in a better position to revise koan content.

Merging CppKoans and your cpp-koans will be more of an undertaking than just doing the merges I mentioned. The format is definitely different and I'd need to do more to have a sense of which I'd prefer. Reformatting or translating shouldn't be that bad but ideally they'd have a consistent feel, such as amount of difficulty per koan.

I think that the current system tests the learner's solution against the author's koan. I'd also like to add a testing system whereby you can author a koan, author a solution, and have the solve be tested. Without that, I could see myself making goofy errors like leaving the answer in the koan. The testing system I'm thinking of could run easily with textfiles of solutions and regexps. I'm open to thoughts on this.

I appreciate your support for the general idea of merging the repos. If you have a little energy to help out, I'd appreciate it if you could answer questions and offer feedback. If you have a lot of energy, maybe we can collaborate on translating koans and getting the details right.

Thanks for your interest!

LegalizeAdulthood commented 6 months ago

I haven't participated in a while, but there is also a C++ track on exercism.io -- you might want to look at that if you haven't yet.

AlexSzatmary commented 6 months ago

Thanks for the tip! The C content doesn't work correctly in the web browser but, based on your tip, I checked the C++ content and it does seem to function properly. I'll check it out!

LegalizeAdulthood commented 6 months ago

I also just learned about this Modern C++ Programming course

AlexSzatmary commented 6 months ago

Thanks!