Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exercises no longer ask developers to 'write a function' (#2396) #2406

Conversation

adamazing
Copy link
Contributor

Some proposed wording changes to avoid use of "write a function"/"create a function".

PR for Issue #2396

Signed-off-by: Adam Henley <adamazing@gmail.com>
@adamazing adamazing requested a review from a team as a code owner March 19, 2024 01:27
Copy link
Contributor

Hello. Thanks for opening a PR on Exercism 🙂

We ask that all changes to Exercism are discussed on our Community Forum before being opened on GitHub. To enforce this, we automatically close all PRs that are submitted. That doesn't mean your PR is rejected but that we want the initial discussion about it to happen on our forum where a wide range of key contributors across the Exercism ecosystem can weigh in.

You can use this link to copy this into a new topic on the forum. If we decide the PR is appropriate, we'll reopen it and continue with it, so please don't delete your local branch.

If you're interested in learning more about this auto-responder, please read this blog post.


Note: If this PR has been pre-approved, please link back to this PR on the forum thread and a maintainer or staff member will reopen it.

@github-actions github-actions bot closed this Mar 19, 2024
@BNAndras BNAndras reopened this Mar 19, 2024
exercises/alphametics/description.md Outdated Show resolved Hide resolved
exercises/darts/description.md Outdated Show resolved Hide resolved
exercises/flatten-array/description.md Outdated Show resolved Hide resolved
exercises/go-counting/description.md Outdated Show resolved Hide resolved
exercises/go-counting/description.md Outdated Show resolved Hide resolved
exercises/nucleotide-codons/description.md Outdated Show resolved Hide resolved
…c language)

Signed-off-by: Adam Henley <adamazing@gmail.com>
@adamazing
Copy link
Contributor Author

Thanks for your feedback @IsaacG! I've applied your specific suggestions and made changes based on the feedback about use of the word return and preferring specific/direct language to vague. Lmk if there's anything that's still not quite right! 🙇

@adamazing adamazing requested a review from IsaacG March 19, 2024 10:25
@MatthijsBlom
Copy link
Contributor

MatthijsBlom commented Mar 19, 2024

For what it's worth:

"Return" is function specific terminology.

I partly disagree. Rather, 'return' has a function-specific meaning in contexts that include functions. In contexts that do not include functions, such as the programming language tracks that this PR aims to serve, it does not have this specific meaning.

Words do not inherently have meanings. Instead, their meanings always depend on context. Case in point: berries. Another example: what was a compiler prior to 1900, what did it mean to the person who coined the term in computer context, and what does it mean to most programmers today (and which word took on the previous meaning)?

I do not think it makes sense to navigate around using 'return' when it makes the overall sentence worse.

exercises/alphametics/metadata.toml Outdated Show resolved Hide resolved
exercises/nucleotide-codons/description.md Outdated Show resolved Hide resolved
exercises/nucleotide-codons/metadata.toml Outdated Show resolved Hide resolved
@@ -4,4 +4,4 @@ Count the frequency of letters in texts using parallel computation.

Parallelism is about doing things in parallel that can also be done sequentially.
A common example is counting the frequency of letters.
Create a function that returns the total frequency of each letter in a list of texts and that employs parallelism.
Employ parallelism to return the total frequency of each letter in a list of texts.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Employ parallelism to return the total frequency of each letter in a list of texts.
Employ parallelism to calculate the total frequency of each letter in a list of texts.

Not because I dislike 'return', but because I feel 'calculate' fits better.

Copy link
Member

Choose a reason for hiding this comment

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

There is an ongoing discussion about this exercise and whether solutions must use parallelism vs concurrency vs allowing non interleaved solutions. It might be worth holding off on any changes here for a bit to reduce churn. On the other hand, this said parallelism before and that word isn't changing.

Copy link
Contributor Author

@adamazing adamazing Mar 20, 2024

Choose a reason for hiding this comment

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

@IsaacG, I made a call to keep the change with @MatthijsBlom's s/return/calculate/ suggestion since -- as you say -- the word parallelism is there as it was before (and parallel is still in the exercise name/slug 😅) but LMK if you feel strongly that it should be removed from this PR.

My feeling is that this way, the function-specific language issue is resolved, whereas it may be forgotten/overlooked amid the parallelism/concurrency debate?

Thanks for your time and your feedback 🙇

@IsaacG
Copy link
Member

IsaacG commented Mar 19, 2024

I partly disagree. Rather, 'return' has a function-specific meaning in contexts that include functions. In contexts that do not include functions, such as the programming language tracks that this PR aims to serve, it does not have this specific meaning.
...
I do not think it makes sense to navigate around using 'return' when it makes the overall sentence worse.

If the goal of this issue/PR is to have the text "work" for all tracks, "return" doesn't work well for tracks like awk or bash that asks you to print a value to STDOUT. awk and bash do have functions but the test runners operate by executing a process and capturing STDOUT. Without getting into semantic definitions, I don't think changing "function" to "return" makes the text apply better. The sqlite tests require writing code that updates a column in a table. "Return" isn't a great word to use there, either.

…nucleotide-codons description

Signed-off-by: Adam Henley <adamazing@gmail.com>
@@ -1,6 +1,6 @@
# Description

Write a function that returns the name of an amino acid a particular codon, possibly using shorthand, encodes for.
Translate a given codon into the name of the amino acid that it encodes, possibly using shorthand.
Copy link
Member

Choose a reason for hiding this comment

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

If we're rewording this, the exercise asks you to translate a sequence of codons into a sequence of amino acids. There's no shorthands in any of the tracks that I've seen.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think that's explained in the description. DNA has the 4 bases, Adenine, Cytine, Thymine, Guanine. The shorthand it talks about is to do with the fact that multiple codons can map to the same amino acid, e.g. AAA and AAG both map to Lysine. So the shorthand they came up with is AAR (R means A|G). I think the "may use shorthand" language is due to the fact that the input might be "AAA", "AAG", or "AAR" and the expected output would be "Lysine"? But I haven't done the exercise yet.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sorry, wrote that from phone while horizontal and in pain 😅. Had a quick chance to search, and -- because the exercise is deprecated? -- I've only found it (locked) on the Rust track. Because of that and the fact that there's no canonical-data.json file I can't confirm my assumption above is correct.

Since the exercise is deprecated, is it worth further effort to refine the text?

Copy link
Member

Choose a reason for hiding this comment

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

Since the exercise is deprecated, is it worth further effort to refine the text?

Not really

exercises/alphametics/description.md Outdated Show resolved Hide resolved
Signed-off-by: Adam Henley <adamazing@gmail.com>
@kotp kotp merged commit d4c868f into exercism:main Mar 28, 2024
7 checks passed
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.

6 participants