Live data from Hacker News

Should I Rust or Should I Go?

kerkour.com

91–100 of 178 posts

Re: Should I Rust or Should I Go?

#91

I’m curious, given the current state of Rust, what can be done to help with these issues? Most of them seem related to the way the community organizes itself, and what they value at any given moment. What would a non-anemic STD look like? Could the STD be broken into smaller pieces while still being a standard library? Async has been a point of major frustration for me from the onset. Some people love it some hate it…

>> What would a non-anemic STD look like?

More like the standard libraries found in C++, Ada, Go, or Python.

Why can't Rust do something like C++ does with Boost?

If everyone is using a given crate (for example, serde) why not "adopt" it into the standard library? Give the maintainer a plaque that looks cool and a small fee for initial adoption and a recurring stipend for continued maintenance.

The crate becomes official, gets guaranteed maintenance and there is less need to reinvent the wheel or worry that a good crate will go unmaintained or have issues.

Re: Should I Rust or Should I Go?

#92
post #17

In what world is Go more reliable or faster than Java? Especially modern Java (or other good JVM languages like Kotlin). It compiles faster but that is about it. Which is a good thing too because it's verbose AF and heavily reliant on code generation even after generics shipped so that compiler lines/s actually matters. The only knock you can put on Java for reliability is null-safety but lets be real, nil pointers,…

Having worked on one of the largest golang code bases on the planet, I agree completely. I would always think to myself how much simpler and more reliable the programs I saw would have been in Java. But hype is hype I suppose, not to mention so many unsubstantiated claims.

Re: Should I Rust or Should I Go?

#93
One argument/scenario for the use of Rust I'm surprised not to see more often is interop with Python.

A ton of code, ML/AI etc goes through Python sooner or later. For example, as I understand it, PyTorch and Tensorflow, for instance, are written in C++, but primarily to be used in Python.

There are very few languages I know of that have compelling interop with Python. C, C++, Rust... Nim? All other major languages have something but as far as I can tell, it is usually some kind of hack/rpc kind of thing.

Clearly doesn't apply to every project, but one key reason why I'm learning Rust is precisely that I care about Python interior, and don't much love C++.

Re: Should I Rust or Should I Go?

#94
post #39
post #17

In what world is Go more reliable or faster than Java? Especially modern Java (or other good JVM languages like Kotlin). It compiles faster but that is about it. Which is a good thing too because it's verbose AF and heavily reliant on code generation even after generics shipped so that compiler lines/s actually matters. The only knock you can put on Java for reliability is null-safety but lets be real, nil pointers,…

I’ve heard three main arguments in favor of using Go. First, that it has a standard library that is world class for building a worldwide ads serving network. If your use case is that or something that’s technically similar, then it’s great. Second, Go has extremely limited facilities for abstraction. Frankly, I dislike that about it, but the argument is that forcing programmers to use a quite limited set of abstracti…

> that it has a standard library that is world class for building a worldwide ads serving network

What does the golang standard lib have for that use case that Java doesn't have, or do better?

> but the argument is that forcing programmers to use a quite limited set of abstractions makes code more readable

There's a good balance. Sure you can probably argue that Scala opens the door for many different ways to write a program. But golang took the extreme opposite approach, resulting in very verbose code that is difficult to decipher. Java has a very solid middle ground here.

Re: Should I Rust or Should I Go?

#95
post #47

Earlier quoted context omitted.

I feel that you've ignored all the reasons why folks feel that Go is more reliable and faster than Java. Fighting with the JVM - even in modern versions - is an absolute pain. The practical reality of using _any_ JVM language is wasted memory footprint, classpath issues, weird dependency graphs because a mega-apache-project was used to solve a simple problem, etc. Never mind getting basic things like RPC clients over…

Oh I am well aware of Java's warts and you hit a few of them but they are clearly -not- performance or reliability. Yes there are lots of things that suck about Java and the JVM but you can't in good faith argue that it's slow and unreliable.

Once it hits full stride, sure. While not a Java dev, I work with plenty of Java enterprise systems (looking at you, ElasticSearch, and probably big chunks of AWS).

One appreciates the engineering durability of it all.

I do refer to the healthy startup time for the cluster as the "Java pause".

Perhaps that's a cheap shot, blaming the language, given that we're getting rich logging and a predictable approach that makes things boring in a good way, but there you have it.

Re: Should I Rust or Should I Go?

#96

