30 ms·
Pretty cool idea and project. Hope you take it further and it turns into something truly spectacular! My only comment is on the article. This line: > Nu would
by massung 7y ago
Pretty cool idea and project. Hope you take it further and it turns into something truly spectacular!
My only comment is on the article. This line:
> Nu would not have been possible without Rust.
That's just patently false.
Perhaps you wouldn't have chosen to code it in another language. Or perhaps Rust had one or two benefits that assisted in the development of Nu. But you don't word it that way or go into any details as to what made Rust special/better than X, Y or Z language (not that you need to, but if you're going to make a wild statement, you should be prepared to back it up). The only 3 points made following that were about features that have widely existed in other languages well before Rust came along: async/await, async streams, and serde.
Rust is cool and is still exploring some really great ideas in making programs safer and more maintainable. But, it's not the greatest language ever (at least not yet), nor does it make the impossible possible. It can merely make some things easier at the cost of something else.
I'm glad you were able to use it effectively to create a tool you - and others - find useful.
- moogly 7y agoYeah I agree. That was intellectually dishonest. I really like the idea and look of this project. To me it feels like PowerShell done better (and implemented by non-aliens).
- mongol 7y agoMaybe it should be read as "my child not be possible without me".
- lokedhs 7y agoI was about to post the same thing. I could put this together in Common Lisp. I know precisely what CL technologies I'd use to do it, and perhaps after finishing the work I'd say "this wouldn't have been possible without Lisp", which would be true in some respect, but just as dishonest as the original article. That doesn't mean I don't respect the work done. It's an interesting project and most definitely something that deserves attention. The language used to develop it is the least interesting aspect of this.
- johnisgood 7y agoYeah, a program written in X would not have been possible without the existence of programming language X.
- elcomet 7y agoI think you got it wrong. They meant "It would have been impossible for us without rust". Of course it is possible in any language you can think of, but not with their skills and time.
- canadaduane 7y agoIt may be that they intended the statement more like "Rust's collection of capabilities uniquely inspired us" rather than "Rust is more turing complete than all the others." For example, the error reporting style in nushell appears to be a direct decendent of Rust's visual error message style.
- TomasSedovic 7y agoI was about to say a similar thing. Yes, in a CS-sense anything you can do in one Turing-complete language you can do in any other Turing-complete lang. They almost certainly were not disputing that. If you factor in the real world, the number shrinks as you get to things like performance, cross-platform support, ease of packaging and distribution. But still, Nu could plausibly have been written in Assembly, C, C++, D, Go, Nim, Zig, Haskell and so on. You would have lost some of Rust's strengths and weaknesses and imported another set (regarding the language, tooling, performance, ease of debugging and so on). I took the comment to mean that as far as they (all people intimately familiar with the language, tooling and ecosystem) are concerned, this would be a trade-off that would be negative enough to not begin or finish the project in the first place. I don't know what plans and requirements the Nu authors had. But for my own game (a roguelike written in Rust) the requirements on the performance, distribution, stability, ease of development and dependency management meant that Rust was (at the time) pretty much the only viable choice for me. Could someone have written it in C? Sure. Could I have written it in C? Likely, yes. Would I have ever finish the game in C? Almost certainly no. For various reasons none of the other languages would have done in those circumstances, not really. Human language is an imperfect method for transferring information and sometimes one trades off brevity for nuance.
- felixfbecker 7y agoThe error reporting style also looks almost exactly like PowerShell's (underlining the command in the pipeline that failed), which is written in C#.
- qaq 7y ago"That's just patently false." Why? Projects have constraints including time and skillset of partcipants.
- simag 7y agoIt's a 3 person side-project over 3 months. I suppose he means that Rust is to thank for this level of polish and reuse of 3rd party libraries. My experience with Rust is similar and there are many projects I would consider impossible (practically not technically) without Rust. Programs like shells or servers are expected to perform well and usually cannot afford the GC tax (more memory usage and pauses). I wouldn't use a shell written in a GCed language. That would leave them with non-GC'ed languages. C or C++ simply don't have a usable equivalent of Cargo/crates.io which makes 3rd party reuse slower, and then they have much weaker execution safety guarantees.