Hi, I’m a noob just seeking general information. These two questions may seem “adversarial,” but they are not meant to be in any way. They are just honest, curious questions.
I understand that rust was created to be a '“systems programming language” (of course I know it is general purpose and can do anything). I understand that a better systems programming language than c++ is desirable. But why develop rust over using, for instance, haskell? Is haskell not considered low-level enough, or fast enough, for systems programming (I honestly don’t know)? Could haskell not have been used to write servo (again, I honestly don’t know)? Disclaimer - I’m not a haskell programmer or fanboy, I just figured one of it’s selling points was ‘safety’ similar to rust, and it is certainly better than c++, so…
I noticed that there was at least one web server already written in rust (probably more). I know why web servers are written in other languages. For instance I do a fair bit of programming in erlang. I use an erlang web server because I need a web server that can embed in erlang. Similarly I did some programming in clojure once and I used a clojure web server because I needed something embeddable in clojure and something that could be programmed in clojure. But you don’t “embed” stuff in rust… do you? It just compiles down to machine code, right? There is no run-time or virtual machine, and it isn’t as if rust would “script” a web server either, would it? So why not use apache or… [insert whatever server name here]? Or perhaps the approach is that you compile the rust web server code along with your own custom code to create your custom web server? If that’s the way it works… yeah, I can see why you’d want something like that.
In closing, I’d like to state that I’m actually the last person to think there are too many programming languages. I probably know two dozen programming languages, and am pretty much a “programming language aficionado.” These are just very basic preliminary “curious” questions I have before looking into yet another one.