Skip to content

config: rectangles topics: replace lifetimes with algorithm#309

Merged
petertseng merged 1 commit intoexercism:masterfrom
petertseng:rect
Jun 20, 2017
Merged

config: rectangles topics: replace lifetimes with algorithm#309
petertseng merged 1 commit intoexercism:masterfrom
petertseng:rect

Conversation

@petertseng
Copy link
Copy Markdown
Member

This has been a long time coming.
Ever since #167 (comment) lifetimes
should not have been a topic for rectangles.
The reasons were discussed there already:

  • The "Putting it All Together" problems do not emphasise Rust language
    features in general.
  • The specific feature "lifetimes" is not implied by this problem. A
    sampling of ten submitted solutions shows two solutions with
    lifetimes.

I used the exercism/problem-specifications#834 command to
inspect other tracks' topics to see if we can glean any insight here.

C#/F#: parsing, transforming
Lua: strings, performance, control-flow (if/else, loops), algorithms

Based on these, my recommendation:

A possible topic is string parsing, because we are reading in a string
and trying to make sense of it. However this is not parsing in the usual
sense that one would use a parser for, which usually deals with text.

If we were to declare "string parsing" a topic of rectangles, we would
probably use it for ocr-numbers too (but we do not; the topics for
ocr-numbers are lines, slices, chunks).

"algorithm" is chosen because significant work will likely go into
devising an algorithm for determining the rectangles, since that is not
immediately obvious from the problem description. Solutions will likely
display a diverse set of approaches.

One might surmise that the alphametics exercise could have this topic as
well, but this commit deals with rectangles only.

This has been a long time coming.
Ever since #167 (comment) lifetimes
should not have been a topic for rectangles.
The reasons were discussed there already:

* The "Putting it All Together" problems do not emphasise Rust language
  features in general.
* The specific feature "lifetimes" is not implied by this problem. A
  sampling of ten submitted solutions shows two solutions with
  lifetimes.

I used the exercism/problem-specifications#834 command to
inspect other tracks' topics to see if we can glean any insight here.

C#/F#: parsing, transforming
Lua: strings, performance, control-flow (if/else, loops), algorithms

Based on these, my recommendation:

A possible topic is string parsing, because we are reading in a string
and trying to make sense of it. However this is not parsing in the usual
sense that one would use a parser for, which usually deals with text.

If we were to declare "string parsing" a topic of rectangles, we would
probably use it for ocr-numbers too (but we do not; the topics for
ocr-numbers are lines, slices, chunks).

"algorithm" is chosen because significant work will likely go into
devising an algorithm for determining the rectangles, since that is not
immediately obvious from the problem description.  Solutions will likely
display a diverse set of approaches.

One might surmise that the alphametics exercise could have this topic as
well, but this commit deals with rectangles only.
Copy link
Copy Markdown
Contributor

@ijanos ijanos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think "algorithm" is a bit too general but I yet to come up with a better name.

@petertseng
Copy link
Copy Markdown
Member Author

It is a difficult one for me, which is why I had not come up with one before this point either. Diverse approaches means it's hard to come up with something, I spupose?

I suppose one can have combinatorics, if one takes the approach of checking every pair of corners, but not all take this approach.

I'll think more about it before merging. Topics are not used, so no rush.

@IanWhitney
Copy link
Copy Markdown
Contributor

Is there a record for most discussion over a one-line change?

@petertseng petertseng merged commit 2b0231d into exercism:master Jun 20, 2017
@petertseng petertseng deleted the rect branch June 20, 2017 17:36
@petertseng
Copy link
Copy Markdown
Member Author

failed to find a better topic. further thought about it would cause the time spent to exceed the value of the change (the value of the change is almost zero because topics are not used). so it has to be merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants