Live data from Hacker News

2017 Rust Roadmap

github.com

171–180 of 201 posts

Re: 2017 Rust Roadmap

#171
post #169
post #110

Earlier quoted context omitted.

It is possible to have both capabilities in a programming la language.

I note the long list of obvious examples...? :-) But sure, the world would be a better place if Rust, Go and/or Swift could fulfill that niche. I really don't know enough. (Go seems a bit boring. Rust is too new. Swift is a bit limited re Linux etc support.) (I've seen the claim that some C++ gurus could develop features as quick as seasoned scripters, but... how many years did it take to get to that state? :-( ) (So…

OCaml and Lisp come to mind as possible examples.

Also note that for me personally, I don't see any value in using scripting languages for anything other than system administration instead of the more cryptic shell variants.

Re: 2017 Rust Roadmap

#172
post #15

I read through the Rust book, and the problem I was having with it and the other docs is that it was hard to map the Rust concepts with what actually runs when it is compiled. For a language that touts "uncompromising performance", it was difficult for me to find performance characteristics of the underlying abstractions and std library (for example, are algebraic data structures just tagged unions or does the compil…

This is an area in which I haven't quite figured out how to communicate properly; I feel like I have a good understanding of how Rust maps to asm, but I don't know how to transfer that understanding to other people. I'll certainly be reading your link below, thanks for that!

Would an updated and expanded Rust for C++ Programmers make sense as a companion to the book with references to concepts in the book along with low-level details on data structures or implementation? It would nice to see that and Nomicon more closely related and fully up-to-date.

It soulds like an informal "specification" of #[repr(c)] or #[repr(packed)] for common platforms would also be useful for FFI.

Re: 2017 Rust Roadmap

#173

I would love to see Rust with a REPL. I use Python professionally a lot and have done a fair amount of OCaml in my spare time and both have excellent REPls in the form of `ipython` and `coretop`. Quick experiments with auto-complete is incredibly helpful for exploring a language. That's the only thing I really miss from those languages; when I want to wrap my head around a bit of syntax or a library feature in Rust,…

The Dyon[1] language would probably make a good basis for a repl for Rust. It shares many concepts with Rust including a version of ownership.

[1] https://github.com/PistonDevelopers/dyon

You might also be able to link the repl with Rust Language Server which could be linked with incremental compilation, letting you define modules or pub fn's dynamically.

Re: 2017 Rust Roadmap

#174
post #83

Earlier quoted context omitted.

Speaking of "guaranteed not to allocate", is there a way that you could express that in a type? Seems like that might be nice to have.

Not in Rust's type system. In a pure language, you could have some sort of "Heap" monad similar to the "IO" type in Haskell.

So Rust has no way to mark side effects and global dependencies of functions? Allowing singletons in a language that is supposed to be safe sounds like a huge design flaw.

Re: 2017 Rust Roadmap

#175

Earlier quoted context omitted.

Claiming that it is less productive when you barely know it isn't fair... I'm really quite familiar with both go and rust, and I can say straight out that go is more productive than rust. ...but because rust is in any way a worse or less productive language (that remains to be seen), but because it has an immature ecosystem with few high quality crates and virtually no tooling. Go has a lot of very polished tooling (…

> Go has a lot of very polished tooling (eg. gocode) that is supported in multiple editors Have you tried racer? It seems quite similar, and apparently it does more (see [1]). I mean, I agree in the abstract that yes, having tooling and a bigger library ecosystem matters a lot. But the things you've cited so far (code completion and an AWS library) are things that Rust does have. I'd be more interested in hearing spe…

     It seems quite similar, and *apparently it does more*
Have you tried the go-plus (https://atom.io/packages/go-plus) tooling?

Really, please try it out. That's the kind of experience that's really missing from rust; autocomplete, fmt, test watcher, linter, code coverage, debugger, doc summary; you hit install and it works.

Racer isn't there yet.

Re: 2017 Rust Roadmap

#176
post #171
post #169

Earlier quoted context omitted.

I note the long list of obvious examples...? :-) But sure, the world would be a better place if Rust, Go and/or Swift could fulfill that niche. I really don't know enough. (Go seems a bit boring. Rust is too new. Swift is a bit limited re Linux etc support.) (I've seen the claim that some C++ gurus could develop features as quick as seasoned scripters, but... how many years did it take to get to that state? :-( ) (So…

OCaml and Lisp come to mind as possible examples. Also note that for me personally, I don't see any value in using scripting languages for anything other than system administration instead of the more cryptic shell variants.

Ah, of course.

I have long wondered why (Common) Lisp didn't take over the world at the end of the 90s to the beginning of the millennium. :-( They have a GC, but so do Java. There were good compilers since at least the 80s.

But the lisp variants aren't really a system programming language that will replace C. (You can do bit fiddling, but... here the GC comes in, especially for embedded applications with KB of RAM. And so on.)

>> I don't see any value in using scripting languages for anything other than system administration

The point with scripting languages is that you can develop quickly. For applications where most time is in the DB anyway, they make a good solution. (I.e. for the last 20 years, system administration and web development.)

Re: 2017 Rust Roadmap

#177
post #176
post #171

Earlier quoted context omitted.

OCaml and Lisp come to mind as possible examples. Also note that for me personally, I don't see any value in using scripting languages for anything other than system administration instead of the more cryptic shell variants.

Ah, of course. I have long wondered why (Common) Lisp didn't take over the world at the end of the 90s to the beginning of the millennium. :-( They have a GC, but so do Java. There were good compilers since at least the 80s. But the lisp variants aren't really a system programming language that will replace C. (You can do bit fiddling, but... here the GC comes in, especially for embedded applications with KB of RAM.…

A thing called UNIX where the source code was available for free happened, but lets forget that fact.

GC bashers would be surprised how much their lifes actually depends on embedded systems running real time Java deployments.

Re: 2017 Rust Roadmap

#178

Earlier quoted context omitted.

> When people (rightly) talk about how much slower reference counting is than tracing GC, they're almost always talking about either thread-safe tracing GC vs. thread-safe reference counting or single-threaded tracing GC vs. single-threaded reference counting. Reference counting has always been slower, even in single-threaded cases. This should be obvious because pure reference counting requires modifying counts when…

> This should be obvious because pure reference counting requires modifying counts whenever locals are assigned, which happen orders of magnitude more often than main memory updates, and now each local assignment requires touching main memory too. I guess so, but it's worth noting that this isn't the case in Rust, because Rc benefits from move semantics. Most assignments don't touch the reference counts at all.

Right, Rust's borrowing is like the optimization link I provided, just slightly less general IIRC.

Re: 2017 Rust Roadmap

#179
post #177
post #176

Earlier quoted context omitted.

Ah, of course. I have long wondered why (Common) Lisp didn't take over the world at the end of the 90s to the beginning of the millennium. :-( They have a GC, but so do Java. There were good compilers since at least the 80s. But the lisp variants aren't really a system programming language that will replace C. (You can do bit fiddling, but... here the GC comes in, especially for embedded applications with KB of RAM.…

A thing called UNIX where the source code was available for free happened, but lets forget that fact. GC bashers would be surprised how much their lifes actually depends on embedded systems running real time Java deployments.

Huh? There were early Lisps with free source, too.

Also, 1, I am not a GC basher. 2. I was wondering why Lisp didn't take over most of the world 15+ years ago. Overhead was more expensive then. (And small embedded systems will always have too little RAM.)

Re: 2017 Rust Roadmap

#180
post #177
post #176

Earlier quoted context omitted.

Ah, of course. I have long wondered why (Common) Lisp didn't take over the world at the end of the 90s to the beginning of the millennium. :-( They have a GC, but so do Java. There were good compilers since at least the 80s. But the lisp variants aren't really a system programming language that will replace C. (You can do bit fiddling, but... here the GC comes in, especially for embedded applications with KB of RAM.…

A thing called UNIX where the source code was available for free happened, but lets forget that fact. GC bashers would be surprised how much their lifes actually depends on embedded systems running real time Java deployments.

It thought UNIX originally belonged to AT&T and they sold licenses. See the UNIX history.
Post reply on HN