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.
Why Rust is a great choice for startups
241–250 of 294 posts
Re: Why Rust is a great choice for startups
#242Re: Why Rust is a great choice for startups
#243Earlier 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…
Re: Why Rust is a great choice for startups
#244What 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?
Re: Why Rust is a great choice for startups
#245I 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.
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
#246Actually, 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.
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
#247Rust 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…
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
#248Rust 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 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
#249Earlier 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! :)
Re: Why Rust is a great choice for startups
#250Earlier 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.
https://github.com/grapl-security/grapl
https://github.com/grapl-security/pulumi-hcp
Whish you guys success.