exercism / problem-specifications

Shared metadata for exercism exercises.
MIT License
320 stars 539 forks source link

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

Closed adamazing closed 4 months ago

adamazing commented 4 months ago

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

PR for Issue #2396

github-actions[bot] commented 4 months ago

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.

adamazing commented 4 months ago

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! 🙇

MatthijsBlom commented 4 months ago

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.

IsaacG commented 4 months ago

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.