3 ms·
That's the motivation behind my Oil project: Why Create a New Unix Shell? http://www.oilshell.org/blog/2018/01/28.html http://www.oilshell.org/blog/2018/01/28.
by chubot 8y ago
That's the motivation behind my Oil project:
Why Create a New Unix Shell? http://www.oilshell.org/blog/2018/01/28.html http://www.oilshell.org/blog/2018/01/28.html
I took a very long route to doing it though, first implementing OSH (which will run existing shell scripts, which is close to done, but slow) and then Oil (a new language, not implemented).
This is because POSIX shell/bash has a really strong network effect. zsh and fish are better in many respects, but people are locked into bash because that's what "everybody else uses".
It's analogous to how C has a really strong network effect because e.g. every kernel is written in C. So C++ became a popular language in a large part because it's compatible with C. (Though the analogy breaks down because the Oil language isn't a superset of bash, so we can break free of legacy. The project is though.)
In my mind, I think of Oil as a mix between Python and shell, with some elements of Ruby and JS (blocks, function literals, etc.)
- ariabuckles 8y agoI love what you're doing with Oil! Looking forward to trying the interactive version in the future :) And yes, network effects are so important—your C++ example is spot on. One recent example that comes to mind is the adoption from python2 to python3, showing just how big a barrier those network effects are to adopting something incompatible.
- chubot 8y agoThanks! I'm writing a blog post now about how I got the majority of bash-completion running, so I'm now using OSH myself. This is the biggest milestone in a long time! It exposed the slowness issue though. I have a plan for that, but it's a bunch of work. It will help me if people try it and give feedback -- I'll give details in the post. I definitely agree about Python 2/3. I think you basically can't overestimate the amount of inertia a popular language has. I'm sure there will be patches floating around for Python 2 for a long time after the core team stops maintaining it next year. Another example is all the compile-to-JS languages. I think TypeScript is the most popular in part because its transition path is the easiest, i.e. it's a superset of JS.
- ariabuckles 8y agoThat’s awesome! I’d love to try it; details in an upcoming blog post?
- nijaru 8y agohow's oil going? I haven't looked into it in about a year or so, but it seemed like a cool project
- chubot 8y agoThere will be a big status update in a few days here: http://www.oilshell.org/blog/ http://www.oilshell.org/blog/ Or you can subscribe in one of these places :) https://www.reddit.com/r/oilshell https://www.reddit.com/r/oilshell https://twitter.com/oilshellblog https://twitter.com/oilshellblog