137 karma · joined November 7, 2014
> I already know it works
This is the part I don't agree all of the time, but depending on the scope and size of the project, I've seeing this be true. And the compiler is really good at catching regressions, submitting PRs for Rust projects is not easy in the beginning, but it is very hard to insert a regression.
The semantics of Go are fine for the most part. My only problem with Go is manipulating slices. The rest is just awesome and it requires a lot of taste to simplify semantics without taking away the languages power.
Unrelated: Rust would probably be around the right-most area in the horizontal axis, close to C and C++, and a little below Go in the vertical axis.
---
It is about the right tool for the job guys. All languages have something to hate on. Of course it is important to work with technology you like. Nothing wrong with this article, the guy is voicing his opinion. But this isn't a verdict on Go. People like Go for precisely the way it handles errors.
I didn't see it until it was mentioned here.
I can't seem to delete this discussion. So I added the original link here. Please head there.
From my limited experience, Rust's performance is comparable to C++ throughout, with the added safety guarantees that Rust is known for.
I almost thought he was serious. But even if he was being serious, the reading was fun and informative.
BTW, I remember in the alpha days when the decision was made to make Rust support concurrency in the standard library rather in the language itself. So in that sense (Rust = language spec + stdlib) Rust does have concurrency built-in.
https://play.rust-lang.org/?gist=5d3174958c76718508f6ab45660...
But now I'm curious. Aren't the characters in the example above comprised of multiple Unicode code points?
Would you please clarify something to me?
1. So to say that a language has concurrency built-in is, in general, misleading, correct?
2. Than a language may have concurrency primitives, but the capability comes from C through the OS?
This wiki is controversial to me, but sometimes useful.
----------------------------------------
In term of expressiveness, it offers:
- Expression-based languages (instead of statement-based)
- Has anonymous functions (lambdas)
- It has a match mechanism which is powerful
- Enums are enumerated data-types rather then integer types
- Has traits and explicit implementation blocks for them (vs Go's implicit interface contracts)
----------------------------------------
Other than that, it also offers:
- Built-in concurrency
- It has a thing called the borrow checker that makes sure you're handling memory safely (this will get a little but of getting used to, but it is powerful)
- Everything is private by default. You put `pub` in front of an identifier if you want it to be public
- It isn't very verbose in the Java sense, but you still have to write a crap lot of code in comparison to Go and Python. The trade off is that the code is very explicit, and you get to type more in order to have zero cost abstractions at runtime
- Zero cost abstraction at runtime
Please correct me if any of those points are wrong/misleading, I'd love to learn more about Rust too.
This will be quite a long journey I think - an exciting one.
The other thing is that I think Vim and NeoVim will diverge at a faster rate now. They'll soon be way too different to be related. So NeoVim won't be a "nicer"/asynchronous/opinionated Vim anymore. But it's own alternative.
Growing pains. I think that will at least make people on the web more aware of the HTTPS "revolution".
This.
I don't think they are stupid enough to not have thought of that. So I wonder what motivates them to write that kind of bill.