Hacker News new | past | comments | ask | show | jobs | submit login

> I think the 2017's focus on productivity is very important.

If the yardstick of “productivity” is how fast you can write incorrect programs, I'm not terribly interested in “productivity”. I'm sick of being a defensive user, having to refrain from probing how systems work in undocumented and likely unforeseen scenarios, lest I completely break them in unrecoverable ways.

I'd rather see an axiomatic semantics for unsafe Rust, so that I can formally prove that my unsafe Rust code doesn't break safe Rust's integrity guarantees.

> So now that even them have got the AOT memo, and Go and Swift also exist

Support for running in an unmanaged environment is a red herring. If you want to manage resources correctly, you have to care about ownership and lifetimes, regardless of whether you are doing systems programming (user programs manage resources too), need AOT compilation (JIT-compiled programs manage resources too) or need a GC-less environment (GC doesn't work for resources that need to be reclaimed eager and deterministically).

> I imagine Rust's image should be better than a language from experts for experts.

I have no idea. I'm not a member of any community (not a “Rustacean”, not a “Haskeller”, not anything), and I have no personal interest (financial or emotional) in any specific technology becoming popular. I only care about technical facts. Are facts for experts only?




> GC doesn't work for resources that need to be reclaimed eager and deterministically

Which is why usually there are other language or runtime features for deterministicaly managing resources besides just the GC.

The question is how to keep the way of Rust memory management, while e.g. making it easier to write cyclic graphs, or reducing even further the cases where one has to explicity type lifetimes.


> Which is why usually there are other language or runtime features for deterministicaly managing resources besides just the GC.

Other than what Rust (and its research ancestors) uses, I haven't seen any alternative that isn't fundamentally broken in some way or another.

> making it easier to write cyclic graphs

I'd do it the same way I do it in any other language: initially create a DAG, then mutate it to create the cycles. This needs reference cells or something like that. Rust can do it already.

> reducing even further the cases where one has to explicity type lifetimes.

I don't see any way to do that in the vicinity of where Rust lies in the design space. What Rust has settled for (explicit lifetimes in type definitions, elision at use site) seems perfectly sensible to me. Of course, if a better alternative is found, that's a great thing.


> I'm not terribly interested in “productivity”.

> I'd rather see an axiomatic semantics for unsafe Rust

Luckily, this isn't an either-or! There are several groups of academics working with us on #2, while we work on #1. (among other things)


I have no idea why you got downvoted. The only questionable thing in your comment is the use of 1 and 2, instead of 0 and 1. Downvoting for this reason seems petty. :-p


This thread was linked to a subreddit that hates me; if I had to guess, that's why.

Good thing karma doesn't matter, and I have so much that a few comments being voted down doesn't affect me at all.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: