Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
bjz_
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
41 ms
·
391.
▲
by
bjz_
12y ago
Yeah, that was what impressed me at the beginning when I was starting. For example: ripping out classes just after they were documented and implemented, because structs/traits were enough.
392.
▲
by
bjz_
12y ago
There has been talk of it, and one of the core team members had a prototype. It's most definitely something to look at this year.
393.
▲
by
bjz_
12y ago
Agreed. I think that description should be updated.
394.
▲
by
bjz_
12y ago
Yeah, looking through the early commits is really eye-opening.
395.
▲
Wrong Turn on the Dragon – Numberphile (featuring Don Knuth)
(youtube.com)
4 points
by
bjz_
12y ago
|
0 comments
396.
▲
by
bjz_
12y ago
Why?
397.
▲
by
bjz_
12y ago
> It's interesting to see Shumway on there as I was under the impression the project was put on hold. Having interned at Mozilla Research last summer, I can assure you that there is a small, passionate team of paid developers workin
398.
▲
by
bjz_
12y ago
I've never had any real issues with pdf.js - I love it, to be honest. It's great not needing to have another Adobe plugin installed.
399.
▲
by
bjz_
12y ago
> Rust can do everything C does, but it also has a much smarter type system backing it up and enforcing memory safety. This is why I have hopes that Rust will make it easier to match the performance of micro-optimised C code in the futur
400.
▲
by
bjz_
12y ago
A neat thing about Shumway is just how much of it is written in Typescript[0]. It's great that Mozilla is getting behind the project. - [0]: https://github.com/mozilla/shumway/tree/master/src
401.
▲
by
bjz_
12y ago
I actually think it will be easier to find folks willing to dive into Rust than folks willing to dive into C++. The reduction in complexity, corner cases, and memory safety have all allowed many developers with a background in dynamic langu
402.
▲
by
bjz_
12y ago
Because we actually have to release something. And you can't be all things to all people. The best we can do is try to create a powerful, safe, extensible language, low overhead language with unsafe escape hatches. The hope is that thi
403.
▲
by
bjz_
12y ago
It would be nigh impossible to retrofit in a backwards compatible way. :(
404.
▲
by
bjz_
12y ago
I think the emphasis was meant to be on "the main Rust community". I would hope that most of us would try our best not to misrepresent other people's hard work. I definitely agree that whilst Rust's generics are far ni
405.
▲
by
bjz_
12y ago
The point is that is unsafe. You don't need to do that in idiomatic Rust code, because the bounds-check-free indexing is encapsulated inside the iterator library. So to re-frame it: fast, idiomatic Rust code is safer and easier to writ
406.
▲
by
bjz_
12y ago
Ok, so perhaps I grant you the fact that unsafe indexing is idiomatic. The Rust code is still safer and more robust against buffer overflows in the long term. Also, isn't regex-dna using libpcre? That's a C library, no? Rust'
407.
▲
by
bjz_
12y ago
Rust and Go do not overlap much other than they are both natively compiled, have curly braces and are backed by 'web' companies. Go was designed for building server software and for encouraging standardized, easy to maintain softw
408.
▲
by
bjz_
12y ago
If you actually look at the source code, the benchmarks where Haskell beats Rust rely on unsafe functionality, calling out to C libraries, and are heavily optimised and hard to follow. The Rust code on the other hand is idiomatic, safe, and
409.
▲
by
bjz_
12y ago
It allows you to predictably squeeze more out of your system than you ever could in a higher level language without the worry of weird undefined behavior, buffer overflows, use-after-frees or segfaults. It also has an expressive static type
410.
▲
by
bjz_
12y ago
This is a huge ergonomic issue that the team is very aware of. There are plans to fix it post 1.0.
411.
▲
by
bjz_
12y ago
Dang, that's a shame. I've generally had a good experience, and been impressed with the speed at which changes are reviewed and merged, but it only takes several instances to tarnish everything. If you can link to a specific issue
412.
▲
by
bjz_
12y ago
What was poor about it? Could you cite instances?
413.
▲
by
bjz_
12y ago
But it would be less descriptive from an API point of view. Which type is the return value? Of course we are now in the land of hypotheticals.
414.
▲
by
bjz_
12y ago
Also interesting to note in the context of the union type discussions below is the use of the `tag` keyword as opposed to the current `enum` for declaring tagged unions.
415.
▲
by
bjz_
12y ago
I personally find all the changes really nice. (<|), (|>), (<<), (>>), are far more intuitive compared to the Haskell operators for example. Yes, it's just syntax, but usability is important. As an aside, Idris uses (
416.
▲
by
bjz_
12y ago
Yeah, we used to have an Either type in the Rust std, but it was pretty much never used because we had Result.
417.
▲
by
bjz_
12y ago
It doesn't seem scalable though, because it only works for two types. It would be better to have some sort of structural union type (like Ceyleon).
418.
▲
by
bjz_
12y ago
It's nice to see that they have replaced Either with Result[0]. I wonder if Rust's Result type[1] was the inspiration? (not sure if there is prior art) [0]: http://elm-lang.org/blog/announce/0.14.elm#maki
419.
▲
by
bjz_
12y ago
As somebody who maintains a decent amount of Rust libraries, I do try to keep on top of my PRs, but sometimes Github's notification system makes it easy to forget that some PRs have been sitting around for a long time. For example if y
420.
▲
by
bjz_
12y ago
Oh interesting, I didn't know that ALGOL had that. Looking through the Wikipedia pages, it seems that Rust most likely gained it via the ALGOL->ISWIM->ML->Ocaml->Rust route. I hope it catches on in more imperative languages
More ›