Live data from Hacker News

Announcing Rust 1.24.1

blog.rust-lang.org

41–50 of 66 posts

Re: Announcing Rust 1.24.1

#41
post #20
post #6

> Cargo couldn’t fetch the index from crates.io if you were using an older Windows without having applied security fixes. Why are developers (since this is an issue that shows up with cargo) running Windows 7 without security patches installed? Especially since the issue only shows up on Windows 7 installs that haven't received security patches since June 2016. > libgit2 created a fix, using the WinHTTP API to reques…

> Why are developers (since this is an issue that shows up with cargo) running Windows 7 without security patches installed? Especially since the issue only shows up on Windows 7 installs that haven't received security patches since June 2016. Enterprise. It’s only recently I’ve stopped seeing XP boxes around, but Windows 7 is everywhere.

Even in Enterprise environments, having boxes which haven't gotten security patches from 2 years ago is just careless.

Re: Announcing Rust 1.24.1

#42
post #7
post #6

> Cargo couldn’t fetch the index from crates.io if you were using an older Windows without having applied security fixes. Why are developers (since this is an issue that shows up with cargo) running Windows 7 without security patches installed? Especially since the issue only shows up on Windows 7 installs that haven't received security patches since June 2016. > libgit2 created a fix, using the WinHTTP API to reques…

Although developers should know and do better, I think a big part of why they aren't doing it is because Microsoft has made it so hard to update Windows 7 since a year or two ago, all in the name of forcing people to switch to Windows 10. You now have to visit and manually download the updates from Microsoft's Update Catalog website. Oh, and that website only works on Internet Explorer.

Are you sure about that? I know plenty of people with Windows 7 that just get updates through the normal channels.

Re: Announcing Rust 1.24.1

#43

Rust gives me a headache. I want to like it, but it just seems so... overengineered https://doc.rust-lang.org/std/str/struct.SplitWhitespace.htm... Why would you create a special data type to represent a string split by Whitespace? Lunacy

... why not create a new type. As noted by a sibling comment, there are some good reasons to do it.

And there's actually very little chance that you, as the developer, are ever going to explicitly specify that type - there's pretty good type inference. As a rust user, I don't care that it's another type because I don't need to care about it in order to write code.

So lots of benefits, very low cost/impact.

Re: Announcing Rust 1.24.1

#44
post #7
post #6

> Cargo couldn’t fetch the index from crates.io if you were using an older Windows without having applied security fixes. Why are developers (since this is an issue that shows up with cargo) running Windows 7 without security patches installed? Especially since the issue only shows up on Windows 7 installs that haven't received security patches since June 2016. > libgit2 created a fix, using the WinHTTP API to reques…

Although developers should know and do better, I think a big part of why they aren't doing it is because Microsoft has made it so hard to update Windows 7 since a year or two ago, all in the name of forcing people to switch to Windows 10. You now have to visit and manually download the updates from Microsoft's Update Catalog website. Oh, and that website only works on Internet Explorer.

Windows Update generally still works on 7.

Maybe you ran into this issue? https://www.myce.com/news/windows-7-dont-receive-security-up...

Re: Announcing Rust 1.24.1

#45
post #16

Rust gives me a headache. I want to like it, but it just seems so... overengineered https://doc.rust-lang.org/std/str/struct.SplitWhitespace.htm... Why would you create a special data type to represent a string split by Whitespace? Lunacy

Because unlike most other programming languages, Rust is well-engineered and seeks to both provide the most general abstractions possible and to make the code generated by them as efficient as possible. In particular, for this task, this requires to: 1. Return references to subranges of the original string, rather than copying them, so that no copy happens if you only need to examine the component instead of storing…

Good read. Too bad none of that made it into the documentation.

Re: Announcing Rust 1.24.1

#46
post #40
post #28

Earlier quoted context omitted.

Interesting; I certainly wouldn't consider C++ constructor/destructor like semantics and manual tracking of object ownership in the code as automatic memory management. But regardless, the point stands. And yes it's a consequence of a design goal, I said as much. The outcome however isn't beautiful enough to feel smug about the rest of programming languages.

Rust doesn't have C++ constructor/destructor semantics. It doesn't require manual tracking of object ownership. You just have to say when you're passing ownership and when you aren't, and the compiler takes care of the rest. It's automatic memory management without runtime accounting or a garbage collector, which means Rust doesn't need a runtime at all.

> It doesn't require manual tracking of object ownership. You just have to say when you're passing ownership and when you aren't […]

Call it whatever you want, but there are languages where you don't have to "pass ownership" manually for every frigging thing.

Re: Announcing Rust 1.24.1

#47
post #16

Rust gives me a headache. I want to like it, but it just seems so... overengineered https://doc.rust-lang.org/std/str/struct.SplitWhitespace.htm... Why would you create a special data type to represent a string split by Whitespace? Lunacy

Because unlike most other programming languages, Rust is well-engineered and seeks to both provide the most general abstractions possible and to make the code generated by them as efficient as possible. In particular, for this task, this requires to: 1. Return references to subranges of the original string, rather than copying them, so that no copy happens if you only need to examine the component instead of storing…

Echoing the other commented, it would be great if the docs had a "why?" link to this.

Re: Announcing Rust 1.24.1

#48
post #22
post #16

Earlier quoted context omitted.

Because unlike most other programming languages, Rust is well-engineered and seeks to both provide the most general abstractions possible and to make the code generated by them as efficient as possible. In particular, for this task, this requires to: 1. Return references to subranges of the original string, rather than copying them, so that no copy happens if you only need to examine the component instead of storing…

The better half of those points are directly and indirectly caused by insistence on manual memory management. Yes, it was a major design point of Rust, but it doesn't make it better engineered than "most other languages". It's just the corner it painted itself to.

If you have no need for the use case of a high speed, low overhead non-GC language (or believe there is no need for such a thing), then Rust is going to be of no interest to you, and you are going to be better served solving your problems with another language - Java, C#, Python etc.

A large number of engineers do desire such a tool, and Rust provides that in a way that provides as little cost as possible over one of those more dynamic languages.

Re: Announcing Rust 1.24.1

#49
post #6

> Cargo couldn’t fetch the index from crates.io if you were using an older Windows without having applied security fixes. Why are developers (since this is an issue that shows up with cargo) running Windows 7 without security patches installed? Especially since the issue only shows up on Windows 7 installs that haven't received security patches since June 2016. > libgit2 created a fix, using the WinHTTP API to reques…

>Why are developers (since this is an issue that shows up with cargo) running Windows 7 without security patches installed? Especially since the issue only shows up on Windows 7 installs that haven't received security patches since June 2016. The issue shows up on patched machines. The patch does not enable TLS 1.2 by default. You have to add reg keys for it. https://github.com/rust-lang/cargo/issues/5065#issuecommen…

I've never understood why Microsoft adds support for new crypto protocols but turns them off by default.

Re: Announcing Rust 1.24.1

#50
post #10

Earlier quoted context omitted.

That’s not a datatype... That’s an iterater returned by calling .split_whitespace() on a string. Basically the same as calling .split(‘ ‘) on a string in JavaScript You can find a list of Rusts primitive types here: https://doc.rust-lang.org/std/#primitives

> That’s not a datatype It's a named struct. That's pretty datatype-y. I don't agree with the GP that this is an example of overengineering. If anything it's an example of current Rust being slightly underengineered. Presumably a lot of these temporary types can be killed off once `impl Trait` goes mainstream?

I asked this question on IRC and they said that it likely wouldn't go away. There may be a couple reasons, backwards compatibility for one, the other may be that when the type is existentially quantified the compiler has to search for a matching implementation, that search can take time. We want stuff using std to compile fast.
Post reply on HN