I’m curious, given the current state of Rust, what can be done to help with these issues? Most of them seem related to the way the community organizes itself, and what they value at any given moment. What would a non-anemic STD look like? Could the STD be broken into smaller pieces while still being a standard library? Async has been a point of major frustration for me from the onset. Some people love it some hate it…

>> What would a non-anemic STD look like? More like the standard libraries found in C++, Ada, Go, or Python. Why can't Rust do something like C++ does with Boost? If everyone is using a given crate (for example, serde) why not "adopt" it into the standard library? Give the maintainer a plaque that looks cool and a small fee for initial adoption and a recurring stipend for continued maintenance. The crate becomes offi…

Note that boost is also not the C++ standard library.

A few people have tried to make boost-like meta-packages in Rust over the years, but in practice, people don’t use them, and they die out.

Also, like, serde's main maintainer is also a member of the libs team, so it being moved into the standard library meaning more maintenance doesn't really make sense to me.

Re: Should I Rust or Should I Go?

#97

> I think that a modular and rich standard library such as Go's or Node.js's offers way higher productivity to developers, consistency to the ecosystem and reduced costs for businesses. Is the Go standard library really considered rich? Coming from languages like python or ruby I found it pretty lacking. Admittedly I haven't used Go in 3 years.

All of these things are a spectrum. For network services especially, Go's standard library is generally considered pretty comprehensive, yes. In comparison to Rust specifically, like the context of the post, I don't think anyone could really argue a different way, though if you're comparing to something else, or for a different kind of task, it's possible that you may have a different opinion, sure.

Re: Should I Rust or Should I Go?

#98

Earlier quoted context omitted.

>> What would a non-anemic STD look like? More like the standard libraries found in C++, Ada, Go, or Python. Why can't Rust do something like C++ does with Boost? If everyone is using a given crate (for example, serde) why not "adopt" it into the standard library? Give the maintainer a plaque that looks cool and a small fee for initial adoption and a recurring stipend for continued maintenance. The crate becomes offi…

Note that boost is also not the C++ standard library. A few people have tried to make boost-like meta-packages in Rust over the years, but in practice, people don’t use them, and they die out. Also, like, serde's main maintainer is also a member of the libs team, so it being moved into the standard library meaning more maintenance doesn't really make sense to me.

>> Note that boost is also not the C++ standard library.

I know, but many components that are now in the C++ standard library were previously in Boost or were heavily influenced by / inspired by Boost:

https://stackoverflow.com/questions/59912393/boost-libraries...

Similar events also happened in Java 8 with the Joda time library:

https://www.joda.org/joda-time/

>> serde's main maintainer is also a member of the libs team, so it being moved into the standard library meaning more maintenance doesn't really make sense to me.

I did not know that.

I was just using serde as an example of a widely-used crate that feels essential enough to be included in the Rust standard library.

At what point does a third-party crate become so useful that it might be considered for inclusion in the Rust standard library?

Is there a process for adding crates to the Rust standard library?

If so, how do such crates get nominated and approved?

Re: Should I Rust or Should I Go?

#99

Earlier quoted context omitted.

Note that boost is also not the C++ standard library. A few people have tried to make boost-like meta-packages in Rust over the years, but in practice, people don’t use them, and they die out. Also, like, serde's main maintainer is also a member of the libs team, so it being moved into the standard library meaning more maintenance doesn't really make sense to me.

>> Note that boost is also not the C++ standard library. I know, but many components that are now in the C++ standard library were previously in Boost or were heavily influenced by / inspired by Boost: https://stackoverflow.com/questions/59912393/boost-libraries... Similar events also happened in Java 8 with the Joda time library: https://www.joda.org/joda-time/ >> serde's main maintainer is also a member of the libs…

The process is roughly the same as the boost one: the rust project maintains a number of packages outside the standard library, such as regex. Projects may graduate from the community to being owned by the project. And then, if the team decides that it's a good decision, a package owned by the project can move into the standard library.

It happens pretty rarely because there is not much advantage to doing so, but the path does exist.

Re: Should I Rust or Should I Go?

#100
post #86
post #17

In what world is Go more reliable or faster than Java? Especially modern Java (or other good JVM languages like Kotlin). It compiles faster but that is about it. Which is a good thing too because it's verbose AF and heavily reliant on code generation even after generics shipped so that compiler lines/s actually matters. The only knock you can put on Java for reliability is null-safety but lets be real, nil pointers,…

Embedded devices?

Older versions of ARM had hardware support for translating and executing Java bytecode, see Jazelle.
Post reply on HN