Earlier quoted context omitted.
This needs freakin' Node.js. Yeah, that's an old sentiment. I used to echo the same thing, but it's worth coming to terms with the fact that node is a pretty good platform to build on.
Could not agree less. It's not totally bad, but for sure not good. I prefer: * compile to native binaries * many ways to do concurrency (instead of async all the way) * a serious language (not created-in-10-days JS) Node is really step back for me, coming from Ruby and the JVM.
Closh – Bash-like shell based on Clojure
81–90 of 138 posts
Re: Closh – Bash-like shell based on Clojure
#82Earlier quoted context omitted.
This needs freakin' Node.js. Yeah, that's an old sentiment. I used to echo the same thing, but it's worth coming to terms with the fact that node is a pretty good platform to build on.
Could not agree less. It's not totally bad, but for sure not good. I prefer: * compile to native binaries * many ways to do concurrency (instead of async all the way) * a serious language (not created-in-10-days JS) Node is really step back for me, coming from Ruby and the JVM.
Though core.async makes async programming quite nice
Re: Closh – Bash-like shell based on Clojure
#83Call me old. But I want my shell to be a tight binary, preferably distributed (at some point) by major distros. This needs freakin' Node.js. I'm more looking in the Rust/Haskell/OCaml direction for a hip bash/zsh replacement.
This needs freakin' Node.js. Yeah, that's an old sentiment. I used to echo the same thing, but it's worth coming to terms with the fact that node is a pretty good platform to build on.
Re: Closh – Bash-like shell based on Clojure
#84Earlier quoted context omitted.
i mean, really what is the point of Node ?
It's a highly performant platform, based on a rapidly evolving language that's easy to understand. As such it's largely democratised server/shell programming to millions of users and web developers who could have been turned off by more advanced syntaxes and programming concepts. These people have created millions of open source packages which now dwarf most other communities, and the platform has unlocked an incredi…
Re: Closh – Bash-like shell based on Clojure
#85One of the things that Shells have gotten right is postfix function composition (the | operator). This allows you to very easily compose functions to perform complex operations, and this isn't really present in scripting languages. Haskell let's you do this with the `&` operator, and you can write a procedure for Scheme that performs similarly. I'm not sure how this would work with Python or JS.
I'm hoping that in the next few years we'll see a larger break from shell syntax. The biggest thing I think holding this back is REPLs. Most scripting languages would do fine as a shell replacement with the addition of a stdlib for the purpose, but they need support for navigating the file system. Maybe tab-completion for paths like Bash does would be best, but I'm still thinking about it.
Re: Closh – Bash-like shell based on Clojure
#86This is interesting, but I feel that making shell support such a first-class citizen is a mistake. Shell languages basically treat system binaries as functions, which causes you to lose a lot of power with everything being a string. Using system binaries (cat, echo, etc.) isn't really necessary for a modern command language due to the ubiquity of scripting languages and module systems. It's much more powerful to writ…
.method().method()?
Re: Closh – Bash-like shell based on Clojure
#87Is there a bash-like shell based on Python? I would love something like that.
Re: Closh – Bash-like shell based on Clojure
#88Call me old. But I want my shell to be a tight binary, preferably distributed (at some point) by major distros. This needs freakin' Node.js. I'm more looking in the Rust/Haskell/OCaml direction for a hip bash/zsh replacement.
This needs freakin' Node.js. Yeah, that's an old sentiment. I used to echo the same thing, but it's worth coming to terms with the fact that node is a pretty good platform to build on.
There are zero things I want my shell to do which depend on as much tooling as Node provides.
I want a compiled native binary with as few dependencies as possible for the shell I'm going to use in single-user mode with very few resources available.
Re: Closh – Bash-like shell based on Clojure
#89This is interesting, but I feel that making shell support such a first-class citizen is a mistake. Shell languages basically treat system binaries as functions, which causes you to lose a lot of power with everything being a string. Using system binaries (cat, echo, etc.) isn't really necessary for a modern command language due to the ubiquity of scripting languages and module systems. It's much more powerful to writ…
> I'm not sure how this would work with Python or JS. .method().method()?
And the truth is that functionB(functionA()) reads much worse than functionA | functionB , so yeah I agree that this is something that shell scripting languages got right.
Re: Closh – Bash-like shell based on Clojure
#90Earlier quoted context omitted.
Could not agree less. It's not totally bad, but for sure not good. I prefer: * compile to native binaries * many ways to do concurrency (instead of async all the way) * a serious language (not created-in-10-days JS) Node is really step back for me, coming from Ruby and the JVM.
> many ways to do concurrency (instead of async all the way) Though core.async makes async programming quite nice
Sure you can paint your cage gold, and it will look nicer. But it remains a cage. I want to choose, especially when it comes to how I do my concurrency.