Live data from Hacker News

Why AWS loves Rust, and how we’d like to help

aws.amazon.com

311–320 of 338 posts

Re: Why AWS loves Rust, and how we’d like to help

#311
post #233

Earlier quoted context omitted.

Despite some surface differences, Kotlin and Java are so similar that "losing" one to the other isn't really that big a change. They run on the same platforms and they use the same frameworks, dependencies, debuggers, and other tooling. A Java developer will pick up Kotlin much faster than, say, a Postgres developer will pick up Mongo. It takes a lot longer for a Java programmer to learn the Android environment than…

There's no such thing as Postgres or Mongo developer. They are not programming languages.

> There's no such thing as Postgres or Mongo developer.

That's very much not true. I've personally done contracts for developing PostgreSQL related code and/or PostgreSQL based projects.

Re: Why AWS loves Rust, and how we’d like to help

#312
post #301

Earlier quoted context omitted.

And in the cloud native world everything is on the Go track. Java were huge for big enterprise monoliths, but it seems like this is not what we are heading for in the future.

There is work being done for native (AOT) Java deployments.

True, but Go is far ahead in this important domain and it is an open question whether Java can catch up.

Re: Why AWS loves Rust, and how we’d like to help

#314

I believe that's Amazon, Microsoft and Facebook all looking to get involved in core Rust development (I think partially triggered by the Mozilla layoffs). If anybody was still harbouring doubts about Rust's future, now is the time to lay them aside.

Friends of mine that are contract programmers have been ramping on Rust for the past 2-3 years claiming the number of requests for it has been increasing exponentially. I installed it two weeks ago and have been getting a feel for it. It's like if C++, C#, and npm had an offspring. I always hoped Java would make a comeback, but Rust is looking like the real deal.

I don't think Java is going anywhere. It's more performant than JS and especially Python, the other 2 top 3 languages. And unlike Cxx/Rust, you have the convenience of GC. And the new GC's are VERY good.

It has a nice niche where it's less chaotic than JS and has better threading support and uses less cpu/ram than JS and python. But it's still high level enough to not be inconvenient to work with. These traits make it a great fit for beefy back end machines at big companies.

Rust will always be targeted at low level work unless they add a GC. Even with lifetimes etc a GC is just way more convenient

Re: Why AWS loves Rust, and how we’d like to help

#315

Earlier quoted context omitted.

They have (including Google) all been involved to various degrees so far; this is about increasing their involvement.

Sure, but from my perspective (you probably had better insight into these companies involvement than me) there was always a question about how committed companies this large really are when they only have a few projects in the language. Hiring core developers puts all doubts to bed (and also the kind of investment that actually for counts for something).

I think most of these companies have had a pretty large investment, they're just not really open about it in many cases. So yeah, it's a pretty visible signal, but the investments they had already were much larger ones. A team of core developers is a pretty small investment compared to having a ton of teams all over the place, which most of them had already.

Re: Why AWS loves Rust, and how we’d like to help

#316
post #301

Earlier quoted context omitted.

There is work being done for native (AOT) Java deployments.

True, but Go is far ahead in this important domain and it is an open question whether Java can catch up.

Java has AOT compiler support since around 2000, 20 years, Go should take care to catch up with generics instead.

It just wasn't available as free beer, so it tends to be ignored by the FOSS crowds.

Re: Why AWS loves Rust, and how we’d like to help

#317
post #306

Earlier quoted context omitted.

My comment in on point, not off-topic. I had no intention to "hijack" the top comment, didn't even think about that until I've seen your comment. I don't see Rust as a replacement for Java and I also pointed out that Rust has to win the mindshare of C++ programmers first, before even reaching other ecosystems. Rust is mainly a replacement for C++.

> I also pointed out that Rust has to win the mindshare of C++ programmers first, before even reaching other ecosystems C++ is just a tool, as is Rust. Rust does not need to win the mindshare of C++ programmers first to become successful. It only needs to itself as a viable alternative in whatever fields people find it useful. I believe it has. Between WASM, embedded, and even Web development, I see a lot of "mindsha…

Coffeescript also won a lot of mindshare, the point is keeping it for decades.

Re: Why AWS loves Rust, and how we’d like to help

#318

Earlier quoted context omitted.

Firecracker and Bottlerocket are fine pieces of engineering. If Rust wants to get a share of the pie when it comes to data engineering, then it needs to have at least a killer app with an ecosystem around it. We can talk all day and all night for why some languages are more successful than others but it seems like ecosystems are giving them a boost. Hopefully, Rust will be the language for microVMs and kernel-level m…

> it needs to have at least a killer app with an ecosystem around it Give it 20 years and I can see it doing to Python what Python did to R.

On lifesciences, R still wipes the floor to Python.

Re: Why AWS loves Rust, and how we’d like to help

#319
post #227

Earlier quoted context omitted.

Applications of Java and Rust do not overlap. As a big data engineer, Rust does not provide any advantage to me. Good luck rewritting all the big data tools from Java (Elasticsearch, Spark, Kafka, Hadoop, Neo4j, Deeplearning4j, Cassandra, Solr, Arrow, OrientDB) and all the scientific stuff from C++ (Eigen, Tensorflow, PyTorch, Jax, Halide, OpenCV and the multitude of resources for CUDA and OpenCL) and databases (MySQ…

> Applications of Java and Rust do not overlap. Both are general purpose languages, so of course they overlap. > Good luck rewritting all the big data tools from Java (Elasticsearch, Spark, Kafka, Hadoop, Neo4j, Deeplearning4j, Cassandra, Solr, Arrow, OrientDB) Cassandra ( https://scylladb.com ) and Kafka ( https://vectorized.io ) have already been rewritten once in C++, with massive latency and throughput improvemen…

> Cassandra (https://scylladb.com) and Kafka (https://vectorized.io) have already been rewritten once in C++, with massive latency and throughput improvements.

It is not a single dimension problem as they try to frame it. Performance is a single dimension of systems. Java with GC is a memory safe solution compare to C++ (hello segmentation faults). The reason why the C++ implementation is faster is not that it is written in C++ but it is written using a different approach. There are plenty of Java HFT systems that run circles around C++ systems yet we cannot draw a conclusion that Java is better suited than C++ for HFT. Implementation details matter, code quality matters and performance does not come purely because you pick a particular programming language. Btw. most of the systems which I was working on using Cassandra instead of ScyllaDB because the companies were not ok switch up for some performance gains (because Cassandra was performant enough for their business use case). I think what you receive as superiority is not as clear cut as you try to make it.

Re: Why AWS loves Rust, and how we’d like to help

#320
post #161

Earlier quoted context omitted.

You are saying different things as one argument. Yes, Java applications and Rust mostly don't overlap, but there are exceptions in both ecosystems. Rust might offer some advantages for Data Engineers (the same way as CUDA applications in C++), not all of them as with every language else, and yes you can write Data centric libraries in Rust for Python (easier than C/C++ IIRC). And no, there's no need to rewrite existi…

There are a lot of database-like services written Java (Kafka, Cassandra, ElasticSearch, Neo4J, HBase) that would likely be better in Rust. Yes the common denominator is Apache but they seem to have bought into Rust as well https://arrow.apache.org/blog/2019/02/04/datafusion-donation...

DataFusion is a tiny project maintained by few people. I am really hopeful that it takes off though.
Post reply on HN