
Announcing Rust 1.12.1 - silluk
https://blog.rust-lang.org/2016/10/20/Rust-1.12.1.html
======
deckiedan
This is really cool, actually. And the reason I think it's actually good to be
high on HN, not just the 'ooooh rust, upvote derp!' is this:

This is a _point_ release that they don't _need_ to do - on the grounds that
it's not a bad time to do one, but it should help in the future to do point
releases quickly if there is a real need to (security, etc).

There's a commitment in the rust team to making life really really good for
developers, and I appreciate that a lot.

------
bluejekyll
I have Travis builds against nightly, beta and stable on Linux and Mac. I have
to say, with the exception of OpenSSL breaking on Mac recently (fixed with
OpenSSL 0.8), I haven't had a compiler failure or bug introduced in any of my
tests in the time since 1.0 (at least I can't remember one).

Even these, which obviously effected others, didn't effect my code. Cudos to
the Rust team for being on top of this!

~~~
kibwen
Not even on nightly? I know that we don't tend to mess with things unless
they're behind unstable feature flags (which you presumably aren't using), but
I'd be very pleasantly surprised if we managed to make nightly stable enough
that you never happened to run into any compiler bugs. :)

~~~
bluejekyll
So I have 20,292 lines of Rust with 85%ish code coverage in my project (by
current count), and I can't recall a failure in nightly since I enabled it in
Travis. Mind you, that only gets run when a commit happens, so it's entirely
possible it could have failed and I've just been lucky. It looks like from git
log, I committed the change to Travis to start nightly builds on

    
    
      Date:   Sat Aug 22 11:45:08 2015 -0700
    

So, take that for what it's worth :)

------
laxentasken
Question for you guys: I'm planning to putting down some time into learning
java for the higher stuff along with C the coming year. I know the very basics
of C and java, but after looking into the documentation for rust I got that
feeling of "oh man, this really looks fun to get into."

Is Rust "mature" enough to start to dabble with and actually put down some
hours into (and thus replace C in my plan)? Only hobby projects so far.

~~~
biokoda
For higher level stuff Erlang/Elixir is a much better option. Productivity
will be way higher.

For lower level stuff Rust is a better option. Better productivity, equal
performance, much higher safety.

Unless you have specific needs that require Java/C of course.

~~~
laxentasken
I see, thank you! The reason for java was mostly because I had prior albeit
small experience, and the way the job market looks.

~~~
dbrgn
Java probably still has a long future ahead, especially because Android app
dev is done in Java. There are also lots of jobs around.

On the other hand, a lot of Java jobs involve stuff like enterprise Java,
which can be horrible to work with.

C is probably good to know, so I'd play around with it for a few weeks and
then move on to Rust. Knowing C probably lets you appreciate Rust even more.

Java is also good to know and not hard to get into. But for hobby projects I'd
choose something else, unless you want to do Android apps.

Edit: Python is also a great all-round high level language and there are many
Python jobs around :)

------
rfrey
The two imaginary futures I daydream about where performance is a concern are
robotics and serious AI algorithms (RL especially). I'd assumed I'd need
serious C (or C++) chops for the embedded development of the first, and real
access to GPU parallelism for the second.

Does anybody have experiences to share using Rust like this?

~~~
pYQAJ6Zm
No direct experience here, but I know there is Vulkano[1], a Rust library that
wraps around the Vulkan API. But until (and if) a SPIR-V target is available
to the Rust compiler, the compute shaders will still have to be programmed in
another language (typically, GLSL). This covers the GPU side of your interest.

I don’t know how things stand in the embedded Rust camp, however.

[1] [https://github.com/tomaka/vulkano](https://github.com/tomaka/vulkano)

------
sdegutis
Honest question from a non C++ developer: what's the _main_ point of Rust?
What's the _primary_ reason for choosing it over any other language? When
would it be _most appropriate_ to choose?

~~~
wcrichton
Rust is a replacement for C++. It is meant to be a modern, general-purpose
systems language, where "systems" generally means anywhere you need to be
close to the metal. This includes areas like embedded systems and high
performance computing. Modern means it has features and tooling you expect
from languages in 2016. For example, on a language level, Rust has type
inference, sum types, pattern matching, proper generics, and a decent macro
system. A modern language should also be memory safe, and Rust opts to ensure
memory safety at compile time with the borrow checker (as opposed to runtime
with a garbage collector like in most languages). As for tooling, it also has
a proper package manager, which believe me, is incredible compared to handling
dependencies in C++.

So why would you choose Rust? If you need to use C++, because you need
performance, or low-level access to memory, or any other reason, then you
should choose Rust instead, because it's better for all the reasons listed
above. The biggest strike against Rust compared to C++ is library support--
people have been writing C++ and C libraries for decades, and Rust is a new
language, so it won't have the same level of support.

~~~
zerofan
If you think Rust is ready for high performance computing, I suspect you don't
do HPC for a living and you haven't tried to do it with Rust. It's not just
missing the needed libraries.

~~~
rfrey
Can you expand on that?

