News for hackers. Stuff that matters.
Re:The Rust compiler has gotten faster again by the_only_law on Thursday November 11, 2021 @09:31PM (#29195717)
Why would you back your argument related to jobs up with Tiobe which is not a measure of job listing commonality. Hell “assembly language” is listed above PHP in that list, and I can confidently say there are a lot more opportunities for PHP devs that for people working in some assembly.

Your off topic rant on an article simply discussing speed improvements on a compiler seems significantly more ideologically driven than most comments in here.

Re:The Rust compiler has gotten faster again by unrealhoang on Thursday November 11, 2021 @09:55PM (#29195862)
Heck, Visual Basic is rank higher than JavaScript is more than enough to understand the value of that Tiobe list.
Re:The Rust compiler has gotten faster again by pjmlp on Friday November 12, 2021 @02:38AM (#29197142)
Despite its bashing around here, plenty of MS shops do keep using VB, even for new projects.
Re:The Rust compiler has gotten faster again by jacquesm on Friday November 12, 2021 @03:29AM (#29197332)
As does everybody working at a slightly deeper level with Excel and that alone probably puts it near the top of PL usage.
Re:The Rust compiler has gotten faster again by pjmlp on Friday November 12, 2021 @04:14AM (#29197517)
As I worked on a couple of projects in life sciences, the migration path to VB was those users that wanted to grow beyond VBA so they would eventually adopt VB + WinForms for data processing, they didn't even care for R or Python, Excel and Tableau were they main tools.
Re:The Rust compiler has gotten faster again by jamesfinlayson on Friday November 12, 2021 @01:15AM (#29196755)
Haha, even Fortran has seen serious growth in the last year apparently.
Re:The Rust compiler has gotten faster again by arkush on Friday November 12, 2021 @04:20AM (#29197551)
The hvasilev's comment got flagged and I could not reply to it anymore, so I'll reply here (sorry) and copy-paste the hvasilev's comment verbatim below, for the sake of commenting on it's claims:

---

Reality is not on the side of this language. 11 year old, has a very low adoption with virtually no jobs associated. (https://www.tiobe.com/tiobe-index/)

On the other hand if you search for "Rust" in the latest "Who wants to be hired?" thread, you will see it is quite popular with unemployed people.

The reality is that the language has a lot of friction, the ergonomics are bad, the syntax is heavy and some poor decision making has been made there for a systems-level programming language.

There are a lot of ideological traps in this industry and many people that fall for them. Why people are interested in ideologies and cults is beyond me.

[ A screenshot: https://imgur.com/a/tgAETjh ]

---

<rant>

Now my comments on the issues mentioned in the hvasilev's comment.

> Reality is not on the side of this language. 11 year old, has a very low adoption with virtually no jobs associated. (https://www.tiobe.com/tiobe-index/)

Tiobe index is shit. The most flattering thing I've read about it states that it (poorly) depicts quantity of educational materials available online for particular programming language. Unfortunate naming of programming languages after letters of alphabet, symbols (++, #) and real-life stuff (like islands) doesn't help this rating either.

That said, Rust isn't that popular and isn't growing much according to other better language ratings:

1. https://tjpalmer.github.io/languish/

A Github-based rating created by the author of Context Free YouTube channel. For 2021Q3, Rust is on 18th place with Mean Score of 0.82% (up 0.01% from 2021Q2).

2. https://madnight.github.io/githut/#/pull_requests/2021/3

A Github-based rating. For 2021Q3, Rust has 0.64% of Pull Requests, 0.30% of Pushes, 1.29% of Stars and 0.65% of Issues. Growth dynamic is quite flat.

3. https://redmonk.com/sogrady/2021/08/05/language-rankings-6-2...

Latest RedMonk language rating, dated June 2021. Rust is on 19th place with 0 growth.

---

About jobs comparison.

Indeed.com for California.

Rust: 527 jobs (with some unrelated stuff mixed in)

https://www.indeed.com/jobs?q=rust%20developer&l=California

JavaScript: 16,792 jobs (31.8x)

https://www.indeed.com/q-Javascript-l-California-jobs.html

Java: 12,418 jobs (23.5x)

https://www.indeed.com/q-Java-Developer-l-California-jobs.ht...

C++: 4,172 jobs (7.8x)

https://www.indeed.com/q-C++-Developer-l-California-jobs.htm...

Indeed.com for New York.

Rust: 85 jobs

https://www.indeed.com/jobs?q=rust%20developer&l=New%20York%...

Java: 4,815 jobs

https://www.indeed.com/jobs?q=java%20developer&l=New%20York%...

Javascript: 4,037 jobs

https://www.indeed.com/jobs?q=javascript%20developer&l=New%2...

C++: 1,126 jobs

https://www.indeed.com/jobs?q=C%2B%2B%20Developer&l=New%20Yo...

glassdoor.com without location set.

Rust: 492 jobs

https://www.glassdoor.com/Job/rust-developer-jobs-SRCH_KO0,1...

Java: 45005 jobs (91x)

https://www.glassdoor.com/Job/java-jobs-SRCH_KO0,4.htm

Javasript: 30952 jobs (62.9x)

https://www.glassdoor.com/Job/java-script-developer-jobs-SRC...

C (with unrelated stuff): 9594 jobs (19.5x)

https://www.glassdoor.com/Job/c-developer-jobs-SRCH_KO0,11.h...

Go(lang): 1406 jobs (2.85x)

https://www.glassdoor.com/Job/golang-developer-jobs-SRCH_KO0...

Judge for yourself if a few hundred jobs in places like CA and NY count as "virtually no jobs".

For comparison, in Ukraine (population 35-41 millions) there is 6 Rust jobs:

https://jobs.dou.ua/vacancies/?search=Rust

... 190 C++ jobs:

https://jobs.dou.ua/vacancies/?search=C%2B%2B

... and 676 Java jobs:

https://jobs.dou.ua/vacancies/?search=Java

... listed on the largest Ukrainian programming site.

---

> The reality is that the language has a lot of friction, the ergonomics are bad, the syntax is heavy and some poor decision making has been made there for a systems-level programming language.

Well, this is matter of taste, largely. But I have a few issues with Rust syntax too (IMHO):

1. F--king single quotes. Eww, really?! IIRC, a tilde (~) character was used for lifetimes until some Europeans (?) complained that their keyboards have no tilde. I wonder, how they programmed in C++ all that time? For years, if I met online a piece of code that was highlighted as a comments mishmash I knew exactly in what language it was. Ugly as f--k.

2. Closures using pipes (|). With no arguments they look like OR operator (||). Distracting.

3. Using angle brackets for generics.

4. Double colons (::) as "path qualifier" produce too much visual noise. Java likes long pathes too and uses dot (.) as separator just fine.

5. What with this arrows (->) before return types? Seems unnecessary. Couldn't return types be purely positional as in Go?

I don't use Rust so it's mostly "glimpses from the outside".

Speaking of friction. This reminded me of a video by Jonathan Blow (creator of Braid and The Witness games and Jai programming language). The video is worth watching whole but piece about friction in gamedev starts approximately at 49:23.

"Rant: Entity systems and the Rust borrow checker ... or something."

by Jonathan Blow

Sep 14, 2018

https://www.youtube.com/watch?v=4t1K66dMhWk&t=2962s

As for poor decision making, it was pretty poor decision to include an npm knock off into the language. I'm speaking of crates.io repository. For some time it has a squatting problem that isn't fixed yet:

https://old.reddit.com/r/rust/comments/9aaanw/cargo_crate_na...

3 year old thread, the squatter is still there holding 104 packages. At least npm has namespaces.

I wonder, if cargo will turn into malware-ridden micro-dependency hell too?

---

> There are a lot of ideological traps in this industry and many people that fall for them. Why people are interested in ideologies and cults is beyond me.

"MongoDB is web scale" video nicely illustrates "ideological traps" and cult-like behaviors in "this industry".

http://www.mongodb-is-web-scale.com/

https://www.youtube.com/watch?v=b2F-DItXtZs

And what else illustrates cult-like behaviors? Flagging an innocent comment you don't agree with. What was in the hvasilev's comment that warranted its removal? In my opinion, nothing. It contained no insults, no personal attacks, and was more or less factually correct. Rust is relatively unpopular, complex, ideological, syntactically-heavy language with relatively few job offerings, i.e. pretty much what the hvasilev's comment said.

Complaining about the comment being "off topic" is somewhat funny given Rusters' penchant for inserting their language into discussions about other programming languages (especially C, C++ and Go).

</rant>

Re:The Rust compiler has gotten faster again by fee1-dead on Friday November 12, 2021 @02:02PM (#29203233)
> What with this arrows (->) before return types? Seems unnecessary. Couldn't return types be purely positional as in Go?

I guess you could say `->` is too verbose and you can omit it in other languages. Rust has a complex type system and there can be confusing code when you omit `->`.

1. Closure Return Types.

You can define a closure with an explicit return type:

``` let my_closure = |i: u32| -> u64 { i as u64 }; ```

Now how do you omit the arrow here? How do you know `u64` is the return type and not constructing a struct?

2. Parsing stuff

It becomes impossible to parse none-delimited types. Is `fn() fn()` two different types or a function pointer returning a function pointer?

3. Readability

I mean, tokens can be read out loud and omitting it stops making sense.

`fn foo(bar: i32) -> f32` can be read as a "function named 'foo' that takes an argument named bar with type i32 and returns f32". The word returns directly corresponds to the `->` token.

Rust also has the `!` (read: never) type. Poorly formatted code when `->` is omitted is very confusing: `fn a()!` when compared to `fn a()->!`, or just one character generic types: `fn a<T>()T` compared to `fn a<T>()->T`.

Re:The Rust compiler has gotten faster again by arkush on Saturday November 13, 2021 @12:03PM (#29211281)
Thank you for clarification.

Seems like arrow (->) is the best choice for Rust, given arrow's visual distinctiveness and search-ability.

Re:The Rust compiler has gotten faster again by the_only_law on Friday November 12, 2021 @10:17PM (#29207084)
> Complaining about the comment being "off topic" is somewhat funny given Rusters' penchant for inserting their language into discussions about other programming languages (especially C, C++ and Go).

The childlike “well they do it too” argument is almost the perfect example of how the anti-rust crowd is becoming even more obnoxious than the infamous Rust evangelism strike squad.

For the record , I’ve never written a line of rust in my life and am not particularly invented in its success or failure. And no, I didn’t flag GP.

Re:The Rust compiler has gotten faster again by hvasilev on Thursday November 11, 2021 @09:43PM (#29195793)
why do you think i'm backing my argument to jobs with Tiobe?

how is negating an ideology ideological?

Re:The Rust compiler has gotten faster again by the_only_law on Thursday November 11, 2021 @09:45PM (#29195808)
You’re not negating anything but a strawman here. You commented too level on an article on someone simply talking about how a compiler whining about something unrelated to the article.

If you were responding to some rust fanatic or if the article was some sort of rewrite in rust call, you may have a point, but it’s nothing but some developer interested in improvements in the compiler. God forbid anyone work on anything other than some mainstream technology.

> why do you think i'm backing my argument to jobs with Tiobe?

You may not be, I assume because it immediately followed the statement about jobs in parentheses.

Re:The Rust compiler has gotten faster again by cutler on Thursday November 11, 2021 @09:53PM (#29195851)
Try https://indeed.com or http://www.modulecounts.com instead of Tiobe which is one of the worst metrics. The Rust community's module output is well ahead of both Ruby and Go so I'd say it's fairly mainstream.
Re:The Rust compiler has gotten faster again by philosopher1234 on Thursday November 11, 2021 @11:02PM (#29196200)
The Go measurement on that website is based on a discontinued package manager and seems to no longer be updating.