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

Decision: Plain Bash or POSIX compliance? #88

Closed
budmc29 opened this issue Sep 8, 2017 · 6 comments
Closed

Decision: Plain Bash or POSIX compliance? #88

budmc29 opened this issue Sep 8, 2017 · 6 comments

Comments

@budmc29
Copy link
Member

budmc29 commented Sep 8, 2017

It might be a good idea to have the discussion about this in this separate issue.

As @kenden stated here: #4 (comment), we need to decide what are the requirements for this track.

Kenden: I vote for: only bash, no extra utilities needed, no posix/sh/zsh compatibility required.

I agree to that, we should just teach plain Bash with no extra requirements or POSIX compliance in the code or in the tests.

Learning bash is difficult and for most of the users (especially the targeted users for exercism v2), and the majority of the use cases for bash is to create scripts to aid in development, which means the environment is similar or at least known.

What do you think?

@budmc29 budmc29 changed the title Decision: Plain Bash or POSIX shell Decision: Plain Bash or POSIX shell? Sep 8, 2017
@budmc29 budmc29 changed the title Decision: Plain Bash or POSIX shell? Decision: Plain Bash or POSIX compliance? Sep 8, 2017
@Smarticles101
Copy link
Member

I agree for all the same reasons

@kenden
Copy link
Contributor

kenden commented Oct 20, 2017

Same decision to make for bats: bats-core/bats-core#28

@Smarticles101
Copy link
Member

When creating example exercises, should we allow use of extra commands that are not necessarily a part of bash? Of course, the student should ultimately be able to solve an exercise however they want, but some exercises become a lot more difficult without extra commands. i.e. gigaseconds usage of the date command

@sjwarner-bp
Copy link
Contributor

I think we don't necessarily need to enforce POSIX compliance, as exercism is a learning tool and this might seem to be too complex (or just a bit excessive) for new users.

Please correct me if I am mistaken, but just because we don't enforce POSIX compliance doesn't mean that users cannot submit this kind of solution? In this case, we could add a small blurb about POSIX at the end of READMEs as a stretch goal or reminder?

@kotp
Copy link
Member

kotp commented Dec 30, 2017

I like the POSIX stretch goal idea.

@budmc29
Copy link
Member Author

budmc29 commented Dec 30, 2017

Looks like we have a decision and we can act on it :D.

  • Don't enforce POSIX compliance for our internal code, or code submitted as the solution and we allow users to use any utilities as long as the test passes on their system.
  • Have POSIX compliance as a stretch goal

For the stretch goal that could be a good start for a discussion when users submit their solutions.

@budmc29 budmc29 closed this as completed Dec 30, 2017
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

No branches or pull requests

5 participants