Live data from Hacker News

Why Rust is a great choice for startups

dailyedit.com

241–250 of 294 posts

Re: Why Rust is a great choice for startups

#241

Earlier quoted context omitted.

FYI: If you're primarily IO-heavy, the GC pauses aren't going to be a big deal. Something like NodeJS (or Async .Net) will have great performance; even with garbage collection. (IO-heavy is the specific use case that NodeJS was designed to handle.) GC pauses really become a problem when you have long-lived objects in RAM. A generational GC (which pretty much all of them are) is designed to collect short-lived objects…

> FYI: If you're primarily IO-heavy, the GC pauses aren't going to be a big deal. Something like NodeJS (or Async .Net) will have great performance; even with garbage collection. (IO-heavy is the specific use case that NodeJS was designed to handle.) This just isn't true. Node is pretty terrible even at IO heavy workloads, especially if you have servers with many cores. Any benchmark will confirm this.

Is not Java or Go but surely beats the pants out of Ruby/Python, and then, Ruby/Python has been wildly successful for lots apps/companies.

Re: Why Rust is a great choice for startups

#242

Hahahahahahaha what!!!! Hahaha. It’s good for never shipping because every expression is a syntax error.

It's true that Rust is not for everyone. But if you are average+ programmer you should be able to learn it.

Hahshaaaaa

Re: Why Rust is a great choice for startups

#243
post #117

Earlier quoted context omitted.

I'm doing some work on a friend's startup, and we have a pretty stark divide between our hot path gateway service and our lower traffic services. All three of our services are currently written in typescript with no plans to change, but I've earmarked the gateway as "maybe we'll rewrite it in Rust in three years." It's so small it's nearly trivial (so a rewrite of that specific service will be quickish) and infrequen…

FYI: If you're primarily IO-heavy, the GC pauses aren't going to be a big deal. Something like NodeJS (or Async .Net) will have great performance; even with garbage collection. (IO-heavy is the specific use case that NodeJS was designed to handle.) GC pauses really become a problem when you have long-lived objects in RAM. A generational GC (which pretty much all of them are) is designed to collect short-lived objects…

Are there any good books that talk about this? When when to use what, what the bottlenecks are and how they are resolved? Maybe on a more abstract plane than if IO-heavy use NodeJS, more like what to look for?

Re: Why Rust is a great choice for startups

#244
post #66

What does Rust offer over modern C++ with smart pointers and RAII?

Have you ever wondered what a "moved-from" object [0] in C++ contains? In Rust, such objects are inaccessible due to enforcement of the compiler. In C++, they are accessible. Have you ever wondered what performance implications that has? Have you looked into what the C++ standard tells us about "moved-from" STL objects, what state they are in? [0] e.g. `b = std::move(a)`, what is in `a` now?

There are good use cases for requiring the moved object to still be valid and accessible, such as when memory lifetimes are decoupled from object lifetimes. It enables some optimizations. The specific state depends on the design of the type and its use case.

Re: Why Rust is a great choice for startups

#245
post #145

I started my first Rust project a month ago after working for years in Golang and before that Python (and before that Perl, C/C++ and Turbo Pascal). I really like the whole experience but I'm not sure if I'd recommend writing all your backend code in Rust as a startup. Rust definitely provides a pleasant experience and is very powerful. If you can stick to the standard library I think Rust is great, though the packag…

> I recently picked up Python again to write a simple REST API, and the process is just so much faster For me it's much more important how will it work in the next few years, not how quickly you can write it. If I could, I would use Rust for pretty much everything just because I don't like getting paged in the middle of the night.

> … how will it work in the next few years…

If we were talking about code, wouldn't that look a lot like premature optimization?

Build one, throw it away…

Re: Why Rust is a great choice for startups

#246

Actually, I think Rust is a godsend to startups for the following reasons: 1.) startups rarely have time, expertise or budget for extensive unit tests, mock-up tests, UI-automation tests or paid third-party Q/A services, 2.) software product users these days have a strong tendency never to submit bug reports or work with product support, but instead just leave negative reviews and/or just move on to the competition,…

What makes Rust better for these attributes than any other statically typed language with immutable data structures? It sounds like Ocaml would do just as good of a job here.

What makes Rust better for these attributes than any other statically typed language with immutable data structures?

The ecosystem, even though Rust's ecosystem is still very poor when compared to Java's.

Re: Why Rust is a great choice for startups

#247

Rust is not a great choice for startups! In fact, NO LANGUAGE is a great choice for startups! You don't choose languages depending on whether you're a startup! You choose languages based of the problem you're trying to solve, how fit the language is for solving that particular problem, the ecosystem supporting that language, and the availability of developers who are experienced with that language. Rust just may be t…

> Rust just may be the best choice for your startup, but it's not necessarily the best choice for all startups - in fact it's probably not the best choice for most startups!

Maybe it's just an assumption on your end. Neither title nor author imply that it's THE choice. The title literally says "a great choice"

> In the next post we’ll go into some of the downsides of using Rust.

Re: Why Rust is a great choice for startups

#248

Rust is not a great choice for startups! In fact, NO LANGUAGE is a great choice for startups! You don't choose languages depending on whether you're a startup! You choose languages based of the problem you're trying to solve, how fit the language is for solving that particular problem, the ecosystem supporting that language, and the availability of developers who are experienced with that language. Rust just may be t…

I've seen this in action: A startup I did consulting work for had a "genius" who convinced management that everything should be written in Haskell. As a consequence building a team was painfully slow, so slow that some guy in a weekend recreated in node.js what their 15 people team had painstaking put together in 3 months. Turns out doing a web service with tools meant for it was better than "everything should be fun…

I'd really love to hear more details about those Haskell services.

I'd put money on either the team not knowing Haskell when they started, or the "genius" was one of those completely impractical people who do type-level astronautics in Haskell.

Re: Why Rust is a great choice for startups

#249

Earlier quoted context omitted.

I've seen this in action: A startup I did consulting work for had a "genius" who convinced management that everything should be written in Haskell. As a consequence building a team was painfully slow, so slow that some guy in a weekend recreated in node.js what their 15 people team had painstaking put together in 3 months. Turns out doing a web service with tools meant for it was better than "everything should be fun…

Unpopular opinion - Haskell was intended for research and learning, not so much for mainstream production code. I'm not saying you can't use Haskell for that purpose, but you should think long and hard before doing so. If the answer is still yes then go back and make sure you've thought long enough and hard enough! :)

Haskell is fine for production code. You just need to know what you're doing, and not go crazy with abstraction.

Re: Why Rust is a great choice for startups

#250
post #207

Earlier quoted context omitted.

No you included the GC part too: > FYI: If you're primarily IO-heavy, the GC pauses aren't going to be a big deal. To further my point: .NET and Java are amazing when it comes to performance for most cases. You get a mature ecosystem, large developer pool, fast runtime and all the comfort that GC offers. I'd argue that choosing Rust for most startups is outright irresponsible.

Yeah fair, in my mind I was just responding to the bit about node, but whatever. > I'd argue that choosing Rust for most startups is outright irresponsible. I feel the opposite and I run a startup using Rust. If I could go back I'd use Rust in more places, not fewer.

Rust, Python and Go. Props to you for being sensible with technology choice.

https://github.com/grapl-security/grapl

https://github.com/grapl-security/pulumi-hcp

Whish you guys success.

Post reply on HN