5 ms·
(author here) The next blog post will explain it, and I'll update the home page, but to be short: OSH - POSIX and bash-compatible shell. (The most bash-compat
by chubot 4y ago
(author here) The next blog post will explain it, and I'll update the home page, but to be short:
OSH - POSIX and bash-compatible shell. (The most bash-compatible shell by a mile!)
YSH (formerly Oil) - new language with Python- and JS-like data structures, Ruby-like blocks. You can upgrade smoothly from OSH to YSH.
"Oils for Unix" (formerly "oilshell") -- the whole project, which includes OSH, YSH, and data serialization languages based on JSON.
The old names were confusing because the project was called Oil, and it also had a part called Oil. People reasonably assumed those were the same thing.
Also there was "OSH", the compatible shell -- but people reasonably thought that just mean "Oil shell". It's all spelled out on the web site, and in the glossary (both of which I will update), but I understand the confusion.
More rationale for renaming here: https://lobste.rs/s/qrbcue/oil_0_14_2_interactive_shell_conceding#c_us3r6x https://lobste.rs/s/qrbcue/oil_0_14_2_interactive_shell_conc...
- Arcuru 4y agoI look forward to that blog post, I hope that can clear up some of the confusion. Personally I found that the best introduction for me to actually understand what the different parts do (mainly OSH and Oil Shell) was the Github wiki, particularly "OSH versus Oil" and the two Migration guide posts. Even reading several of your posts, I didn't fully understand what being "an upgrade path from bash" actually meant until I saw the mechanics of how the process would go, and then it all clicked for me. I think a guided walkthrough of the "upgrade" process would be very valuable to help people understand what the goal is, and would be a good introduction to the project. https://github.com/oilshell/oil/wiki https://github.com/oilshell/oil/wiki
- chubot 4y agoThanks for this feedback! I had almost forgotten about that page, which was linked in this post: http://www.oilshell.org/blog/2021/12/backlog-language.html http://www.oilshell.org/blog/2021/12/backlog-language.html I will take your point about walking through the upgrade process. Some things are still not stable so I've been hesitant to "recommend" it, but I think we can just make that clear. Most languages go through a big period of breakages before they get stable And to be clear OSH is very stable, while YSH isn't. (Next post will also have a list of breaking changes)
- zamadatix 4y agoI don't mean to sound like a dunce but the naming is very confusing to work out. I've spent an embarrassing amount of time reading the blog posts, glossaries, wiki, and comments and I'm still left a bit confused on the naming choices being the way they are. Part of that may be each explanation tries to teach me about the component in relation the entire project instead of pieces making sense standalone. Few will gain clarity by an old english meaning of "oils" and "old shell"/"young shell" isn't really gaining many favors in searches even versus the infamous "oil shell"/"shell oil" problem. If it's an extended bourne compatible shell everyone is already used to the pattern of sh, ash, and dash/bash so why not just let osh be "oil shell" as people have already been expecting. Instead of "ysh" it could be something like olang (or maybe oilang, but that's a tougher topic because of the l/ll dilemma) for the programming focused incantation? Searches would be "osh shell" and "olang" just like people Google search for "fish shell"/"bash shell" and "golang"/"ziglang" today. With osh/olang it's clear what each is intended to focus on, they use existing intuitive naming patterns, search patterns match how people already search about shells, having 2 separate incantations nearly explains itself by name, and you don't need to know about the overall "oils" but when you do the differences already makes sense.
- chubot 4y agoI agree the naming is confusing, so that's why we're renaming it :) I don't see the difference between osh / olang vs. osh / ysh ? Why is the former clearer than the latter?
- zamadatix 4y agoImagining being asked the following as if I hadn't read a ton on the project already this is how'd I'd answer: Which of the following binaries are associated with the oil project? A) osh B) ysh A probably, not B. Which of the following binaries is associated with bash compatibility? A) osh B) ysh Dunno, they both look like shells. 50/50 random guess on each. Which of the following binaries is used on programs written in the oil language? A) osh B) ysh Dunno, they both look like shells. A) looks like it's related to oil though so maybe that one again. Now flip ysh for olang... Which of the following binaries are associated with the oil project? A) osh B) olang A and B both seem likely. Which of the following binaries is associated with bash compatibility? A) osh B) olang A is named like shells, probably that. Which of the following binaries is used on programs written in the oil language? A) osh B) olang B about repeats the question back so B, also I'm now doubly sure osh was the bash compatible option in the last question. I'm not saying olang is the right final answer but the name should first try to make sense THEN try to sound clever. "ysh"/"soil" lack any self description and require you already know what they do to understand the name instead of the other way around.