Live data from Hacker News

Why Rust is a great choice for startups

dailyedit.com

271–280 of 294 posts

Re: Why Rust is a great choice for startups

#271

Earlier quoted context omitted.

Exactly, I did startup before, and my take is: Rust is absolutely the worst choice for startups. to survive startup, you need a large pool of talents, mature and verified and boring stack, easy to find tutorials, etc. The least thing you want is to spend cycles on fancy new bleeding unstable languages to build your earth shaking product.

> fancy new bleeding unstable language Where does a language magically go from "new bleeding unstable" to something you think is suitable to use at a startup ? Rust 1.0 was in 2015, seven years ago. Do you think a startup should also avoid the "fancy new" ES6 with "let" and arrow functions ?

When I see people complaining about "experimental", "new bleedy unstable" I always picture some weak developer complaining about the language not being Java 1.4 and having to learn other stuff that is different from enterprise OO invented after the year 2000. See Rust (7 years already), Haskell (older than Java), React (9 years).

They all miss their 5 million LoC mudball at the bank, because that's all they know how to do.

Re: Why Rust is a great choice for startups

#272

Earlier quoted context omitted.

I don't remember the 'satisfying the borrow checker' phase lasting more than a few weeks. Once you internalize the rules the borrow checker gets out of your way and it's more of a sanity check. I think part of the issue is that it wasn't very well explained in the book at the time I started learning rust. This might have improved since.

The entire way of coding in Rust revolves around satisfying the borrow checker. At some point it may become second nature, but you are still jumping through Rust's hoops, which will make your code full of compromises that would otherwise not exist.

>you are still jumping through Rust's hoops, which will make your code full of compromises that would otherwise not exist.

The same can be said in reverse. There are many, many C and C++ codebases that make design compromises and copy data unnecessarily so as not to be utterly hellish to maintain. People meme about "fearless concurrency" but it's true, with Rust you don't need KGB levels of paranoia and attentiveness to write parallel or reference-heavy code. I can write code in Rust I would never be comfortable writing in C/C++ because the language gives me the confidence to not compromise in those areas.

Re: Why Rust is a great choice for startups

#273

Earlier quoted context omitted.

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.

You just need to know what you're doing

The problem is that there just aren't that many people who choose to invest in learning Haskell -- or for that matter, the essential-to-master nooks and crannies of Rust. And the learning curve to get there is intrinsically steeper that for, well, all those "dum-dum" ducktyped and/or mostly procedural languages one imagines you don't particular care much for, now do you.

Of course it's known that some shops, like Jane Street, have gone whole hog on FP and have managed to do all right, it seems (even arguing that "the fact that the learning curve for our bread and butter is significantly higher than for the usual college-taught languages is a feature, not a bug").

That may work if have the same brand recognition (not to mention salary and bonus pool available) as Jane Street. And even then, it's not exactly proven that large-scale FP worked out so well for them. Just that they didn't tank.

But if you don't have their clout and resoures... from first principles, you should probably think twice before making the same bet that they did.

Re: Why Rust is a great choice for startups

#274
post #5

>(...) despite my experience and best intentions, I was in fact making mistakes with C. Subtle leaks, use-after-free,(...) Rust made it very clear that I was not the programmer I thought I was. This really resonated with me. I feel a lot more confident writing code in Rust than say in C or Java. However, in my opinion, it also comes with a downside: These days, whenever I use a 'more forgiving' programming language I…

Do you pine for the nice days of C/C++, when men were men and spend hours on debugging segmentation faults?

I am a professional C++ programmer and I can’t even remember the last time I had a segfault. I also haven’t had a bug in production the last 5 years. But YMMV of course.

Re: Why Rust is a great choice for startups

#275
post #213

Earlier quoted context omitted.

Are you using ASP.Net Core straight up or through something like Giraffe? Also are you using JS or Fable/etc to handle the front end? The F# web ecosystem is something that I've done light research on but haven't done a real project with yet, but still incredibly curious about it.

I'm using Giraffe. Building everything in the request pipeline as composable handlers has been nice. For the front end, I have decided to do server-rendered pages, using Giraffe.ViewEngine. So the source for the HTML is all F# code too. For interactivity and updates without a full page reload, I am using htmx. This has been so nice that I feel “done” with SPAs as the default choice for a web UI. 99% of the JS I need…

That sounds wonderful. I'll keep your thoughts in mind if I get back to F# for something to try out.

Re: Why Rust is a great choice for startups

#276
post #9
post #2

Rust is a great choice for startups because most startups fold and so will not need to try to find people who know how to maintain it.

I would argue that Rust is a great choice for startups exactly because you can find people who will either take a pay cut or work in a hectic environment, just so they can use Rust. Rust has been on top of everyone's "want to learn" list for half a decade, and it feels quite mature.

Nope not even close to being true. I am way more interested in more advanced languages (using dependent types).

Re: Why Rust is a great choice for startups

#277
post #260

Earlier quoted context omitted.

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

It's the same for all languages, premature abstraction is a plauge in this industry.

Yep. But sadly Haskell does give you more rope to hang yourself with. Refactoring and normal development is so easy and then people use all that power to go nuts. Such a shame.

Re: Why Rust is a great choice for startups

#278

Earlier quoted context omitted.

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.

I think you just described the only two types of Haskell programmers that actually exist in a meaningful number.

There are a lot of us. But we are a minority in the Haskell world I think.

Re: Why Rust is a great choice for startups

#279
post #228

Earlier quoted context omitted.

Totally valid, but you could also say the same thing about C and C++, i.e. you can wield your tool with mastery, then that's awesome. But I think the average startup would likely struggle needlessly when they really just need to ship products that people want/need to use. Rust is likely not the smartest choice for the average startup.

Only one person at the company had previous professional experience with Rust. The majority had 0 experience with it at all. We've had no trouble and it's actually been our most productive language - we're moving away from Python and Typescript where possible.

[deleted]

Re: Why Rust is a great choice for startups

#280

Earlier quoted context omitted.

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

You just need to know what you're doing The problem is that there just aren't that many people who choose to invest in learning Haskell -- or for that matter, the essential-to-master nooks and crannies of Rust. And the learning curve to get there is intrinsically steeper that for, well, all those "dum-dum" ducktyped and/or mostly procedural languages one imagines you don't particular care much for, now do you. Of cou…

How do you know it didn’t work out very well for them and they keep it quiet just so the competion doesn’t gain the same advantage? There is that possibility or it could be that the same team would be capable enough to change the stack and paradigm and get more or less the same results, with some twist and a different flavor. It’s hard to know for sure I think.
Post reply on HN