Comments (10)
Hmm, maybe a refactoring-type exercise, where they're given a script loaded with bashisms and they need to make it POSIXy
from bash.
I feel like that's out of place on a bash track. This track is about the bash shell. We should be helping students learn bash, including all it's features. Having an exercise where students are then supposed to not use all the features and make their script work for a very different environment feels ... jarring?
If a student wants to write POSIX sh, they can simply set POSIXLY_CORRECT
and do so. I don't think other students should be asked to do so as part of solving exercises on the bash track.
from bash.
I didn't mean to assign, I meant to tag: @IsaacG @kotp @guygastineau
from bash.
How would we ensure that the tests are passable given the different potential different sh'bang? Would there be a list of "target" shells?
from bash.
good point.
from bash.
I'm in favor of keeping this a bash
track.
- Some of these exercises are painful using POSIX
sh
. - If this is generic "shell of your choice", it'd be weird to have some students trying to use
zsh
when mentors might not be familiar. Orksh
andcsh
. Those are all different languages and notbash
.
If a student wants to write POSIX sh
and the mentor is comfortable with sh
, then that's cool. But I don't think we should be going out of our way to make that the easy route.
from bash.
And the difference between invoking via bash
or sh
, using source
and making executables is very much something that can be taught about bash shells.
from bash.
I appreciate the feedback. Closing this issue.
from bash.
There could be an exercise specifically about "portable code" and with only one or two exercises, the idea of making it executable, and writing it so that it can be loaded / sourced as a non-clobbering function. Or notes added about portability, and what approaches are POSIX and what may cause problems with different platforms and tooling.
from bash.
I am definitely one for "go where the student wants to go" as it is their learning journey. And this is one way to do that. If the student asks "But what about portability?" then they can go down that path.
from bash.
Related Issues (20)
- Don't need `node` for `bats`
- Pangram test fails with "bad substitution" HOT 7
- command rev is not always working in exercism tests HOT 7
- Tests for armstrong-numbers exercise do not cover numbers with leading zeros HOT 6
- The `error-handling` instructions could use more bash-specific details.
- Bash as a scripting langauge and not Yet Another Programming Language? HOT 17
- Rework headings in instructions.append.md HOT 1
- Why does this file exist in the Gigasecond exercise?
- Add check in validate_one_exercise that checks for inadvertant comment-out skips
- Copy the "Skipped tests" section from `tests.md` to `TESTS.md`
- D&D: Add a test to ensure that hitpoints is calculated from constitution
- Sync recent updates
- Is the track exercises page counting students differently? HOT 1
- Gigasecond instructions should have some bash-specific info appended
- Simplify two-fer tests _a bit_
- 'Word Count' test 'handles expanded lists' is mis-executed
- Rethink difficulty of word-count
- Building a training set of tags for bash HOT 26
- Foregone exercises HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bash.