Hacker News new | ask | show | jobs
by coldtea 2759 days ago
>I mean, why would I pick it over C#/Go/Python for web development?

Who said it should be picked for web development?

It's however good for systems programming, libraries, embedded, data crunching, network systems, and so on...

2 comments

Why is everyone so focused on pigeon holing languages like this? There was a time when I wrote web services in C, then C++, a little Perl, and mostly Java. Then we needed dynamic pages and turned to Javascript, and now that’s on the backend with node.

Personally I love Rust. I would choose to use it for web development top to bottom at this point, even with the current limitations of WASM (which is getting better) on the client side.

I’ve never used a language that can be brought to bear from the top of the stack to the bottom with the safety that Rust brings.

That’s of course me, and I wouldn’t force others to use it. I can finally use one language for everything, and that makes me happy. It’s entirely up to you to choose your language, and if you want to use a new one that has growing communities in each of these area, Rust is a great one to choose.

Because not every problem is a nail.
Right. I won’t use Rust to build hardware, only software.

I have many hammers, one for small nails, on for large nails, a rubber one for joining things, even large sledge hammers. Each has its job.

But if I could only have one, that was flexible enough to use across all situations where I need to hit things, that would be great.

Rust still has a lot to catch up on Qt, JavaFX, Android, Cocoa, Forms, WPF, UWP, Unreal, Unity, Hibernate, EF, code generation/reverse engineering from architecture modelling tools, ....

Personally, as polyglot developer, I rather use the best tool for each part of the stack.

Currently I see Rust better taylored for the low level layers that Windows, Android, macOS, iOS, MicroEJ still write in C or C++.

Do you also plan to replace SQL with Rust?

I see all of the gaps you mention as things that are being worked on activily. For some of the things you mention there are already decent Rust libraries: Hibernate => Deisel; Unity/Unreal => there are a bunch of things being worked on eg Piston and others (not yet fully featured of course); code generation => macros_rules! and proc macros, and custom derives can be extended to support this; javafx => yew?.

I’m not saying there are things available for all of these areas, nor am I saying that I think necessarily others should choose to rely on the language in some of these areas, unless you want to directly contribute to filling in those gaps (there are many people who are doing this). What I am saying, is that based on my experience with the language, especially in the context of Web Development, I would pick it for frontend and backend development at this point.

I agree that there are areas it really shines in right now, and if you’re working in those areas than I definitely push people in that direction. But yeah, for native GUI stuff, if you need to do more that toy stuff, it’s not ready yet.

> Do you also plan to replace SQL with Rust?

I’ve considered it! As a way of more replacing DB side procedures: https://github.com/clia/pgxr (an example of one option). What we can do with SQL is use code generators to type check the SQL at compile time.

>Who said it should be picked for web development?

These perhaps?:

https://github.com/SergioBenitez/Rocket

https://github.com/actix/actix-web

https://github.com/carllerche/tower-web

Not saying that is the primary use, but still a valid question as long as these libraries are being built/pushed.

Additionally, npm is a production user that runs at least one web service that we know of, for example.
A web service is not web development though. At least I didn't consider "web development" in the parent's sense with "running a backend REST service", but more like "running websites".
That might be fair, yeah. I've seen some sharply make this distinction, and others not care.

I think things are much more viable for "services" rather than "sites" right now. And the npm thing is a service.