Wording in Two Bucket Exercise

I was fairly confused by the wording of the exercise. Mainly of the following sentence.

After an action, you may not arrive at a state where the starting bucket is empty and the other bucket is full.

My understanding of that sentence was that the it is referring to the starting bucket of the current action. However, the sentence is referring to the initial starting bucket. I only realized that after checking the community solutions.

Could you change the wording to make it clearer?

How would you propose wording that to be more clear?

Maybe just to add an ā€˜initialā€™. So it would read.

After an action, you may not arrive at a state where the initial starting bucket is empty and the other bucket is full.

If you want to get wordier, you could elaborate that this is the one that is supplied as a parameter in the call to the measure function of the exercise but pointing out that the sentence is referring to a single state should make it clearer.

Doesnā€™t ā€œstartingā€ mean ā€œat the startā€ or ā€œinitialā€? Iā€™m not understanding what ā€œinitialā€ changes.

I am not a native speaker, so maybe this is obvious, but I was not clear that the starting bucket is determined by the parameter you get in the call to the program.
From reading the text my assumption was that the starting bucket was referring to the source bucket of the current action (empty bucket, fill bucket, or pour the content of one bucket into the other). So potentially the starting bucket could change with every action.

You may not reverse the starting conditions. For example, emptying the initial bucket and filling the other bucket results in an illegal state.

Is that more clear?

Iā€™m not a native speaker either, but personally I find ā€œstarting bucketā€ easier to understand than ā€œinitial bucketā€.
If ā€œstarting bucketā€ is unclear because it might refer to the starting bucket of the current action, then how about ā€œinitial starting bucketā€?

1 Like

I think ā€œinitial starting bucketā€ is clearer and should be consider.
However I do want to ask OP whether or not if they read the whole exercise, because there is a clear example later on explaining the situation quite well .

Another Example: Bucket one can hold 3 liters, and bucket two can hold up to 5 liters. You are told you must start with bucket one. So your first action is to fill bucket one. You choose to empty bucket one for your second action. For your third action, you may not fill bucket two, because this violates the third rule -- you may not end up in a state after any action where the starting bucket is empty and the other bucket is full.

I must admit I skipped the last sentence in the example. That clarifies it pretty much. My bad. However, if you want to put it into the description more prominently, I would go with ā€œinitial starting bucketā€.

It sounds like the consensus is ā€œinitial starting bucketā€ would make the exercise easier to understand.

@wagenert Would you like to open a PR for the problem specifications repo? Would you prefer someone else, like myself, make the PR?

How about ā€œvery first bucketā€ instead of ā€œinitial starting bucketā€? ā€œInitial startingā€ feels a bit odd to me too. If it adds clarity, then I donā€™t mind it being odd, but maybe just rewording the sentence in general would help?

I have created a pull request for the ā€œinitial starting bucketā€.

@iHiD: Further down in the description the parameter of the ā€œinitial starting bucketā€ is referred to as the ā€œbucket to fill firstā€. Using that term would make it consistent at least.

I donā€™t see a PR on the problem specifications repo.

See Changed wording for two bucket exercise. by wagenert Ā· Pull Request #2347 Ā· exercism/problem-specifications Ā· GitHub