Live data from Hacker News

Why Rust is a great choice for startups

dailyedit.com

111–120 of 294 posts

Re: Why Rust is a great choice for startups

#111
post #108

Earlier quoted context omitted.

I would say that curiosity about languages in general is one item that you should look for in candidates. Not the only one of course but curious people do tend to learn and adapt well. For an analogy, I wouldn't hire a pilot that isn't interested in other planes than what's on their license. What if I want to operate some new models? Unless I'm looking for someone for a truly specialised role, I would avoid people th…

Curiosity is a quality, but not a qualification. For hiring, what you should look for, first and foremost, is competence. Curiosity is not a substitute.

Curiosity is a decent indicator one of the many types of competence that you ought to be assessing: the ability to learn new skills and deal with problems that are outside of their current skill set. Which for most software jobs is rather key skill.

Re: Why Rust is a great choice for startups

#112

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…

Two things I consider: 1. what languages does the team already know best? 2. are any languages dominant in the problem space? for us, I've used Python over 10 years and Python is the leader in data science / analytics. Some things might be a little faster if we used Rust, but compute is cheap. Go with what you know.

>compute is cheap. Go with what you know.

sorry for picking on your comment in this generic fashion but I am critical of these memes not your observations:

Compute Is Cheap(where Gustafson Bariss is true)

https://en.m.wikipedia.org/wiki/Gustafson%27s_law

Going with what you already know is fine for knocking out the cobwebs and getting into a space. But most generally certainly in my experience I've never done anything to completion I knew at the beginning.

Re: Why Rust is a great choice for startups

#114
post #89

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 would like to add that async Rust still doesn't really work. That is a big negative for Rust.

I've been using async Rust in production for years. The learning curve is a little higher than I'd like. But it works great and it does everything we need it to. For an open source example, see https://www.dbcrossbar.org/

Many problems with async Rust involve people trying to get overly clever with lifetimes and zero-copy code. And if it's not either of those, it's people getting overly clever with async traits. So keep it simple!

Some tips:

1. Long-running async tasks should own their data, not borrow it. This will save you 80% of the pain right there.

2. Don't be afraid to allocate futures on the heap, and use "Box>" to hide the implementation.

3. If you must use traits with async members, use "async_trait".

4. Remember that futures can be cancelled at any "await" point. You can ignore this 99% of the time, as long as you use destructors to perform cleanup.

I would only recommend async Rust if you actually need very high-performance async code. Regular threaded Rust still works great for most things, as do languages like TypeScript. But if you actually need what async Rust offers, it's totally workable.

Re: Why Rust is a great choice for startups

#115

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?

That's basically only a problem if you use async-std (just don't, and switch your project if you have). Pretty much everything supports tokio (or there is a just-as-good equivalent library that supports tokio).

Which isn't to say this shouldn't be fixed. Just that there's a fairly good away to avoid the problem in practice.

Re: Why Rust is a great choice for startups

#116

Startups are about cost, time to market, and a high level of efficiency to deliver on a promises ( product ) to sell or get to market. A language selection should consider two things, talent pool and maturity of the tools. When you go hire developers, I want a strong pool to be able to be selective in finding attitude with the right aptitude, and I want them to be productive ASAP, so that means that we might bring in…

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.

Re: Why Rust is a great choice for startups

#117

Startups are about cost, time to market, and a high level of efficiency to deliver on a promises ( product ) to sell or get to market. A language selection should consider two things, talent pool and maturity of the tools. When you go hire developers, I want a strong pool to be able to be selective in finding attitude with the right aptitude, and I want them to be productive ASAP, so that means that we might bring in…

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 infrequently changed (so hiring won't be as big an issue), it deals with low latency IO-heavy workloads (so we'll possibly want a language without GC pauses), and we really don't want it to break (so it's worth more effort per line).

Not sure how a hybrid approach will work.

Re: Why Rust is a great choice for startups

#118

I’ve been working on an OS project to help people get on this bandwagon: create-rust-app [1]. The folks over at shuttle.rs also wrote a blogpost around a similar topic which was a very interesting read as a rust developer. [2] [1] https://github.com/Wulf/create-rust-app [2] https://www.shuttle.rs/blog/2021/10/08/building-a-startup-wi...

This is great, it looks like it does a lot already and I really like the plugin system. I think you should definitely get the documentation written up.

One thing, the "Walkthrough" video in your README is unwatchable, because it displays very small. I had to download it to be able to watch it properly.

Re: Why Rust is a great choice for startups

#119

Startups are about cost, time to market, and a high level of efficiency to deliver on a promises ( product ) to sell or get to market. A language selection should consider two things, talent pool and maturity of the tools. When you go hire developers, I want a strong pool to be able to be selective in finding attitude with the right aptitude, and I want them to be productive ASAP, so that means that we might bring in…

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.

It's also worth considering what will keep the founder(s) motivated to stay focused and do good work. Yes, using JavaScript and Electron might be the optimal rational business decision, and in theory we should be motivated solely by the problem we're trying to solve. But if the technical cofounder, who's currently the only programmer, then feels that they're creating something that nobody can really love, and they get discouraged at the state of the world that led to that decision in the first place, that's not good for productivity. You can probably guess how I know this.

Re: Why Rust is a great choice for startups

#120
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.…

One of the few sensible comments here. As long as your product works well for your customers, they won't care what stack you used.
Post reply on HN