Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm building a new Unix shell called Oil: http://www.oilshell.org/

It's definitely not making me any money. I would say the motivation is a little bit "joy" / learning, but also frustration that shells are so old, unintuitive, and work so poorly.

I've been going for about 16 months and it's still fun, so that's good. I think that seeing progress is what make things fun.



I agree that shells need a great overhaul. But how it should look and how the path towards the "better shell" can realistically happen I have no clue.

I applaud your courage!


Thanks! I have a very clear idea, but it's a huge amount of work. I think it's going to get there though :)

One thing that blows up the amount of work is the "realistically happen" part... For it to happen, it needs to be compatible, and compatibility is hard (or at least tedious).


I'm starting to wonder how the hell anyone decided shellscripts were a good idea.


I think it started the same way batch files did -- although of course shell came earlier. "Hey let me put the stuff I type in a text file":

    mkdir foo
    cp myfile foo/
    ls foo
"Then I don't have to type it over and over". The "interpreter" was probably a 20 line function inside the interactive shell, or maybe just a single if statement to redirect stdin from a file and not a terminal.

That started sometime in the early 1970's. Along the way, people added loops, conditionals, functions, various hacky expression languages (test/[, find), many external utilities like sed/grep, full-fledged languages like awk/make, etc.

And today we have on perhaps 50 million+ machines an unbroken chain from 45+ years ago.

It's kind of amazing... If you can somehow score languages by how old they are plus how widely used they are, shell is probably #2 behind C.

C has had a ton of effort that has gone into cleaning it up, deciding upon semantics, standardizing it, evolving it. Shell has had POSIX, which was like 30 years ago, and that's about it.

In summary, nobody "decided" -- it's an amazing and horrible instance of evolution :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: