6 ms·
Correct, they are for completely different purposes. I have the feeling that a lot of people (particularly the bloggers/more vocal types) jump into newer langua
by cocochanel 8y ago
Correct, they are for completely different purposes. I have the feeling that a lot of people (particularly the bloggers/more vocal types) jump into newer languages for no other reason than to position themselves as experts in said language/stack, right when it's getting more popular. I've seen this happen with Ruby/Rails, JavaScript/Node, and now Rust. In this case, it would have made a lot more sense to move to something like Elixir/Phoenix.
- cbHXBY1D 8y agoI think this is one of the reasons the Rust community is so much more focused on web related technologies than other software. Web servers are where most of the community is coming from and how they make a living so it makes sense. TUIs are also popular but I would love to see more emphasis on getting cross platform GUIs working (as well as kernels, codecs, drivers, graphics, data science, etc). Mmstick had a good post about this two months ago: https://www.reddit.com/r/rust/comments/af43dy/rust_windows_gui/eeqd9al/ https://www.reddit.com/r/rust/comments/af43dy/rust_windows_g...
- inferiorhuman 8y agoI tend to agree with those that suggest OO languages are far better suited for GUIs than Rust. I love traits, but all the GUI libraries for Rust I've seen are hot messes. The TUI stuff isn't much better (e.g. Cursive is borked on Windows). I'd LOVE to see something along the lines of Qt for Rust, but I'm not going to hold my breath.
- inferiorhuman 8y agoI cut my teeth on Ruby and Rails, I've screwed around with Phoenix, and I'm currently infatuated with Rust. Earlier on I thought that, yeah, Rust is a great replacement for C and not something want to write a web app in. So, sure, I've got a bunch of little doodads written in Rust (mostly CLI tools). Now? The fluff I've written in Elixir is getting ported to Rust. The Rust tooling and community are just that good. I'd rather have to work on some extra verbosity and maybe even maintain my own helper library in Rust than deal with with Elixir/Phoenix at this point. The number one reason is that Elixir deployments are nothing short of a nightmare. I've found the community not particularly helpful or knowledgeable about how things work (and given how many moving pieces are in an Elixir deployment, and how brittle Elixir deployments are, this is a terrible thing). And you're definitely not going to write CLI tools in Elixir (it straight doesn't work with escript in the first place). Compiling down into a single "static" binary like Rust (and Go) do by default is a huge win for things like this. The quick startup time of a Rust or Go app compared to Ruby or anything JVM based is great for rapid iteration and testing. The tooling around Rust is, in general, fantastic. Being that much of a pleasure to use really makes up for how inappropriate it is to use Rust for most high level web app things. Phoenix had a lot of promise, but these days I'd much rather go back to Rails or Django (with an eye towards how to migrate to a compiled language) if I needed to churn something out quickly.
- uxcolumbo 8y agoI'm currently looking into learning Elixir, but your comment sprinkled some doubts on that. If deployment was easier in the Elixir world, would you have stuck with it?
- inferiorhuman 8y agoIf deployment was easier in the Elixir world, would you have stuck with it? Perhaps, but Elixir was a very niche product for me. I'd use it for web apps and that's about it. Even then the ecosystem was fairly immature, and I'd only really want to use it in a setting that played to the strengths of Erlang. One of the big problems with the deployments being a gigantic beast is that there are maybe one or two people who understand the tooling around it. Great when it works, really lousy when it doesn't. With the other languages being discussed (e.g. Rust, Go, Python, Ruby, Clojure, Kotlin) I've found far broader uses. I'm not going to write TUI/GUI apps nor would I write shared libraries with Elixir. Unless escript support was implemented you simply can't write things that depend on a shebang. There's no harm in learning it, but the key is in being able to go beyond the hype and evaluate when it's worth using the knowledge you've just acquired.
- robotmay 8y agoHonestly Elixir has been one of the most enjoyable learning experiences I've had in years. Deployment is fine, but there are a few different things to consider (because you can do some really cool stuff using BEAM). But you can just chuck it on Heroku if you want something easy. I also like Rust a lot, but I find Elixir pretty much frictionless to work in. Rust is basically you vs the compiler for quite a while. I've been using Rust for IoT work but I vastly prefer Elixir for web. And since I've been enjoying it so much I'm gonna start looking at Nerves (https://github.com/nerves-project/nerves https://github.com/nerves-project/nerves) for IoT work as well.
- Gazler 8y agoNot sure when you were using Elixir, but releases are a good option for deployment now. This is supported with the distillery library (https://hexdocs.pm/distillery/home.html https://hexdocs.pm/distillery/home.html). The master version of Elixir also has support for releases https://hexdocs.pm/mix/master/Mix.Tasks.Release.html https://hexdocs.pm/mix/master/Mix.Tasks.Release.html
- kbenson 8y ago> In this case, it would have made a lot more sense to move to something like Elixir/Phoenix. In this case it's about someone involved in both languages already moving from being primarily (or identifying as) a Rails committer to a Rust ecosystem committer (for which he's already written a few very popular modules over the past couple years). This isn't the usual "I tried some new language and I like it" blog post, so I'm not sure your assessment holds true, for this case at least.