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

> I'm not sure how many game developers will value Rust's memory safety over C++'s sheer flexibility and mature* tooling*

Spot on. What sets an immediate roadblock for me is this, straight from the Piston readme:

> You should be able to run the command rustc -v > You should be able to run the command cargo -V

The first one is incredibly easy: brew install rust, which currently brings in 1.0.0-alpha. The second one, well†... Its very homepage[0] says:

> The easiest way to get Cargo is to get the Rust nightly build

So the only easy step out of two is instantly invalidated. This is followed by:

> This will get you the latest Rust nightly for your platform along with the latest Cargo. You should run this script almost every day to get the latest updates.

Okay so the de facto standard dependency manager is apparently deeply tied to rust itself, yet not included in the rust distro, and it's apparently quite not stable enough to warrant daily updates. And even 1.0.0 (granted, "-alpha") doesn't include it, so it may not be ready before god knows when.

Compare:

    export GOPATH=$(pwd)
    brew install glew
    brew install homebrew/versions/glfw3
    go get github.com/go-gl/gl
    go get github.com/go-gl/glfw3
    vim whatever.go     # https://github.com/go-gl/glfw3#example
    go run whatever.go  # yay OpenGL!
This means that although Piston does look great, and Rust looks promising, it does not look not dependable right now, because it just doesn't feel mature (even if it is, which I don't know, because my time is limited and there were enough explicit or implicit warnings about dragons to turn me away).

† I'm perfectly aware that cargo is available as a Cask, but for various reasons, I don't want casks in my system, and it doesn't preclude the remainder of the discussion.

[0]: http://doc.crates.io




Do you know what alpha means?

or were you just wanting to talk about go?


> Do you know what alpha means?

Precisely†. This is just to give some credence to the "mature" part of the parent comment, beyond language features and alleged "proven-ness". I'm not complaining in any way, just reporting how things are or can be perceived.

The comparison with Go is purely factual: I just happen to have done exactly this in Go, and recollected an account of my experience when I wanted to explore doing the same thing in Rust. If referencing Go has to do with anything, it's laziness as I extracted that from my shell history.

I am deeply sorry if the above post sounded snarky or whatever. This was not the intent.

† BTW, when I did this originally, Rust was 0.9 (no alpha anywhere), which has the virtue of saying squat about what you should expect without a statement of version semantics (e.g node.js is 0.12 and definitely production-ready)


  > Rust was 0.9 (no alpha anywhere), which has the virtue 
  > of saying squat about what you should expect without a 
  > statement of version semantics
Rust has been openly adhering to Semantic Versioning (semver.org) since 0.1. According to the semver specification, any releases with a major version of zero carry no guarantees whatsoever.


Cargo is "ready" enough to be near-universally employed among Rust users, and the packaging story will be nailed down for the 1.0-stable release.




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

Search: