Live data from Hacker News

Why Rust is a great choice for startups

dailyedit.com

151–160 of 294 posts

Re: Why Rust is a great choice for startups

#151
post #122

Earlier quoted context omitted.

I am not sure what is so "un-tempered" in the original message (assuming it is not technically incorrect) and what makes Rust so special that criticism must be "tempered with gratitude".

It's too vague. The claim is that async "still doesn't really work" but like, how so? Sometimes you could make a claim like that about a feature and it's more or less accurate just as it stands. C++ 20 Modules were like that (still might be like that?) on most platforms, 'cos it turns out that's a lot of work for a compiler to implement and it's important to say you have the feature even if you know it doesn't work w…

I understand and agree with what you say. It is ""tempered with gratitude" part of the original message I do not grok.

Re: Why Rust is a great choice for startups

#152
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.

I agree. This typing velocity argument is really weak. It may be faster to start, but talk to me once the project reaches 10K+ lines of code and we'll see how you fare with your scripting language.

Re: Why Rust is a great choice for startups

#153
post #95

Earlier quoted context omitted.

It definitely works just fine

You can find great examples of Rust async programming being "a disaster and a mess". You still can consider it is working just fine, but I disagree.

I don't really need to find those examples, I've written most of my company's product in Rust using async, for years, and it's never once been an issue. That's 100s of thousands of lines of rust written and 0 async issues.

Re: Why Rust is a great choice for startups

#154
post #96

Blog post is just rationalization for their choice. Rust is actually terrible choice for startups. It will take 2x more time to develop same thing than using something like TypeScript/Python and you will have much smaller and more expensive talent pool. Startups usually have to make, at least minimum viable, product quickly and start selling it before funds dry out. That means using familiar tech with big ecosystem.…

Depends on what you're doing. There are apps that can be written in Rust much more quickly than in other services, cause you don't have to worry about a lot of stuff (like for example it's hard to keep an open connection for every client and process everything real time in Ruby on Rails).

Re: Why Rust is a great choice for startups

#155
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…

> 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.

Re: Why Rust is a great choice for startups

#156

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.

Ocaml wouldn't be a bad choice if it were livelier. Few learning resources, and perceived smaller ecosystem create a vicious cycle that hamper its adoption.

Re: Why Rust is a great choice for startups

#157
post #75

Author here: lots of usual language-war type comments here. Just thought I'd add my own little bit of water (hopefully). In my post notice that aside from my personal background with programming I didn't go into detail about memory safety, which seems to be what many are debating. Frankly, it's not even one of my top reasons for praising the language. If I had to pick three these are what I'd choose: 1. Strong featur…

So, F# with NuGet/Fake, Scala or Kotlin with Maven/Gradle, OCaml with OPAM. Those points are hardly Rust specific and apply to any compiled language with ML influences.

From the official "Maven in 5 Minutes" tutorial:

    mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
From the official Rust lang book, Cargo section:

    cargo new my-project
I guess it's a matter of taste...

Re: Why Rust is a great choice for startups

#158

Earlier quoted context omitted.

On the other hand, you might attract talent that wants to use a specific language like Rust, but hasn't had the chance in their current professional environment.

I've been toying with Rust on and off for a few years. It has an extremely steep learning curve. As a novice it's incredibly difficult to do things that are trivial in other languages. > On the other hand, you might attract talent that wants to use a specific language like Rust, but hasn't had the chance in their current professional environment Maybe if you're doing something embedded? Otherwise, the learning curve…

We've had 0 issues hiring for Rust, despite the vast majority of the company having no prior experience with it (or some experience on the side). The learning curve isn't that bad, maybe you just haven't dedicated the right time or you've had trouble learning it in isolation.

Re: Why Rust is a great choice for startups

#159

Earlier quoted context omitted.

It definitely works just fine

My main issue with Rust async was that it wasn't possible to write a "runtime agnostic" libraries. For example, I wrote an HTTP client with Tokio and later wanted to use it in a project that was using another runtime (I think it was async-std) and couldn't use it. I wonder if that has changed since then?

This is probably more of a concern for people who aren't writing services/ professional devs. Otherwise, who cares, you pick a runtime (tokio) and you use it - runtime agnosticism isn't a real goal for any company.

Re: Why Rust is a great choice for startups

#160
The technical aspect of a startup hardly even matters as long as you get the job done. The first thing to understand before you start a startup is that it doesn't matter how much you love programming. It doesn't matter how beautiful your code is or how much time you spent writing it.

What matters is marketing. You can use Rust or JavaScript or whatever language you want but if you want to be successful, you will spend more time thinking about how to market. Customers don't care what language a product is written in (unless it's a developer facing product). Customers care about getting the job done.

I know the argument here is that Rust offers long term stability but if you are a startup, you will be changing the product so rapidly and adding more and more features, the sheer level of growth will make your product unstable.

I am not against someone using Rust for their new startup IF they are already comfortable in it and know the ins and outs of Rust. Rust is way more complex than JS. The learning curve is considerably steeper. And that matters because if you use a great language and write it poorly, no matter what guarantees it offers, you won't get a better product than if you wrote it in a language you understood well.

So if you are a startup, don't think about the language. Think about what will sell, how you will sell etc. If you can't sell it, it doesn't matter if you wrote it in a particular fancy language. The technical aspects of a product are rarely a sales increasing factor.

Post reply on HN