I’ve just finished the ETL exercise on the Rust track and… it confused me a bit. I thought I could share my thoughts here.
First, the exercise has a very straightforward and short solution, even easier than some Easy-level exercises. Yet it has Medium difficulty, which looks odd to me. I would say that it definitely belongs in Easy.
Second, does this exercise really need to employ a BTreeMap as an input and output type? A simple HashMap would work exactly the same here, wouldn’t it? At first it was even misleading because I started to think about the differences between HashMap and BTreeMap, spent some time reading the docs (which is always good, of course). From what I understand it seems like BTreeMap indeed suits better for the given data structure, but there’s nothing specific about it that could affect the solution. Wouldn’t it be better to simply use HashMap, a more basic collection?
(I hope this is the right forum category for this post.)
Thanks Glenn. I’m only subscribed to the Rust category, so I wouldn’t have seen it otherwise
For reference, the PR where the difficulty was changed from 1 to 4 is here:
I’m not inclined to change the difficulty of an exercise, it’s a subjective topic.
About the BTreeMap, I agree that I would make the exercise with a HashMap today, but I don’t think this is enough of an issue to break existing solutions. If people know about the difference between the two, they won’t think twice about it. Otherwise it might lead them to read up on the difference like you did, which is also a good thing.
Thank you for the response! Sure, it isn’t worth breaking the existing solutions just to fix such a minor problem.
Speaking of the difficulty, I agree only partially. It’s indeed a very subjective thing, but in some cases (like this one? :D) I believe it’s pretty obvious. Also, reading from the PR that you linked, it seems like there was an expectation that difficulty levels would be adjusted later to be more precise. I would argue that some Easy exercises aren’t that easy too (like Kindergarten Garden).
May I ask, if there’s a plan to implement some kind of a learning path for Rust, similar to that in the Python track? Just curious, I’ve seen messages on the forum/repository that might imply that.