0:00 / 0:00
Michael MacInnis: Oh a new Unix shell - BSDCan 2018
BSDCan
3.9K subscribers • 9 videos on Hallway
- Recommended by 1 person: 1 on Lobsters.
- Presented by Michael MacInnis
Intermediate. Assumes working knowledge.
4.2K views8 years ago1 recommendation
Programming languagesSystems programmingLanguage design and type systemsThe shell and command line
Michael MacInnis introduces Oh, a Unix shell designed to reduce traditional shell quirks while adding modern programming features.
Oh is an attempt to reduce the Unix shell's strangeness while retaining its fundamental characteristics. Oh is familiar and recognizable as a Unix shell but with: - A more consistent and extensible syntax; - Richer data types, including first-class pipes, objects, and methods; and - Support for concurrent, higher-order and modular programming. You love your shell. You’ve been using it for ages and are extremely efficient with it but there are times when its little quirks are enough to drive you mad. Maybe it's: - Word splitting turning a file name with spaces into multiple file names that may or may not exist; - An undefined variable sending rm on a mission to delete all the files in the root directory; - Having to resort to various workarounds just to write a function that returns a string; or - Wishing there was some option for importing a module other than sourcing a file and dumping everything into the current context. You know that because the Unix shell "must satisfy both the interactive and programming aspects of command execution, it is a strange language, shaped as much by history as by design", but the Unix shell feels overly strange. Oh is MIT-licensed, open-source software and is available on Github The author currently uses oh as his login, and primary interactive, shell on a machine running FreeBSD. bsdcan.org/2018/schedule/events/931.en.htmlWhy it's here
1 person recommends thisWhat people say. Recommended for developers interested in modern shell design and improving command-line programming ergonomics.