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

Suggestion: Beginner-friendly tutorial (plus, I'm writing one!) #5570

Open
AnotherKamila opened this issue Jan 22, 2019 · 5 comments
Open

Suggestion: Beginner-friendly tutorial (plus, I'm writing one!) #5570

AnotherKamila opened this issue Jan 22, 2019 · 5 comments

Comments

@AnotherKamila
Copy link

Hi,

because fish is awesome, I have been infecting people new to command line interfaces with fish. The problem with this is that the Fish tutorial, while helpful for people who have used another shell before, is not well suited for people new to the whole command line thing. I believe having something optimised for new people would help a lot of people get on board much faster.

I have started writing such a tutorial: it lives at https://kamila.is/teaching/shell/ (github repo: anotherkamila/shell-for-beginners). While it is far from finished, I dare to hope that it is already a good first step. Therefore:

  • If you think that's a good idea, you might want to link to it from somewhere like the fish website.
  • Pull requests are very welcome!
  • It's opensource, so if you'd prefer, you can fork it instead of pointing to my version. (I'd happily switch to contributing to an "official" thing instead of keeping my own.)
  • Let me know if you have questions about it. (I haven't done a good job documenting it, because so far it's been "just me".)
@floam
Copy link
Member

floam commented Jan 22, 2019

We have a tutorial in our documentation, perhaps you would like to base on that and try to upstream it here so everyone can see it after typing help?

Note: I would not start today, instead wait until we've migrated to Sphinx for documentation (soon, 3.1.0 maybe!).

@ridiculousfish
Copy link
Member

This looks cool, have you considered making it interactive?

@AnotherKamila
Copy link
Author

Hi!

@floam Merging this with the upstream tutorial is a question of intention: As I've noted, the current "official" tutorial is aimed at people switching to Fish from another shell, while my tutorial is aimed at beginners to the whole UNIX-like systems / command-line interfaces thing. I think that people switching to Fish from something else don't necessarily need my tutorial, but do need yours; I also think that your tutorial is a great second step for people new to UNIX-like systems, after they have become comfortable with the basic concepts (for example by reading my tutorial first).

Therefore, the question for you (as the Fish devs) is which group of people you want to optimise the "official" tutorial for. If you think that the "default" should be "here's how you use fish (vs other shells)", then I don't think this should be merged with that. If, on the other hand, you think that the default should be "here's what a shell is all about", then it might make sense. What do you think is better?

@ridiculousfish That is a great idea actually. I think it would be worth doing. I will add it to my list of TODOs. Thanks!

@floam
Copy link
Member

floam commented Jan 30, 2019

Well, I think our approach with fish is that we want to be an easy to use first shell. If we assumed this was not people's first shell, we'd probably have borrowed a lot more features from other shells, implemented the exact same way as those shells implement them, because discoverability is improved by imitating what people are already familiar with. We try not to assume people are already familiar with bash or zsh.

So we very much want to be people's first shell; but: the fact is, the vast majority of our users are switching from another shell, bringing a lot of understanding (and baggage) with them, because there's a serious selection bias when we're talking about software used by people who seek out and install an alternate shell. Until some Linux distribution or OS ships with fish as the default shell, this will always continue to be the case.

@zanchey
Copy link
Member

zanchey commented Jan 31, 2019

There is some work being done towards making the manual the document for those completely new to the shell environment, which I think is the right place for it. See #5132.

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

4 participants