News for hackers. Stuff that matters.
Re:Systems Languages: An Experience Report by coldtea on Friday July 06, 2018 @02:08PM (#17473723)
>If the language has the problem that people are fighting with the language in order to become productive with it, perhaps something is wrong with the language, and not the programmers?

If they stop fighting after they learn, then no, it's not a problem with the language. It's the very definition of learning.

Now, the language might be harder to learn than others, and that might be a problem in itself.

But not just because people have to struggle at first "in order to become productive with it". That's true for any language that brings anything new to the table.

>The argument of pass by reference, or borrowing is that it’s more performant than cloning by default. In general, computers are getting faster, but systems are getting more complex.

Rust was not created to piggyback on "computers getting faster".

It was created to be as fast as possible.

Re:Systems Languages: An Experience Report by smolder on Friday July 06, 2018 @03:10PM (#17474264)
Good points. Performance not being a primary concern is a meme that really has grown beyond its place. Performance is absolutely a primary concern in very hot code, at execution scales where it means big differences in aggregate hardware/infrastructure cost, energy usage, and so on. Or in space, where transistors necessarily need to be "low tech" huge radiation resistant ones. There will never be a lack of applications for highly optimized software, no matter how small the niche gets. Computing power may be cheap but it is NOT free, nor infinite, nor universally portable.
Re:Systems Languages: An Experience Report by steveklabnik on Friday July 06, 2018 @04:00PM (#17474639)
One area we're seeing Rust get a lot of usage for isn't performance directly, but low memory usage. You can do a lot more with less.
Re:Systems Languages: An Experience Report by rqs on Saturday July 07, 2018 @11:13AM (#17478838)
> If they stop fighting after they learn, then no, it's not a problem with the language. It's the very definition of learning.

I think the problem here is how hard people have to fight.

How about take a step back, and view the language as a completely noob, you may found many complexes in the language is unnecessary.

For example, in the sample code, you can found many #[macro_use]s, they are needed to import macros to the local scope. But hey, why I can't just `use slog::{!macro_name, something_not_macro}`?

Well, the doc said: "macro definitions aren’t namespaced within modules like function definitions are. To prevent unexpected name clashes when using external crates ....".

But why macro is not namespaced then? Why user has to learn "the macro is not namespaced" so they have to #[macro_use]? Why not just implement it in a more intuitive way?

Rust team need to consider this: How many complexities can be completely removed from the language, while maintain it's final goal (be a fast and safe system language).

Re:Systems Languages: An Experience Report by sargun on Friday July 06, 2018 @06:42PM (#17475674)
Eh, in the last press release from Mozilla, they say otherwise:

> Confidence when doing systems-level programming. For old hands, Rust’s guarantees mean you can spend less of your time and attention on avoiding pitfalls, which makes it possible to reach for more ambitious goals. For newer systems programmers, it means a shorter path to being able to start writing production code.

> This second point is worth emphasizing. In traditional systems programming, there’s just an intense amount of discipline you need to learn in order to write production code. Because the discipline takes so long to master, and the stakes of slipping up are crashes and security vulnerabilities, most people will only trust seasoned veterans of systems programming to ship production C++ code. But with Rust, you don’t have to master this discipline to start shipping production code; you know the language has your back.

As far as I can read, it states the purpose of the language is correctness, and developer productivity?

Re:Systems Languages: An Experience Report by coldtea on Saturday July 07, 2018 @07:27AM (#17478055)
>As far as I can read, it states the purpose of the language is correctness, and developer productivity?

Yes, but _while_ being as fast as C or faster (e.g. without aliasing issues).

With those two goals they do not imply they'd sacrifice speed for them. They had stated elsewhere that speed and no-cost-abstractions are extremely important for Rust.