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

I've never programmed in Rust because I still have trouble seeing the point. It seems overly restrictive. A copy of any data has nearly zero marginal cost (and you can pay the cost by doing the work yourself), so in a free machine, it would have nearly zero price. If widely useful data is protected by the borrow checker, far fewer people will use it.

It is easy to show that the total utility of a piece of data to the rest of the program is reduced by assigning an owner to it. Each potential user of the data, faced with the need to mess with the borrow checker to use it, may choose to mess, or may forego use of the data and write a complicated workaround instead.

To counter the borrow checker, I'm currently designing a programming language featuring a mechanism that grants free access to data structures, with the restriction that copiers must grant the same rights to anyone else:

    0. the freedom to use the data for any purpose,
    1. the freedom to change the data to suit your needs,
    2. the freedom to share the data with your friends and neighbors, and
    3. the freedom to share the changes you make.



> A copy of any data has nearly zero marginal cost

I don't think this is true at all. Reducing copies and allocations in my programs is one of the things which has speeded them up the most.

> If widely useful data is protected by the borrow checker, far fewer people will use it.

Are you also against private struct/class fields? Because they also restrict access to useful data.

For me, the need for Rust is as a language that gives me maximum possible performance, while giving me safety guards that C and C++ do not. This makes Rust much easier to use than those languages for me.


The person you're replying seems to be making a parody of copyleft, applying Richard Stallmann's four essential freedoms to program data. I don't think it's a serious attack on Rust's borrow checker.


Ah yes, I see it now. Thanks :)


I very much agree with this: https://www.youtube.com/watch?v=_xLgr6Ng4qQ


I'd just like to interject for a moment. What you're referring to as Rust, is in fact, Rust/LLVM, or as I've recently taken to calling it, Rust plus LLVM ...


"To counter the borrow checker, I'm currently designing a programming language featuring a mechanism that grants free access to data structures, with the restriction that copiers must grant the same rights to anyone else:"

So....C? GNU makes so much sense now!


i.e. Memory will be under GPL license!


Did you just read the Mongo/Amazon article and get inspired?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: