Hyper: Should be rewritten in Rust or Swift

Created on 16 Jul 2016  Â·  19Comments  Â·  Source: vercel/hyper

❌ Is Invalid

Most helpful comment

using web technologies is a feature, not a bug

All 19 comments

I think a large portion of the point is that it's not...

This seems like a rather silly issue to open.

Why not C?

using web technologies is a feature, not a bug

I support this issue. Rust has zero-cost abstractions, move semantics, guaranteed memory safety, threads without data races, trait-based generics, pattern matching, type inference, minimal runtime and efficient C bindings.

The whole idea of this project seems to be its ease of extensibility through the use of web technologies. I may be wrong and would love to hear the authors opinion on the subject but this fits a particular use case because of its language choices. Using these languages makes it much easier for people who work mostly in javascript to customize their tools, thats a major part of why I use atom. Changing the language that this is written in wouldn't make it better, it would make it a different product.

I'm pretty sure @zatherz is joking. (... right?)

I hope so. This is one of the worst thing to say in OSS, @skakri.

@sdegutis, Rust is a systems programming language focused on three goals: safety, speed, and concurrency. It maintains these goals without having a garbage collector, making it a useful language for a number of use cases other languages aren’t good at: embedding in other languages, programs with specific space and time requirements, and writing low-level code, like device drivers and operating systems. It improves on current languages targeting this space by having a number of compile-time safety checks that produce no runtime overhead, while eliminating all data races. Rust also aims to achieve ‘zero-cost abstractions’ even though some of these abstractions feel like those of a high-level language. Even then, Rust still allows precise control like a low-level language would.

Still ambiguous. Damn you Poe's law!

Cargo is Rust’s build system and package manager, and Rustaceans use Cargo to manage their Rust projects. Cargo manages three things: building your code, downloading the libraries your code depends on, and building those libraries. We call libraries your code needs ‘dependencies’ since your code depends on them.

Okay I'm gonna go with "what is _satire_" for 500, Bob.

Rust has a focus on safety and speed. It accomplishes these goals through many ‘zero-cost abstractions’, which means that in Rust, abstractions cost as little as possible in order to make them work. The ownership system is a prime example of a zero-cost abstraction. All of the analysis is done at compile time. You do not pay any run-time cost for any of these features.

However, this system does have a certain cost: learning curve. Many new users to Rust experience something we like to call ‘fighting with the borrow checker’, where the Rust compiler refuses to compile a program that the author thinks is valid. This often happens because the programmer’s mental model of how ownership should work doesn’t match the actual rules that Rust implements. You probably will experience similar things at first. There is good news, however: more experienced Rust developers report that once they work with the rules of the ownership system for a period of time, they fight the borrow checker less and less.

LMAO

@skakri does rust have any integration with npm?

github should making memes feature on repo's tabs

Let's just rewrite it in fucking machine code already

I disagree with this project being written in rust, but I agree that we should indirectly use it by using positron, which will eventually leverage parts of servo, which is written in rust.

Rust has fearless concurrency. Get out with your language with concurrency that's scared of everything.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mrjones2014 picture mrjones2014  Â·  64Comments

fabdelgado picture fabdelgado  Â·  102Comments

keirlawson picture keirlawson  Â·  45Comments

indutny picture indutny  Â·  46Comments

mofux picture mofux  Â·  68Comments