Hacker News new | past | comments | ask | show | jobs | submit login

I've been writing Go professionally for about 10 years now. I don't really buy your arguments against Go. Error handling is optional only if you explicitly ignore error results, and you can have the linter yell at you for that. The Go ecosystem is much larger and more mature, with many production-ready libraries available, and success stories everywhere you look. This article is a great illustration of how Rust just makes certain things hard, for better or worse: https://hirrolot.github.io/posts/rust-is-hard-or-the-misery-...

That being said, I think Rust is cool so I'll give you a hint. Go has a kryptonite: binary size. This didn't matter until recently when WASM runtimes became the new hotness. It is very very difficult to deploy Go on e.g. Cloudflare Workers. Even with Tinygo, it's a struggle getting your binary less than 1MB. Some features that make Go ergonomic like reflection (encoding/json package is a good example) ruin "tree-shaking" and bloat the binary. If you're dead-set on using Rust, I'd try framing it in terms of edge computing. Rust is absolutely in a position to become the best non-JS language to use for these kind of 'workers' environments. And they have a lot of benefits: super fast, super cheap, effortless deploys, etc. so it's totally possible to make an argument for them. "Rust is the only compiled language viable in these environments"[1] is certainly a compelling position.

[1]. Hyperbole, I'm sure there's good progress towards getting others to work. For example, I'm currently working on adding Prolog support for Cloudflare Workers :-)




> "I'm currently working on adding Prolog support for Cloudflare Workers :-)"

How come, and what sort of use case(s) do you have in mind?


Sorry, just saw this now. Mostly for fun! But I have some slightly crazy ambitions. Prolog lets you easily write complex queries, so it works quite well sitting on top of some in-memory data. I think that you could use Prolog's unification as a GraphQL-like "universal API", all that's missing is a quick and easy way to store Prolog data durably. I wrote some more here, but I plan on writing a proper article sometime soon: https://github.com/guregu/worker-prolog


recently started learning wasm as a c++ developer, yes go binary is large for edge computing(workers) and wasm runtime is a good fit there, what about c++ vs rust for this use case?

many wasm subjects are referring rust as _the_ language, but I feel modern c++ can do it as well if not better on all aspects(maturity, size, speed, even safety).


I think modern C++ could be perfectly viable as well. Maybe https://github.com/cloudflare/workers-wasi would be a good starting point? I'm not too knowledgeable on the subject. Exciting times though, I think WASM might be the great equalizer.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: