Discussed in 2017: https://news.ycombinator.com/item?id=14675431
Yeah, I submited once on HN about this project two years ago. Since then quite a few new features have been added and some improvements are made. So it's time to expand the user base a bit :) Now cicada shell is still have some issues, but overall it's quite usable. I hope it could be useful for people who are seeking simplicity and speed in daily use of the shell.
Cicada: A Bash-like Unix shell written in Rust
11–20 of 27 posts
Re: Cicada: A Bash-like Unix shell written in Rust
#12Those who do not understand Unix are condemned to reinvent it, poorly. -- Henry Spencer Yay! Non-portable Unix tools! Just what everyone wants.
This isn't reinventing Unix, this is a (cut down part of) Unix. (Unix the family, not the original Bell Labs OS, of course). And "non-portable" because it's only portable to Unix? That's... Approximately everything. Linux family and Darwin naively, NT via WSL/cygwin/etc., BSDs obviously, Android sorta-natively or via Termux, Chrome OS via Termux, crouton, or crostani(sp?). What is Unix not portable to?
Re: Cicada: A Bash-like Unix shell written in Rust
#13Those who do not understand Unix are condemned to reinvent it, poorly. -- Henry Spencer Yay! Non-portable Unix tools! Just what everyone wants.
I absolutely abhor this quote, I think it's taken out of context.
First of all, it denotes hubris, which I hate.
Secondly, it's totally anti-scientific, it assumes that Unix is some paragon of OS design, the zenith of Computer Science.
I like Unix as much as the next IT guy, but let's cut it out with the cliché quotes. There's plenty of things Unix doesn't do that well (everything is a file, until it isn't; filenames are basically binary blobs, etc.: https://dwheeler.com/essays/fixing-unix-linux-filenames.html).
Plus your comment is just silly, whoever implemented this obviously knew about Unix shells... It takes knowledge of Unix shells to implement another Unix-y shell.
Re: Cicada: A Bash-like Unix shell written in Rust
#14Earlier quoted context omitted.
Yeah, I submited once on HN about this project two years ago. Since then quite a few new features have been added and some improvements are made. So it's time to expand the user base a bit :) Now cicada shell is still have some issues, but overall it's quite usable. I hope it could be useful for people who are seeking simplicity and speed in daily use of the shell.
It's fine to repost after that much time has gone by. This is in the FAQ: https://news.ycombinator.com/newsfaq.html .
Re: Cicada: A Bash-like Unix shell written in Rust
#15Interesting. Having the core terminal/language down is a good start. An important part of any terminal will be it's support for plugins/extensions or otherwise natively replacing them the way Fish tries to do. I've recently started using https://elv.sh/ as my primary terminal after testing it out on/off for 2yrs and slowly porting old ZSH aliases/scripts into the Elvish language (very similar to Go which it runs on),…
can you share these zsh to elvish ports?
Re: Cicada: A Bash-like Unix shell written in Rust
#16Interesting. Having the core terminal/language down is a good start. An important part of any terminal will be it's support for plugins/extensions or otherwise natively replacing them the way Fish tries to do. I've recently started using https://elv.sh/ as my primary terminal after testing it out on/off for 2yrs and slowly porting old ZSH aliases/scripts into the Elvish language (very similar to Go which it runs on),…
A terminal (or a terminal emulator) is not a shell and, moreover, a shell does not necessarily require a terminal.
Re: Cicada: A Bash-like Unix shell written in Rust
#17Earlier quoted context omitted.
This isn't reinventing Unix, this is a (cut down part of) Unix. (Unix the family, not the original Bell Labs OS, of course). And "non-portable" because it's only portable to Unix? That's... Approximately everything. Linux family and Darwin naively, NT via WSL/cygwin/etc., BSDs obviously, Android sorta-natively or via Termux, Chrome OS via Termux, crouton, or crostani(sp?). What is Unix not portable to?
It's probably the usual complaint of Rust not being able to run on an obscure 1965-era calculator.
Re: Cicada: A Bash-like Unix shell written in Rust
#18 cicada> echo -e '#!/bin/sh\necho works' > /bin/1
cicada> chmod +x /bin/1
cicada> 1
1
bash> 1
works
cicada> touch a b; echo "$(echo "$(echo "$(ls)")")"
$(echo $(echo a
b
bash> echo "$(echo "$(echo "$(ls)")")"
a
bRe: Cicada: A Bash-like Unix shell written in Rust
#19Killer feature right there.
[1]: https://github.com/mitnk/cicada#math-arithmetic-directly-in-...
Re: Cicada: A Bash-like Unix shell written in Rust
#20Interesting. Having the core terminal/language down is a good start. An important part of any terminal will be it's support for plugins/extensions or otherwise natively replacing them the way Fish tries to do. I've recently started using https://elv.sh/ as my primary terminal after testing it out on/off for 2yrs and slowly porting old ZSH aliases/scripts into the Elvish language (very similar to Go which it runs on),…
The right term for what you refer to as terminal(s) is shell. A terminal (or a terminal emulator) is not a shell and, moreover, a shell does not necessarily require a terminal.
Elvish is also a lightweight programming language like bash and zsh. Which is an underrated part of using shells (bash and zsh are quite awful even given the constraints of shell scripting and POSIX).