diff --git a/posts/2015-02-20-Rust-1.0-alpha2.md b/posts/2015-02-20-Rust-1.0-alpha2.md index 830bb4b64..26d563997 100644 --- a/posts/2015-02-20-Rust-1.0-alpha2.md +++ b/posts/2015-02-20-Rust-1.0-alpha2.md @@ -8,7 +8,7 @@ description: "Rust 1.0.0.alpha.2 has been released." Today, we are happy to announce the release of Rust 1.0.0.alpha.2! Rust is a systems programming language pursuing the trifecta: safe, fast, and concurrent. -In accordance with our [status report](/2015/02/13/Final-1.0-timeline.html) +In accordance with our [status report](../../../2015/02/13/Final-1.0-timeline.html) last week, this is a second alpha release, rather than a first beta release. The beta release will be six weeks from today, with the final coming six weeks after that. @@ -17,7 +17,7 @@ We’ve managed to land almost all of the features previously expected for this cycle. **The big headline here is that all major API revisions are finished**: path and IO reform have landed. At this point, all modules shipping for 1.0 are in what we expect to be their final form, modulo minor tweaks during the alpha2 -cycle. See the [previous post](/2015/02/13/Final-1.0-timeline.html) for more +cycle. See the [previous post](../../../2015/02/13/Final-1.0-timeline.html) for more details. This coming release cycle is crucial to Rust, as this will be the last cycle diff --git a/posts/2016-04-19-MIR.md b/posts/2016-04-19-MIR.md index f8af3a6ae..168c31823 100644 --- a/posts/2016-04-19-MIR.md +++ b/posts/2016-04-19-MIR.md @@ -606,14 +606,14 @@ interested in contributing, look for [nagisa]: https://github.com/nagisa/ [eddyb]: https://github.com/eddyb/ -[cfg-img]: /images/2016-04-MIR/cfg.svg -[drop-unwind]: /images/2016-04-MIR/drop-unwind.svg -[drop]: /images/2016-04-MIR/drop.svg -[flow]: /images/2016-04-MIR/flow.svg -[loop-break]: /images/2016-04-MIR/loop-break.svg -[nzd-flags]: /images/2016-04-MIR/nzd-flags.svg -[nzd]: /images/2016-04-MIR/nzd.svg -[send_if2-flags]: /images/2016-04-MIR/send_if2-flags.svg -[send_if2-opt]: /images/2016-04-MIR/send_if2-opt.svg -[send_if2]: /images/2016-04-MIR/send_if2.svg +[cfg-img]: ../../../images/2016-04-MIR/cfg.svg +[drop-unwind]: ../../../images/2016-04-MIR/drop-unwind.svg +[drop]: ../../../images/2016-04-MIR/drop.svg +[flow]: ../../../images/2016-04-MIR/flow.svg +[loop-break]: ../../../images/2016-04-MIR/loop-break.svg +[nzd-flags]: ../../../images/2016-04-MIR/nzd-flags.svg +[nzd]: ../../../images/2016-04-MIR/nzd.svg +[send_if2-flags]: ../../../images/2016-04-MIR/send_if2-flags.svg +[send_if2-opt]: ../../../images/2016-04-MIR/send_if2-opt.svg +[send_if2]: ../../../images/2016-04-MIR/send_if2.svg [alt]: https://github.com/rust-lang/rfcs/blob/master/text/1211-mir.md#alternatives diff --git a/posts/2016-05-16-rust-at-one-year.md b/posts/2016-05-16-rust-at-one-year.md index d182378fd..e60294e38 100644 --- a/posts/2016-05-16-rust-at-one-year.md +++ b/posts/2016-05-16-rust-at-one-year.md @@ -20,7 +20,7 @@ having fun doing it. And yesterday, Rust turned one year old. - + ### Rust in numbers diff --git a/posts/2016-06-30-State-of-Rust-Survey-2016.md b/posts/2016-06-30-State-of-Rust-Survey-2016.md index a9c25e6e4..79b40da01 100644 --- a/posts/2016-06-30-State-of-Rust-Survey-2016.md +++ b/posts/2016-06-30-State-of-Rust-Survey-2016.md @@ -159,17 +159,17 @@ And we couldn't agree more. One of the best things about working in Rust is tha We'd love to hear your comments and invite you to jump in and participate in the upcoming discussions on ways we can tackle the challenges brought up in this survey. -[do-you-use-rust]: /images/2016-06-Survey/do_you_use_rust.png -[time-using-rust]: /images/2016-06-Survey/time_using_rust.png -[versions-of-rust]: /images/2016-06-Survey/versions_of_rust.png -[after_1_0_broke_code]: /images/2016-06-Survey/after_1_0_broke_code.png -[easy_to_fix]: /images/2016-06-Survey/easy_to_fix.png -[like_cargo]: /images/2016-06-Survey/like_cargo.png -[rust_at_work]: /images/2016-06-Survey/rust_at_work.png -[part_time]: /images/2016-06-Survey/part_time.png -[full_time]: /images/2016-06-Survey/full_time.png -[rust_at_work_future]: /images/2016-06-Survey/rust_at_work_future.png -[demo_areas]: /images/2016-06-Survey/demo_areas.png -[meetup_locations]: /images/2016-06-Survey/meetup_locations.png -[what_languages]: /images/2016-06-Survey/what_language.png -[underrepresented]: /images/2016-06-Survey/underrepresented.png +[do-you-use-rust]: ../../../images/2016-06-Survey/do_you_use_rust.png +[time-using-rust]: ../../../images/2016-06-Survey/time_using_rust.png +[versions-of-rust]: ../../../images/2016-06-Survey/versions_of_rust.png +[after_1_0_broke_code]: ../../../images/2016-06-Survey/after_1_0_broke_code.png +[easy_to_fix]: ../../../images/2016-06-Survey/easy_to_fix.png +[like_cargo]: ../../../images/2016-06-Survey/like_cargo.png +[rust_at_work]: ../../../images/2016-06-Survey/rust_at_work.png +[part_time]: ../../../images/2016-06-Survey/part_time.png +[full_time]: ../../../images/2016-06-Survey/full_time.png +[rust_at_work_future]: ../../../images/2016-06-Survey/rust_at_work_future.png +[demo_areas]: ../../../images/2016-06-Survey/demo_areas.png +[meetup_locations]: ../../../images/2016-06-Survey/meetup_locations.png +[what_languages]: ../../../images/2016-06-Survey/what_language.png +[underrepresented]: ../../../images/2016-06-Survey/underrepresented.png diff --git a/posts/2016-08-10-Shape-of-errors-to-come.md b/posts/2016-08-10-Shape-of-errors-to-come.md index 7ef50a842..b758dfc80 100644 --- a/posts/2016-08-10-Shape-of-errors-to-come.md +++ b/posts/2016-08-10-Shape-of-errors-to-come.md @@ -31,7 +31,7 @@ The problem though is that it takes a few seconds to look at the message, orient the critical pieces. This time loss adds up. What if, instead, we cleared away everything that slows down how you read the error message? - + This is the new error format. It's designed around the fundamental observation that errors should **focus on the code you wrote**. By doing so, you can much more easily see the context @@ -182,10 +182,10 @@ improve the learning curve bit by bit, and we're looking forward to seeing how f -[old_errors]: /images/2016-08-09-Errors/old_errors.png -[new_errors]: /images/2016-08-09-Errors/new_errors.png -[new_errors2]: /images/2016-08-09-Errors/new_errors2.png -[new_errors3]: /images/2016-08-09-Errors/new_errors3.png -[new_errors4]: /images/2016-08-09-Errors/new_errors4.png +[old_errors]: ../../../images/2016-08-09-Errors/old_errors.png +[new_errors]: ../../../images/2016-08-09-Errors/new_errors.png +[new_errors2]: ../../../images/2016-08-09-Errors/new_errors2.png +[new_errors3]: ../../../images/2016-08-09-Errors/new_errors3.png +[new_errors4]: ../../../images/2016-08-09-Errors/new_errors4.png [Dybuk]: https://github.com/ticki/dybuk [Elm]: https://elm-lang.org/blog/compiler-errors-for-humans diff --git a/posts/2016-09-08-incremental.md b/posts/2016-09-08-incremental.md index 41c489739..a8002ef9d 100644 --- a/posts/2016-09-08-incremental.md +++ b/posts/2016-09-08-incremental.md @@ -471,17 +471,17 @@ or ask around in the [#rustc channel on IRC][rustc-irc]. [incr-comp-rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1298-incremental-compilation.md [compiling]: https://xkcd.com/303/ [up-to-or-more]: https://xkcd.com/870/ -[algebra-initial]: /images/2016-08-Incremental/algebra-initial.svg -[algebra-update]: /images/2016-08-Incremental/algebra-update.svg -[algebra-dep-graph]: /images/2016-08-Incremental/algebra-dep-graph.svg -[algebra-dep-graph-dag]: /images/2016-08-Incremental/algebra-dep-graph-dag.svg -[compiler-phases]: /images/2016-08-Incremental/compiler-phases.svg -[compiler-dep-graph]: /images/2016-08-Incremental/compiler-dep-graph.svg -[compiler-cache-purge]: /images/2016-08-Incremental/compiler-cache-purge.svg -[compiler-phases-cost]: /images/2016-08-Incremental/compiler-phases-cost.svg +[algebra-initial]: ../../../images/2016-08-Incremental/algebra-initial.svg +[algebra-update]: ../../../images/2016-08-Incremental/algebra-update.svg +[algebra-dep-graph]: ../../../images/2016-08-Incremental/algebra-dep-graph.svg +[algebra-dep-graph-dag]: ../../../images/2016-08-Incremental/algebra-dep-graph-dag.svg +[compiler-phases]: ../../../images/2016-08-Incremental/compiler-phases.svg +[compiler-dep-graph]: ../../../images/2016-08-Incremental/compiler-dep-graph.svg +[compiler-cache-purge]: ../../../images/2016-08-Incremental/compiler-cache-purge.svg +[compiler-phases-cost]: ../../../images/2016-08-Incremental/compiler-phases-cost.svg [cargo-incremental]: https://github.com/nikomatsakis/cargo-incremental -[performance-full-re-use]: /images/2016-08-Incremental/perf-full-re-use.svg -[performance-changes]: /images/2016-08-Incremental/perf-changes.svg +[performance-full-re-use]: ../../../images/2016-08-Incremental/perf-full-re-use.svg +[performance-changes]: ../../../images/2016-08-Incremental/perf-changes.svg [regex]: https://github.com/rust-lang-nursery/regex [futures]: https://github.com/alexcrichton/futures-rs [syntex]: https://github.com/serde-rs/syntex/tree/master/syntex_syntax diff --git a/posts/2016-09-29-Rust-1.12.md b/posts/2016-09-29-Rust-1.12.md index e22968199..99490aa1c 100644 --- a/posts/2016-09-29-Rust-1.12.md +++ b/posts/2016-09-29-Rust-1.12.md @@ -29,7 +29,7 @@ a result of the effort of many hours of [volunteer effort] to design, test, and update every one of `rustc`s errors to the new format. We're excited to see what you think of them: -![A new borrow-check error](/images/2016-09-Rust-1.12/borrowck-error.png) +![A new borrow-check error](../../../images/2016-09-Rust-1.12/borrowck-error.png) The largest internal change in this release is moving to a new compiler backend based on the new Rust [MIR]. While this feature does not result in anything @@ -52,7 +52,7 @@ For example, in 1.11 if a implementation of a trait didn't match the trait declaration, you would see an error like the one below: ![An old mismatched trait -error](/images/2016-09-Rust-1.12/old-mismatched-trait-error.png) +error](../../../images/2016-09-Rust-1.12/old-mismatched-trait-error.png) In the new error format we represent the error by instead showing the points in the code that matter the most. Here is the relevant line in the trait @@ -60,7 +60,7 @@ declaration, and the relevant line in the implementation, using labels to describe why they don't match: ![A new mismatched trait -error](/images/2016-09-Rust-1.12/mismatched-trait-error.png) +error](../../../images/2016-09-Rust-1.12/mismatched-trait-error.png) Initially, this error design was built to aid in understanding borrow-checking errors, but we found, as with the error above, the format can be broadly diff --git a/posts/2016-11-10-Rust-1.13.md b/posts/2016-11-10-Rust-1.13.md index ef6a656b7..a92278a03 100644 --- a/posts/2016-11-10-Rust-1.13.md +++ b/posts/2016-11-10-Rust-1.13.md @@ -178,7 +178,7 @@ appear to be some big reductions, which are quantified on the corresponding
-![Performance graph](/images/2016-11-Rust-1.13/graph.png) +![Performance graph](../../../images/2016-11-Rust-1.13/graph.png)
diff --git a/posts/2017-05-15-rust-at-two-years.md b/posts/2017-05-15-rust-at-two-years.md index d4a8c3922..b63a5c95a 100644 --- a/posts/2017-05-15-rust-at-two-years.md +++ b/posts/2017-05-15-rust-at-two-years.md @@ -15,7 +15,7 @@ It's been two years since Rust 1.0 was released. Happy second birthday, Rust! *Rustaceans at RustFest Berlin, September 2016. Picture by Fiona Castiñeira* -[group-pic]: /images/2017-05-Second-Birthday/rustfest-berlin.jpeg +[group-pic]: ../../../images/2017-05-Second-Birthday/rustfest-berlin.jpeg Over these two years, we have demonstrated stability without stagnation, maintaining backwards compatibility with version 1.0 while also making many @@ -240,7 +240,7 @@ Try out incremental compilation on nightly Rust with [incrcomp]: https://internals.rust-lang.org/t/incremental-compilation-beta/4721 [roadmap-4]: https://github.com/rust-lang/rust-roadmap/issues/4 -[incrcomp-svg]: /images/2017-05-Second-Birthday/incremental-compilation.svg +[incrcomp-svg]: ../../../images/2017-05-Second-Birthday/incremental-compilation.svg We've also made some progress on the time it takes to do a full compilation. On average, compile times have improved by 5-10% in the last year, but some diff --git a/posts/2017-06-27-Increasing-Rusts-Reach.md b/posts/2017-06-27-Increasing-Rusts-Reach.md index 55b13f01d..5464d2ec9 100644 --- a/posts/2017-06-27-Increasing-Rusts-Reach.md +++ b/posts/2017-06-27-Increasing-Rusts-Reach.md @@ -4,7 +4,7 @@ title: "Increasing Rust’s Reach" author: Carol Nichols --- -**EDIT: We've heard that Google Forms is not easily accessible in all countries; if that applies to you, please find the [application's questions in this text file](/images/2017-06-Increasing-Rusts-Reach/application.txt) and send the answers via email to carol.nichols@gmail.com.** +**EDIT: We've heard that Google Forms is not easily accessible in all countries; if that applies to you, please find the [application's questions in this text file](../../../images/2017-06-Increasing-Rusts-Reach/application.txt) and send the answers via email to carol.nichols@gmail.com.** One of [Rust's 2017 goals](https://blog.rust-lang.org/2017/02/06/roadmap.html) is to make it easier to become productive in Rust by reducing its learning curve. We believe Rust has potential as an @@ -84,7 +84,7 @@ Who should apply for this project: - Interest in improving usability of developer-facing documentation and tools - Interest in learning in detail about Rust syntax and semantics -Nick Cameron +Nick Cameron *About Nick Cameron: I'm a Rust core team member and lead the dev-tools team. I work on a bunch of tools including Rustdoc, Rustfmt, the Rust Language Server, and the Rust compiler. I want to make @@ -92,7 +92,7 @@ Rust developer tools awesome, and user experience is a key part of that. I want world (or at least the programming world), and we can't do that without making the Rust language and community more accessible to more people.* -Steve Klabnik +Steve Klabnik *About Steve Klabnik: I used to work on Ruby on Rails before Rust, and one of the reasons why I love Rust is that as a project, we're committed to helping people learn Rust as their first low-level @@ -127,7 +127,7 @@ Who should apply for this project: - Interest in improving the new Rust developer experience - Interest in learning how to improve and create lints -Manish Goregaokar +Manish Goregaokar *About Manish Goregaokar: I'm a research engineer at Mozilla working on Servo. I care a lot about improving workflows and tooling, especially around the newcomer experience.* @@ -154,7 +154,7 @@ Who should apply for this project: - Interest in improving approachability of Rust - Interest in investigating the motivations behind visitors to the main website and/or crates.io -Aaron Turon +Aaron Turon *About Aaron Turon: I'm a Rust core team member, manage the Mozilla Rust team, and currently lead the library, infrastructure, and Cargo teams. On the technical side, I'm most driven by language @@ -181,7 +181,7 @@ Who should apply for this project: - Background or interest in creating visual teaching tools like diagrams or drawings a plus - Interest in learning Rust concepts and teaching what you learn to others -Niko Matsakis +Niko Matsakis *About Niko Matsakis: I'm a member of the Rust core team as well as the Rust language and compiler teams. I focus mainly on the design and implementation of the language itself. I want to do what I @@ -205,7 +205,7 @@ Who should apply for this project: - Experience using a web framework written in some other language - Interest in learning how to write web applications in Rust and teaching what you learn to others -Sean Griffin +Sean Griffin *About Sean Griffin: In addition to my Rust work, I am one of the maintainers of Ruby on Rails. One of the great things about Rails (and web development) is that it has really helped to lower the @@ -235,7 +235,7 @@ Who should apply for this project: - Background in writing, teaching, or documentation - Interest in, and opinions about, improving tools for creating and displaying code documentation -Felix Klock +Felix Klock *About Felix Klock: I'm the main developer of tango (as well as a member of the Rust compiler and language teams). I actively use tango for authoring my presentation slides about Rust. I @@ -267,7 +267,7 @@ Who should apply for this project: - Interest in learning how to translate an application to Rust - Interest in researching and documenting features that libraries have or don’t have -Andrew Gallant +Andrew Gallant *About Andrew Gallant: I'm a member of the Rust library team that works with Rust in my free time. I am very interested in information retrieval, fast text search and generally improving Rust's @@ -293,7 +293,7 @@ Who should apply for this project: - Interest in learning how to write or translate a CLI program to Rust - Interest in researching and documenting features that libraries have or don’t have -Kamal Marhubi +Kamal Marhubi *About Kamal Marhubi: I've been writing Rust for about a year and a half. I help maintain nix, a library that gives a Rusty interface to unix systems APIs. I've also contributed to rustfmt, rustup, diff --git a/posts/2017-09-05-Rust-2017-Survey-Results.md b/posts/2017-09-05-Rust-2017-Survey-Results.md index a08bb601f..a27ead0a3 100644 --- a/posts/2017-09-05-Rust-2017-Survey-Results.md +++ b/posts/2017-09-05-Rust-2017-Survey-Results.md @@ -10,7 +10,7 @@ This year we had **5,368 responses**. *That's over 2,000 more responses than we The scale of the feedback was both inspiring and humbling, and we've worked hard to read through all of your comments and suggestions. There were so many helpful ideas and experiences that people shared, and we truly do appreciate it. Without further ado, let's take a look. -![Chart: 66.9% Rust users, 9.9% stopped using, 23.2% never used](/images/2017-09-05-Rust-2017-Survey-Results/do_you_use_rust.png) +![Chart: 66.9% Rust users, 9.9% stopped using, 23.2% never used](../../../images/2017-09-05-Rust-2017-Survey-Results/do_you_use_rust.png) Just as we saw last year, 2/3rds of responses are from Rust users and the remainder from non-users. This year, we separated out the "don't use Rust" to capture those who used Rust and stopped from those who never used Rust. It's inspiring to see so many developers wanting to help us make Rust better (even if they don't use it!) so that it can reach even more people. @@ -18,27 +18,27 @@ We'll talk more about Rust non-users later in this report, but first let's look # Using Rust -![Chart: 0.5% less than a day, 4.2% less than a week, 13.1% less than a month, 39.7% less than a year, 42.5% over a year](/images/2017-09-05-Rust-2017-Survey-Results/how_long_using_rust.png "0.5% less than a day, 4.2% less than a week, 13.1% less than a month, 39.7% less than a year, 42.5% over a year") +![Chart: 0.5% less than a day, 4.2% less than a week, 13.1% less than a month, 39.7% less than a year, 42.5% over a year](../../../images/2017-09-05-Rust-2017-Survey-Results/how_long_using_rust.png "0.5% less than a day, 4.2% less than a week, 13.1% less than a month, 39.7% less than a year, 42.5% over a year") *(hover for more info)* This year, we're seeing a growing amount of experienced users sticking with Rust, with the "more than a year" users growing to over 42% (up from 30% from last year). The beginners are also an impressively large set, with the "less than a month" crowd at just about 18%, meaning we're currently attracting nearly a 1/5th of our user base size, even as it grows larger, every month. -![Chart: 36.5% less 1000 lines, 46.3% 1000 to 10000 lines, 14.2% 10000 to 100000 lines, 2.1% over 100000, 0.9% don't know](/images/2017-09-05-Rust-2017-Survey-Results/size_of_rust_projects.png "36.5% less 1000 lines, 46.3% 1000 to 10000 lines, 14.2% 10000 to 100000 lines, 2.1% over 100000, 0.9% don't know") +![Chart: 36.5% less 1000 lines, 46.3% 1000 to 10000 lines, 14.2% 10000 to 100000 lines, 2.1% over 100000, 0.9% don't know](../../../images/2017-09-05-Rust-2017-Survey-Results/size_of_rust_projects.png "36.5% less 1000 lines, 46.3% 1000 to 10000 lines, 14.2% 10000 to 100000 lines, 2.1% over 100000, 0.9% don't know") *(hover for more info)* People are working with ever-larger amounts of Rust, with medium- and large-scale lines of code totals both nearly doubling since last year as a percentage of the whole, now making up 16% of respondents (up from last year's 8.9%). This shows a growing interest in using Rust in ever-larger projects, and a growing need for tools to support this growth. -![Chart: 17.5% daily, 43.3% weekly, 24.4% monthly, 14.9% rarely](/images/2017-09-05-Rust-2017-Survey-Results/how_often_use_rust.png "17.5% daily, 43.3% weekly, 24.4% monthly, 14.9% rarely") +![Chart: 17.5% daily, 43.3% weekly, 24.4% monthly, 14.9% rarely](../../../images/2017-09-05-Rust-2017-Survey-Results/how_often_use_rust.png "17.5% daily, 43.3% weekly, 24.4% monthly, 14.9% rarely") Despite the rising amount of code developers are working with, we're seeing a small downtick in both daily and weekly users. Daily users have fallen from 19% to 17.5%, and weekly users have fallen from 48.8% to 43.3%. This could be a natural transition in this stage of our growth, as a broader range of developers begin using Rust. # Path to Stability -![Chart: 92.5% no, 7.5% yes](/images/2017-09-05-Rust-2017-Survey-Results/upgrade_stable.png "92.5% no, 7.5% yes") +![Chart: 92.5% no, 7.5% yes](../../../images/2017-09-05-Rust-2017-Survey-Results/upgrade_stable.png "92.5% no, 7.5% yes") In the last year, we made big strides in breakages caused by releases of the compiler. Last year, 16.2% of respondents said that upgrading to a new stable Rust compiler broke their code. This year, that number has **fallen to 7.5% of respondents**. This is a huge improvement, and one we're proud of, though we'll continue working to push this down even further. -![Chart show strong support for nightly and current stable releases](/images/2017-09-05-Rust-2017-Survey-Results/which_version.png) +![Chart show strong support for nightly and current stable releases](../../../images/2017-09-05-Rust-2017-Survey-Results/which_version.png) Developers have largely opted to move to nightly or a recent stable (with some on beta), showing that developers are eager to upgrade and do so quickly. This simplifies the support structure a bit from last year, where developers were on a wider range of versions. @@ -46,44 +46,44 @@ Stable users now make up 77.9% of Rust users. Unfortunately, despite our efforts # How we use Rust -![Chart: 90.2% rustup, 18.9% linux distros, 5% homebrew, 4.7% official .msi, 3.1% official tarball, 1.4% official mac pkg](/images/2017-09-05-Rust-2017-Survey-Results/rustup.png "90.2% rustup, 18.9% linux distros, 5% homebrew, 4.7% official .msi, 3.1% official tarball, 1.4% official mac pkg") +![Chart: 90.2% rustup, 18.9% linux distros, 5% homebrew, 4.7% official .msi, 3.1% official tarball, 1.4% official mac pkg](../../../images/2017-09-05-Rust-2017-Survey-Results/rustup.png "90.2% rustup, 18.9% linux distros, 5% homebrew, 4.7% official .msi, 3.1% official tarball, 1.4% official mac pkg") *(hover for more info)* One of the big success stories with Rust tooling was rustup, the Rust toolchain installer. Last year, we saw a wide diversity in ways people were installing Rust. This year, many of these have moved to using rustup as their main way of installing Rust, totalling now 3,205 of the responses, which moves it from last year's 52.8% to **90.2%**. -![Chart: 80.9% Linux, 35.5% macOS, 31.5% Windows, 3.2% BSD-variant](/images/2017-09-05-Rust-2017-Survey-Results/platforms_on.png) +![Chart: 80.9% Linux, 35.5% macOS, 31.5% Windows, 3.2% BSD-variant](../../../images/2017-09-05-Rust-2017-Survey-Results/platforms_on.png) Linux still features prominently as one of the main platforms Rust developers choose. Of note, we also saw a rise in the use of Windows as a developer platform at 1,130 of the 3,588 total respondents, putting it at **31.5% of respondents**, up from 27.6% of last year. -![Chart: 91.5% Linux, 46.7% Windows, 38.2% macOS, 16.8% embedded, 13.2% WebAssembly and asm.js, 9.9% Android, 8.9% BSD-variant, 5.3% Apple iOS](/images/2017-09-05-Rust-2017-Survey-Results/platforms_targetted.png) +![Chart: 91.5% Linux, 46.7% Windows, 38.2% macOS, 16.8% embedded, 13.2% WebAssembly and asm.js, 9.9% Android, 8.9% BSD-variant, 5.3% Apple iOS](../../../images/2017-09-05-Rust-2017-Survey-Results/platforms_targetted.png) Next, we asked what platforms people were targeting with their Rust projects. While we see a similar representation of desktop OSes here, we also see a growing range of other targets. Android and iOS are at healthy 9.9% and 5.3% respectively, both almost **10x larger** than last year's percentages. Embedded also has had substantial growth since last year's single-digit percentage. As a whole, cross-compilation has grown considerably since this time last year. -![Chart: 45.8% vim, 33.8% vscode, 16.1% intellij, 15.7% atom, 15.4% emacs, 12.2% sublime, 1.5% eclipse, 1.5% visual studio](/images/2017-09-05-Rust-2017-Survey-Results/editors.png) +![Chart: 45.8% vim, 33.8% vscode, 16.1% intellij, 15.7% atom, 15.4% emacs, 12.2% sublime, 1.5% eclipse, 1.5% visual studio](../../../images/2017-09-05-Rust-2017-Survey-Results/editors.png) Among editors, vim remains king, though we see healthy growth in VSCode adoption at 34.1% (up from last year's 3.8%). This growth no doubt has been helped by VSCode being one of the first platforms to get support for the [Rust Language Server](https://github.com/rust-lang-nursery/rls). -![Chart: 4.4% full-time, 16.6% part-time, 2.9% no but company uses Rust, 57.6% no, 2.4% not sure, 16.1% not applicable](/images/2017-09-05-Rust-2017-Survey-Results/use_rust_at_work.png "4.4% full-time, 16.6% part-time, 2.9% no but company uses Rust, 57.6% no, 2.4% not sure, 16.1% not applicable") +![Chart: 4.4% full-time, 16.6% part-time, 2.9% no but company uses Rust, 57.6% no, 2.4% not sure, 16.1% not applicable](../../../images/2017-09-05-Rust-2017-Survey-Results/use_rust_at_work.png "4.4% full-time, 16.6% part-time, 2.9% no but company uses Rust, 57.6% no, 2.4% not sure, 16.1% not applicable") *(hover for more info)* Rust in the workplace has also continued to grow. This year's **4.4% full-time** and **16.6% part-time** Rust workers show a tick up from last year's 3.7% full-time and 16.1% part-time. -![Two charts part-time: 2016: 29.6% less than 1000 lines, 55.3% 1000 to 10000 lines, 14.5% 10000 to 100000 lines, 0.6% 100000 lines. 2017: 18.9% less than 1000 lines, 56% 1000 to 10000 lines, 23.1% 10000 to 100000 lines, 2% more than 100000 lines](/images/2017-09-05-Rust-2017-Survey-Results/part_time.png) +![Two charts part-time: 2016: 29.6% less than 1000 lines, 55.3% 1000 to 10000 lines, 14.5% 10000 to 100000 lines, 0.6% 100000 lines. 2017: 18.9% less than 1000 lines, 56% 1000 to 10000 lines, 23.1% 10000 to 100000 lines, 2% more than 100000 lines](../../../images/2017-09-05-Rust-2017-Survey-Results/part_time.png) Users who use Rust **part-time** in their companies showed a growth in larger projects since last year, with the medium- and large-scale projects taking up more percentage of total projects this time around. -![Two charts full-time: 2016: 4.4% less than 1000 lines, 42.6% 1000 to 10000 lines, 39.7% 10000 to 100000 lines, 13.2% more than 100000 lines. 2017: 1.9% less than 1000 lines, 27.9% 1000 to 10000 lines, 52.6% 10000 to 100000 lines, 17.5% more than 100000 lines](/images/2017-09-05-Rust-2017-Survey-Results/full_time.png) +![Two charts full-time: 2016: 4.4% less than 1000 lines, 42.6% 1000 to 10000 lines, 39.7% 10000 to 100000 lines, 13.2% more than 100000 lines. 2017: 1.9% less than 1000 lines, 27.9% 1000 to 10000 lines, 52.6% 10000 to 100000 lines, 17.5% more than 100000 lines](../../../images/2017-09-05-Rust-2017-Survey-Results/full_time.png) Likewise, **full-time** Rust commercial users saw medium- and large-scale projects grow to taking a larger part of the pie, with projects over 100,000 lines of code making up almost 18% of the all full-time commercial respondents, and a large shift in the 10,000-100,000 lines range from 39.7% up to **52.6%**. # Feeling Welcome -![chart: 75.1% feel welcome, 1.3% don't feel welcome, 23.6% don't know](/images/2017-09-05-Rust-2017-Survey-Results/feel_welcome.png "75.1% feel welcome, 1.3% don't feel welcome, 23.6% don't know") +![chart: 75.1% feel welcome, 1.3% don't feel welcome, 23.6% don't know](../../../images/2017-09-05-Rust-2017-Survey-Results/feel_welcome.png "75.1% feel welcome, 1.3% don't feel welcome, 23.6% don't know") *(hover for more info)* An important piece of the Rust community is to be one that is welcoming to new users, whether they are current users or potential users in the future. We're pleased to see that over 3/4th of all respondents said they feel welcome in the Rust community, with 23.6% not sure. -![chart showing 81.4% not underrepresented, and a variety of underrepresented, with no category above 5%](/images/2017-09-05-Rust-2017-Survey-Results/diversity.png) +![chart showing 81.4% not underrepresented, and a variety of underrepresented, with no category above 5%](../../../images/2017-09-05-Rust-2017-Survey-Results/diversity.png) The demographics of respondents stayed about the same year over year. Diversity and inclusiveness continue to be vital goals for the Rust project at all levels. The [Rust Bridge](https://github.com/rust-community/rustbridge/) initiative aims for diversity at the entry level. The [Rust Reach](https://blog.rust-lang.org/2017/06/27/Increasing-Rusts-Reach.html) project, launched this year, brings in a wide range of expertise from people underrepresented in the Rust world, and pairs them with Rust team members to make Rust more accessible to a wider audience. @@ -91,7 +91,7 @@ The demographics of respondents stayed about the same year over year. Diversity New this year, we separated out the people who had stopped using Rust from those who had never used Rust to better understand why they stopped. Let's take a look first at when they stopped. -![chart: 3.2% less than a day, 18.5% less than a week, 43.1% less than a month, 30.2% less than a year, 4.9% more than a year](/images/2017-09-05-Rust-2017-Survey-Results/stopped_using_rust.png "3.2% less than a day, 18.5% less than a week, 43.1% less than a month, 30.2% less than a year, 4.9% more than a year") +![chart: 3.2% less than a day, 18.5% less than a week, 43.1% less than a month, 30.2% less than a year, 4.9% more than a year](../../../images/2017-09-05-Rust-2017-Survey-Results/stopped_using_rust.png "3.2% less than a day, 18.5% less than a week, 43.1% less than a month, 30.2% less than a year, 4.9% more than a year") *(hover for more info)* The first surprise we had here was how long people gave Rust a try before they stopped. Our initial hunch was that people would give up using Rust in the first day, or possibly the first week, if it didn't suit them or their project. Instead, what we see is that people tried Rust for a much longer time on average than that. @@ -106,7 +106,7 @@ Themes from people who stopped using Rust: # Not using Rust -![chart: 666 company doesn't use Rust, 425 Rust is too intimidating hard to learn or too complicated, 295 Rust doesn't solve a problem for me, 255 Rust doesn't have good IDE support, 209 Rust doesn't have libraries I need, 161 Rust seems too risky for production, 89 Rust doesn't support platforms I need, 73 Rust doesn't have tools I need](/images/2017-09-05-Rust-2017-Survey-Results/dont_use_rust.png) +![chart: 666 company doesn't use Rust, 425 Rust is too intimidating hard to learn or too complicated, 295 Rust doesn't solve a problem for me, 255 Rust doesn't have good IDE support, 209 Rust doesn't have libraries I need, 161 Rust seems too risky for production, 89 Rust doesn't support platforms I need, 73 Rust doesn't have tools I need](../../../images/2017-09-05-Rust-2017-Survey-Results/dont_use_rust.png) While the learning curve and language complexity still played a role in preventing people from picking up Rust, one aspect that resonated with many people is that there just simply aren't enough active commercial projects in Rust for people to be a part of. For some, they could surmount the learning curve if there was strong incentive to do so. diff --git a/posts/2017-12-21-rust-in-2017.md b/posts/2017-12-21-rust-in-2017.md index c01f4d267..9afdf315d 100644 --- a/posts/2017-12-21-rust-in-2017.md +++ b/posts/2017-12-21-rust-in-2017.md @@ -32,7 +32,7 @@ There’s not room in a single post to cover everything that happened, but we’ - You can see how incremental recompilation performs in practice on some of our key benchmarks below. Note that `-opt` refers to optimized builds, “best case” refers to a recompilation with no changes, and `println` refers to a recompilation with a small change, like adding a `println` call to a function body. We expect the 50+% speedups we’re seeing now to continue to grow next year as we push incremental recompilation more deeply through the compiler. - Together with the changes in the compiler we will also update Cargo to use incremental recompilation by default for select use cases, so you can take advantage of improved compile times without the need for additional configuration. Of course you will also be able to opt into and out of the feature on a case by case basis as you see fit. -![Incremental recompilation benchmarks](/images/2017-12-Retro/incr-bench.png) +![Incremental recompilation benchmarks](../../../images/2017-12-Retro/incr-bench.png) ## Rust should provide a solid, but basic IDE experience diff --git a/posts/2018-05-15-Rust-turns-three.md b/posts/2018-05-15-Rust-turns-three.md index 478c904ea..ce09cbe46 100644 --- a/posts/2018-05-15-Rust-turns-three.md +++ b/posts/2018-05-15-Rust-turns-three.md @@ -38,7 +38,7 @@ production [here](https://www.rust-lang.org/en-US/whitepapers.html).) ![Graphs of Rust team growth][team] -[team]: /images/2018-05-Third-Birthday/team.png +[team]: ../../../images/2018-05-Third-Birthday/team.png Finally, the Rust community continues to work on inclusivity, through outreach programs like [Rust Reach](https://blog.rust-lang.org/2018/04/02/Increasing-Rusts-Reach-2018.html) and diff --git a/posts/2018-10-25-Rust-1.30.0.md b/posts/2018-10-25-Rust-1.30.0.md index bc0055ece..f62083c82 100644 --- a/posts/2018-10-25-Rust-1.30.0.md +++ b/posts/2018-10-25-Rust-1.30.0.md @@ -370,7 +370,7 @@ See the [detailed release notes][notes] for more. The largest feature of Cargo in this release is that we now [have a progress bar!](https://github.com/rust-lang/cargo/pull/5995/) -![demo gif](/images/2018-10-25-Rust-1.30/demo.gif) +![demo gif](../../../images/2018-10-25-Rust-1.30/demo.gif) See the [detailed release notes][notes] for more. diff --git a/posts/2018-11-27-Rust-survey-2018.md b/posts/2018-11-27-Rust-survey-2018.md index 029fc875f..484a33ed8 100644 --- a/posts/2018-11-27-Rust-survey-2018.md +++ b/posts/2018-11-27-Rust-survey-2018.md @@ -6,7 +6,7 @@ author: The Rust Survey Team Another year means another Rust survey, and this year marks Rust's third annual survey. This year, the survey launched for the first time in multiple languages. In total **14** languages, in addition to English, were covered. The results from non-English languages totalled *25% of all responses* and helped pushed the number of responses to a new record of **5991 responses**. Before we begin the analysis, we just want to give a big "thank you!" to all the people who took the time to respond and give us your thoughts. It’s because of your help that Rust will continue to improve year after year. -![Do you use Rust](/images/2018-11-RustSurvey/1-Do_you_use_Rust.png) +![Do you use Rust](../../../images/2018-11-RustSurvey/1-Do_you_use_Rust.png) Despite having an increase in the number of responses, this year also saw an increase in the percentage of Rust users. Up from last year’s 66.9% Rust users, this year nearly three-quarters of responses were from Rust users. @@ -14,93 +14,93 @@ Despite having an increase in the number of responses, this year also saw an inc ## **Time with Rust** -![How long have you worked in Rust](/images/2018-11-RustSurvey/4-How_long_have_you_worked_in_Rust.png) +![How long have you worked in Rust](../../../images/2018-11-RustSurvey/4-How_long_have_you_worked_in_Rust.png) We’re seeing a steady stream of new users into Rust. At the time of the survey, ~23% of Rust users had been using it for 3 months or less. Likewise, nearly a quarter of the users have used Rust for at least 2 years. -![How long did it take to be productive](/images/2018-11-RustSurvey/5-How_long_did_it_take_to_be_productive.png) +![How long did it take to be productive](../../../images/2018-11-RustSurvey/5-How_long_did_it_take_to_be_productive.png) Over 40% of Rust users felt productive in Rust in less than a month of use, and over 70% felt productive in their first year. Unfortunately, there is a noticeable struggle among users, as over 22% do not yet feel productive. -![How long have you been unproductive](/images/2018-11-RustSurvey/5a-How_long_have_you_been_unproductive.png) +![How long have you been unproductive](../../../images/2018-11-RustSurvey/5a-How_long_have_you_been_unproductive.png) Looking closer at these users who feel unproductive in Rust, only about 25% are in their first month of use. The challenge here is to find ways to help bridge users to productivity so they don't get stuck. ## **How much do you use Rust?** -![Size of summed Rust projects](/images/2018-11-RustSurvey/6-Size_of_summed_Rust_projects.png) +![Size of summed Rust projects](../../../images/2018-11-RustSurvey/6-Size_of_summed_Rust_projects.png) Rust projects are continuing to trend to larger sizes, with larger overall investments. Medium to large investments in Rust (those totally over 10k and 100k lines of code respectively) have grown from 8.9% in 2016, to 16% in 2017, to **23%** this year. -![How often do you use Rust](/images/2018-11-RustSurvey/7-How_often_use_Rust.png) +![How often do you use Rust](../../../images/2018-11-RustSurvey/7-How_often_use_Rust.png) We’ve also seen a growth in Rust regular usage. Up from 17.5% last year, Rust daily usage is now nearly a quarter of users. In total, Rust weekly total usage has risen from 60.8% to 66.4%. ## **Rust expertise** -![How would you rate your Rust expertise](/images/2018-11-RustSurvey/8-How_you_rate_your_Rust_expertise.png) +![How would you rate your Rust expertise](../../../images/2018-11-RustSurvey/8-How_you_rate_your_Rust_expertise.png) Rather than being a simple curve, Rust expertise has two peaks: one around a "3", and another at "7", showing that users tend to see themselves as just above beginner or experienced without necessarily being expert. -![How difficult are Rust concepts](/images/2018-11-RustSurvey/9-How_difficult_are_Rust_concepts.png) +![How difficult are Rust concepts](../../../images/2018-11-RustSurvey/9-How_difficult_are_Rust_concepts.png) Rust users generally felt that Enums and Cargo were largely easy concepts; followed by Iterators, Modules, and Traits. More challenging concepts of Trait Bounds and Unsafe came next. Lastly, the most challenging concepts were Macros, Ownership & Borrowing, and Lifetimes. These challenges match closely to feedback we’ve heard in years past and continue to be a focus of continued productivity improvements like NLL and the continued macro system improvements. -![What programming languages are you familiar with](/images/2018-11-RustSurvey/22-Programming_language_familiarity.png) +![What programming languages are you familiar with](../../../images/2018-11-RustSurvey/22-Programming_language_familiarity.png) Humorously, we see that Rust isn't actually the top programming language that users were familiar with. Instead, it pulled in a 2nd place behind Python. ## **Rust toolchain** -![Which Rust version do you use](/images/2018-11-RustSurvey/10-Which_Rust_version.png) +![Which Rust version do you use](../../../images/2018-11-RustSurvey/10-Which_Rust_version.png) We’re seeing similar numbers in users of the current stable release since last year. Perhaps surprisingly, we’re continuing to see a rise in the number of users who use the Nightly compiler in their workflow. For the second year in a row, Nightly usage has continued to rise, and is now over 56% (up from 51.6% of last year). When asked why they used nightly, people responded with a broad range of reasons including: access to 2018 edition, asm, async/await, clippy, embedded development, rocket, NLL, proc macros, and wasm. -![Has upgrading the compiler broken your code](/images/2018-11-RustSurvey/11-Has_upgrading_compiler_broken_you.png) +![Has upgrading the compiler broken your code](../../../images/2018-11-RustSurvey/11-Has_upgrading_compiler_broken_you.png) The percentage of people who see a breakage during a routine compiler update has stayed the same since last year, with 7.4% saying they’ve experienced breakage. -![If so how much work to fix it](/images/2018-11-RustSurvey/12-If_so_how_much_work_to_fix.png) +![If so how much work to fix it](../../../images/2018-11-RustSurvey/12-If_so_how_much_work_to_fix.png) Breakages generally leaned to requiring minor fixes, though some reported having moderate or major fixes to upgrade to the next stable compiler. -![Preferred install method](/images/2018-11-RustSurvey/13-Preferred_install_method.png) +![Preferred install method](../../../images/2018-11-RustSurvey/13-Preferred_install_method.png) We again see a strong showing for `rustup`, which continues to hold at 90% of Rust installs. Linux distros follow as a distant second at 17%. -![Experience with Rust tools](/images/2018-11-RustSurvey/14-Tool-experience.png) +![Experience with Rust tools](../../../images/2018-11-RustSurvey/14-Tool-experience.png) Tools like `rustfmt` and `rustdoc` had a strong show, with lots of positive support. Following these is the `clippy` tool -- despite having fewer users, its users enjoy the tool. The IDE support tools `Rust Language Server` and `racer` had positive support but unfortunately, of the tools surveyed, generated a few more dislike votes and comments. The `bindgen` tool has relatively small userbase. ## **Rust workflow** -![Which platform are you developing on](/images/2018-11-RustSurvey/15-Platform_developing_on.png) +![Which platform are you developing on](../../../images/2018-11-RustSurvey/15-Platform_developing_on.png) Linux continues to be a powerhouse among Rust developers, holding on to roughly 80% of Rust developers. Windows usage has grown slightly from 31% last year to 34% this year, its second year in a row of growth. -![Which platforms are you developing for](/images/2018-11-RustSurvey/16-Platforms_targeting.png) +![Which platforms are you developing for](../../../images/2018-11-RustSurvey/16-Platforms_targeting.png) Linux and Windows continued to show strongly as targets for Rust applications. Other platforms held largely the same as last year, with one exception: WebAssembly. The new technology has showed impressive growth, nearly doubling from last year's 13% to this year's 24%. -![What editors do you use](/images/2018-11-RustSurvey/17-Editors.png) +![What editors do you use](../../../images/2018-11-RustSurvey/17-Editors.png) Vim, the front-runner in editors for two years has now finally been bested by VSCode, which grew from 33.8% of Rust developers to 44.4% this year. ## **Rust at work** -![Do you use Rust at work](/images/2018-11-RustSurvey/18-Rust_at_work.png) +![Do you use Rust at work](../../../images/2018-11-RustSurvey/18-Rust_at_work.png) Rust continues is slow-and-steady growth in the workplace. We're now seeing year-over-year growth of full-time and part-time Rust, growing from last year's 4.4% full-time and 16.6% part-time to this year's **8.9% full-time** and **21.2% part-time**, a doubling of full-time Rust commercial use. In total, Rust commercial use grew from 21% to just over 30% of Rust users. -![Is your company evaluating Rust](/images/2018-11-RustSurvey/19-Company_evaluate_Rust.png) +![Is your company evaluating Rust](../../../images/2018-11-RustSurvey/19-Company_evaluate_Rust.png) There is more room for Rust to grow into more companies, over a third of which users report aren't currently looking into evaluating Rust in the coming year. When paired with the survey data that said that nearly half of non-users needed the company support, this shows the need for further company outreach or more company-focused information about Rust. ## **Feeling welcome** -![Do you feel welcome in the Rust community](/images/2018-11-RustSurvey/23-Do_you_feel_welcome.png) +![Do you feel welcome in the Rust community](../../../images/2018-11-RustSurvey/23-Do_you_feel_welcome.png) An important part of the Rust community efforts are ensuring that the Rust project is a welcoming place for its users. New users should feel encouraged to explore, share ideas, and generally be themselves. @@ -108,7 +108,7 @@ When asked, both current Rust users and non-users largely felt welcome, though o There's a challenge here to help Rust communities worldwide feel like they are part of what makes Rust unique, as Rust continues to grow a strong presence in more areas of the world. -![Are you underrepresented in tech](/images/2018-11-RustSurvey/24-Underrepresented.png) +![Are you underrepresented in tech](../../../images/2018-11-RustSurvey/24-Underrepresented.png) The number of people in Rust who self-identify as being part of a group underrepresented in technology is growing slowly year-over-year. The survey also highlights some challenges, as the number of women is still lower than the industry average of women in programming fields. @@ -116,11 +116,11 @@ The number of people in Rust who self-identify as being part of a group underrep A big part of a welcoming Rust community is reaching out to non-users as well. As we have in years past, we again asked the reasons why people weren't using Rust. -![How long before you stopped](/images/2018-11-RustSurvey/2-How_long_before_you_stopped.png) +![How long before you stopped](../../../images/2018-11-RustSurvey/2-How_long_before_you_stopped.png) For those who stopped using Rust, just over 50% stopped using Rust in less than a month. Likewise, roughly 50% of people who left Rust managed to use it for more than a month before stopping. -![Why are you not using Rust](/images/2018-11-RustSurvey/3-Why_not_using_Rust.png) +![Why are you not using Rust](../../../images/2018-11-RustSurvey/3-Why_not_using_Rust.png) Many non-users responded that they did want to learn Rust, but there were factors that slowed them down. First among these is that the companies the responders work for do not themselves use Rust. Nearly one half of the non-users were blocked by the lack of company support. diff --git a/posts/2018-11-29-a-new-look-for-rust-lang-org.md b/posts/2018-11-29-a-new-look-for-rust-lang-org.md index f1f86d95d..3f6f0a4ee 100644 --- a/posts/2018-11-29-a-new-look-for-rust-lang-org.md +++ b/posts/2018-11-29-a-new-look-for-rust-lang-org.md @@ -9,15 +9,15 @@ basis. By contrast, the website has looked pretty much the same. Here’s the first version of rust-lang.org, seven years ago (courtesy of [the WayBack Machine](https://web.archive.org/)): -![rust website in 2011](/images/rust-www1.png) +![rust website in 2011](../../../images/rust-www1.png) In 2014, three years later: -![rust website in 2014](/images/rust-www2.png) +![rust website in 2014](../../../images/rust-www2.png) If you visit today, you'll see this: -![rust website in 2018](/images/rust-www3.png) +![rust website in 2018](../../../images/rust-www3.png) Over time, we’ve grown to love it. It’s simple. Minimal. Familiar. @@ -27,7 +27,7 @@ But we can always do better. For example, the website suffers from what we call “the fireflower problem.” First formulated by [Kathy Sierra](http://seriouspony.com/), and made into an image by Samuel Hulick: -![the fireflower](/images/fireflower.png) +![the fireflower](../../../images/fireflower.png) We want Mario to use Rust, the fireflower, and turn into the ever-awesome Fire Mario. But there’s a corollary here: it’s better to say “we will make @@ -69,7 +69,7 @@ nice. Today, we’d like to announce a beta of the new rust-lang.org. If you go to , you’ll see this: -![beta rust website](/images/rust-www4.png) +![beta rust website](../../../images/rust-www4.png) Its fresh visual design gives us a lot more flexibility in how we get information across. It retains the minimalist spirit of the old site, while diff --git a/posts/2019-10-03-inside-rust-blog.md b/posts/2019-10-03-inside-rust-blog.md index 677e0a7de..11e6a46fd 100644 --- a/posts/2019-10-03-inside-rust-blog.md +++ b/posts/2019-10-03-inside-rust-blog.md @@ -10,5 +10,5 @@ updates by the various Rust teams and working groups. If you're interested in following along with the "nitty gritty" of Rust development, then you should take a look! -[irb]: /inside-rust/index.html +[irb]: ../../../inside-rust/index.html diff --git a/posts/2020-04-17-Rust-survey-2019.md b/posts/2020-04-17-Rust-survey-2019.md index ab1a061ad..4b08c06d7 100644 --- a/posts/2020-04-17-Rust-survey-2019.md +++ b/posts/2020-04-17-Rust-survey-2019.md @@ -41,25 +41,25 @@ In December 2018 we released the Rust 2018 edition - Rust 1.31.0. In the 2019 su Next, we asked users to rate the improvement of key aspects of the Rust language. -![How has adoption level improved](/images/2020-03-RustSurvey/35-Adoption-Level-improvement.svg) +![How has adoption level improved](../../../images/2020-03-RustSurvey/35-Adoption-Level-improvement.svg) -![How has async io improved](/images/2020-03-RustSurvey/36-Async-IO-improvement.svg) +![How has async io improved](../../../images/2020-03-RustSurvey/36-Async-IO-improvement.svg) -![How has compile time improved](/images/2020-03-RustSurvey/37-compile-time-improvement.svg) +![How has compile time improved](../../../images/2020-03-RustSurvey/37-compile-time-improvement.svg) -![How has GUI development improved](/images/2020-03-RustSurvey/38-GUI-Development-improvement.svg) +![How has GUI development improved](../../../images/2020-03-RustSurvey/38-GUI-Development-improvement.svg) -![How has IDE support improved](/images/2020-03-RustSurvey/39-IDE-improvement.svg) +![How has IDE support improved](../../../images/2020-03-RustSurvey/39-IDE-improvement.svg) -![How has library support improved](/images/2020-03-RustSurvey/40-Library-Support-improvement.svg) +![How has library support improved](../../../images/2020-03-RustSurvey/40-Library-Support-improvement.svg) -![How have stable language features and crates improved](/images/2020-03-RustSurvey/41-Stable-Language-Features-and-Crates-improvement.svg) +![How have stable language features and crates improved](../../../images/2020-03-RustSurvey/41-Stable-Language-Features-and-Crates-improvement.svg) -![How has Rust documentation improved](/images/2020-03-RustSurvey/42-Rust-documentation-improvement.svg) +![How has Rust documentation improved](../../../images/2020-03-RustSurvey/42-Rust-documentation-improvement.svg) -![How has the learning curve improved](/images/2020-03-RustSurvey/43-learning-curve-improvement.svg) +![How has the learning curve improved](../../../images/2020-03-RustSurvey/43-learning-curve-improvement.svg) -![How has tools and support improved](/images/2020-03-RustSurvey/44-tools-and-support-improvement.svg) +![How has tools and support improved](../../../images/2020-03-RustSurvey/44-tools-and-support-improvement.svg) Overall, many aspects of the Rust language were perceived as "somewhat better" in the 2018 edition. @@ -90,31 +90,31 @@ These issues are definitely ones we want to address in 2020 and beyond. ## Who is using Rust and what for? -![How often do you use Rust](/images/2020-03-RustSurvey/11-How-Often-Use-Rust.svg) +![How often do you use Rust](../../../images/2020-03-RustSurvey/11-How-Often-Use-Rust.svg) Rust daily usage has trended slightly upward at 27.63% (it was just under 25% last year and 17.5% on 2017). Daily or weekly usage has also continued to trend slightly upward. This year it was 68.52%, last year it was 66.4%, and in 2017 it was 60.8%. -![How would you rate your Rust expertise](/images/2020-03-RustSurvey/12-How-Rate-Rust-Expertise.svg) +![How would you rate your Rust expertise](../../../images/2020-03-RustSurvey/12-How-Rate-Rust-Expertise.svg) We also asked users how they would rate their Rust expertise - there is a clear peak around "7". -![How would you rate your Rust expertise](/images/2020-03-RustSurvey/29-Rust-expertise-how-long-using-Rust.svg) +![How would you rate your Rust expertise](../../../images/2020-03-RustSurvey/29-Rust-expertise-how-long-using-Rust.svg) To dig deeper into this, we correlated users' self-rated Rust expertise with how long they had been using Rust. -![What title best matches your role for Rust users](/images/2020-03-RustSurvey/24-use-rust-role-title.svg) +![What title best matches your role for Rust users](../../../images/2020-03-RustSurvey/24-use-rust-role-title.svg) For some larger context, we examined what titles users working with Rust full time tend to have in their organization (survey respondents could select more than one). By far the most common title for a Rust user is, unsurprisingly, Programmer/Software Engineer. -![What industry do you work in for Rust users](/images/2020-03-RustSurvey/25-use-rust-industry.svg) +![What industry do you work in for Rust users](../../../images/2020-03-RustSurvey/25-use-rust-industry.svg) To get even more context, we asked Rust survey respondents to identify what industry they work in. For users who use Rust full time, the most common industry by far is backend web applications. -![Size of summed Rust projects](/images/2020-03-RustSurvey/10-Size-Of-Summed-projects.svg) +![Size of summed Rust projects](../../../images/2020-03-RustSurvey/10-Size-Of-Summed-projects.svg) The majority of Rust projects (43%) are 1,000-10,000 lines of code. Rust projects of medium to large size (those totaling over 10k lines of code) continue to trend higher. They have grown from 8.9% in 2016, to 16% in 2017, to 23% in 2018, to **34%** in 2019. @@ -122,25 +122,25 @@ The majority of Rust projects (43%) are 1,000-10,000 lines of code. Rust project A big part of a welcoming Rust community is reaching out to non-users as well. -![Why did you stop using Rust?](/images/2020-03-RustSurvey/4-Why-Stopped-Rust.svg) +![Why did you stop using Rust?](../../../images/2020-03-RustSurvey/4-Why-Stopped-Rust.svg) When we asked why someone had stopped using Rust, the most common response was "My company doesn't use Rust" - which indicates Rust adoption is still the biggest reason. After that, learning curve, lack of needed libraries, being slowed down by switching to Rust, and lack of IDE support were the most common reasons a user stopped using Rust. -![Why have you never used Rust?](/images/2020-03-RustSurvey/5-Why-Never-Used-Rust.svg) +![Why have you never used Rust?](../../../images/2020-03-RustSurvey/5-Why-Never-Used-Rust.svg) For users who indicated they had never used Rust before, most indicated either "I haven't learned Rust yet, but I want to" or "My company doesn't use Rust" - again pointing to adoption as the main hurdle. For more context, we also examined what title non-Rust users feel best matches their role. -![What title best matches your role for non Rust users](/images/2020-03-RustSurvey/26-not-using-rust-title.svg) +![What title best matches your role for non Rust users](../../../images/2020-03-RustSurvey/26-not-using-rust-title.svg) Like with Rust users, by far the most common title is Programmer/Software Engineer. -![What industry do you work in for non Rust users](/images/2020-03-RustSurvey/27-not-using-rust-industry.svg) +![What industry do you work in for non Rust users](../../../images/2020-03-RustSurvey/27-not-using-rust-industry.svg) Also like with Rust users, the most common industry by far is backend web applications. -![I would use Rust more often if...](/images/2020-03-RustSurvey/20-Would-use-rust-more-often-if.svg) +![I would use Rust more often if...](../../../images/2020-03-RustSurvey/20-Would-use-rust-more-often-if.svg) We also asked users what would lead them to use Rust more often. Most indicated they would use Rust more if their company adopted it, if Rust had more libraries that they need, and if IDE support was better. The most common reasons after those pointed to a need to improve the learning curve and interoperability. @@ -150,7 +150,7 @@ As adoption seemed to be the biggest problem preventing some respondents from us First, we asked what would we could do to improve adoption of Rust. -![How can we improve Rust for better adoption](/images/2020-03-RustSurvey/45-improve-adoption.svg) +![How can we improve Rust for better adoption](../../../images/2020-03-RustSurvey/45-improve-adoption.svg) Several users gave specific examples: * "Smoothest learning curve as possible, as a small business even 4-6 weeks to become productive is a lot to ask" @@ -183,7 +183,7 @@ When we asked users what libraries they consider critical to the Rust ecosystem, * hyper * lazy_static -![What dependencies are 1.0 or above](/images/2020-03-RustSurvey/28-dependencies-1-0-or-above.svg) +![What dependencies are 1.0 or above](../../../images/2020-03-RustSurvey/28-dependencies-1-0-or-above.svg) We also asked how many dependencies users were using were 1.0 or above. * 0.8% indicated "All" @@ -196,7 +196,7 @@ We also asked how many dependencies users were using were 1.0 or above. IDE support for Rust was also cited as a barrier to adoption. -![What editor are you using](/images/2020-03-RustSurvey/31-editor-using.svg) +![What editor are you using](../../../images/2020-03-RustSurvey/31-editor-using.svg) When we asked users what editors they use, Vim and VSCode were the most popular by far, followed by Intellij. @@ -207,7 +207,7 @@ We also asked what IDE setups users used: * 12.4% indicated No (or CTAGS) * 4.2% indicated Only Racer -![What platform are you developing on](/images/2020-03-RustSurvey/32-what-platform-developing-on.svg) +![What platform are you developing on](../../../images/2020-03-RustSurvey/32-what-platform-developing-on.svg) As for platforms that users develop on - Linux and Windows continue to dominate. * 55% of Rust users develop on Linux @@ -229,11 +229,11 @@ Surprisingly, the number of users using the Nightly compiler in their workflow i Rust is well known for its significant learning curve. -![How long did it take to be productive](/images/2020-03-RustSurvey/8-How-Long-To-Be-Productive.svg) +![How long did it take to be productive](../../../images/2020-03-RustSurvey/8-How-Long-To-Be-Productive.svg) About 37% of Rust users felt productive in Rust in less than a month of use - this is not too different from the percentage last year (40%). Over 70% felt productive in their first year. Unfortunately, like last year, there is still a struggle among users - 21% indicated they did not yet feel productive. -![Expertise level of respondents who don't feel productive yet](/images/2020-03-RustSurvey/22-unproductive-expertise.svg) +![Expertise level of respondents who don't feel productive yet](../../../images/2020-03-RustSurvey/22-unproductive-expertise.svg) As a point of interest, we took the subset of users who don't feel productive yet and plotted their ratings of their Rust expertise. This indicates that people who don't feel productive had low to intermediate levels of expertise - which are the groups that need the most support from our learning materials, documentation, and more. @@ -241,11 +241,11 @@ As a point of interest, we took the subset of users who don't feel productive ye Over the years some users have expressed a desire for Rust to be more interoperable with other languages. -![What languages would you want to use with Rust](/images/2020-03-RustSurvey/23-interoperability-languages.svg) +![What languages would you want to use with Rust](../../../images/2020-03-RustSurvey/23-interoperability-languages.svg) When we asked users what languages they would want to be interoperable with Rust, there was a wide spread of answers, but C dominates, followed (somewhat surprisingly) by R, which is followed very closely behind by C++. It should be noted that respondents were able to select more than one language in response to this question - these percentages are based on total responses. -![What platforms are you targeting](/images/2020-03-RustSurvey/30-platforms-targeting.svg) +![What platforms are you targeting](../../../images/2020-03-RustSurvey/30-platforms-targeting.svg) When it comes to what platforms using are targeting for their applications Linux remains the first choice with 36.9%, with Windows as second at 16.3%. Following close behind Windows are macOS and Web Assembly at 14% each. We are also seeing more users targeting Android and Apple iOS. diff --git a/posts/2020-05-15-five-years-of-rust.md b/posts/2020-05-15-five-years-of-rust.md index f0dd03f44..5bee1b162 100644 --- a/posts/2020-05-15-five-years-of-rust.md +++ b/posts/2020-05-15-five-years-of-rust.md @@ -393,12 +393,12 @@ To learn more, run the command again with --verbose. ![A terminal screenshot of the 1.43.0 error message.][borrow-error-1.43.0] -[borrow-error-1.2.0]: /images/2020-05-15-five-years-of-rust/borrow-error-1.2.0.png -[borrow-error-1.43.0]: /images/2020-05-15-five-years-of-rust/borrow-error-1.43.0.png -[help-error-1.2.0]: /images/2020-05-15-five-years-of-rust/help-error-1.2.0.png -[help-error-1.43.0]: /images/2020-05-15-five-years-of-rust/help-error-1.43.0.png -[trait-error-1.2.0]: /images/2020-05-15-five-years-of-rust/trait-error-1.2.0.png -[trait-error-1.43.0]: /images/2020-05-15-five-years-of-rust/trait-error-1.43.0.png +[borrow-error-1.2.0]: ../../../images/2020-05-15-five-years-of-rust/borrow-error-1.2.0.png +[borrow-error-1.43.0]: ../../../images/2020-05-15-five-years-of-rust/borrow-error-1.43.0.png +[help-error-1.2.0]: ../../../images/2020-05-15-five-years-of-rust/help-error-1.2.0.png +[help-error-1.43.0]: ../../../images/2020-05-15-five-years-of-rust/help-error-1.43.0.png +[trait-error-1.2.0]: ../../../images/2020-05-15-five-years-of-rust/trait-error-1.2.0.png +[trait-error-1.43.0]: ../../../images/2020-05-15-five-years-of-rust/trait-error-1.43.0.png ## Quotes from the teams Of course we can't cover every change that has happened. So we reached out and diff --git a/posts/2020-12-16-rust-survey-2020.md b/posts/2020-12-16-rust-survey-2020.md index e44cab2c2..fbfae1a27 100644 --- a/posts/2020-12-16-rust-survey-2020.md +++ b/posts/2020-12-16-rust-survey-2020.md @@ -42,7 +42,7 @@ First, we’d like to make a shout out to the [rust-analyzer] and [IntelliJ Rust In addition to improvements in the IDE experience, the number of users who are relying on a nightly compiler at least part of the time continues to drop - down to 28% compared with last year’s 30.5% with only 8.7% of respondents saying they use nightly exclusively. When asked why people are using nightly the largest reason was to use the Rocket web framework which has announced [it will work on the stable version of Rust in its next release][rocket-announcement]. The next largest reason for nightly was const generics, but with [a minimal version of const generics reaching stable][min-const-generics], we should see less of a reliance on nightly for this feature. -![Which versions of Rust do you use?](/images/2020-12-rust-survey-2020/rust-versions.svg) +![Which versions of Rust do you use?](../../../images/2020-12-rust-survey-2020/rust-versions.svg) It’s worth noting that a decent percentage of users who use nightly do so out of habit because “nightly is stable enough”. When asked what broke people’s code most often, by far the largest answer was the introduction of new warnings to a code base where warnings break the build (which is not part of Rust’s stability guarantee though Rust is designed so that adding new warnings never breaks your dependencies). Since we rely on nightly testing to catch regressions, this is a very good sign: nightly is stable enough to be useful while still allowing for continual changes. A shout-out to the Rust infrastructure, compiler, and libs teams for doing such a good job of ensuring that what lands in the nightly compiler is already fairly stable! @@ -50,13 +50,13 @@ It’s worth noting that a decent percentage of users who use nightly do so out Rust continues to make inroads as a language used for production with roughly 40% of respondents that work in software noting that they use Rust at their day job. Additionally, the future of Rust on the job is bright with nearly half of those who knew saying that their employer planned to hire Rust developers in the next year. -![Do you use Rust at work?](/images/2020-12-rust-survey-2020/rust-at-work.svg) +![Do you use Rust at work?](../../../images/2020-12-rust-survey-2020/rust-at-work.svg) The seemingly largest change in those using Rust seems to be students with a much larger percentage (~15% vs ~11% last year) of the respondents answering that they don’t use Rust at work because they’re students or software hobbyists and therefore don’t have a job in software. Additionally, the use of Rust at respondents' workplaces seems to be getting bigger with 44% of respondents saying that the amount of Rust at work was 10,000 lines of code or more compared to 34% last year. -![Size of Rust code bases at work](/images/2020-12-rust-survey-2020/project-size.svg) +![Size of Rust code bases at work](../../../images/2020-12-rust-survey-2020/project-size.svg) ## Improving Rust @@ -66,7 +66,7 @@ While Rust usage seems to be growing at a healthy pace, the results of the surve Interestingly, C++ was the most requested language for better interop with Rust, with C and Python in second and third place. Improved C++ interop was especially often mentioned as a way to improve Rust usage specifically at work. In fact, for users who work on large codebases (100,000 lines of code or larger), C++ interop and — unsurprisingly — compile times were the most cited ways to improve their Rust experience. -![If you want better language interop, with which language?](/images/2020-12-rust-survey-2020/language-interop.svg) +![If you want better language interop, with which language?](../../../images/2020-12-rust-survey-2020/language-interop.svg) ### Improved Learnability @@ -74,17 +74,17 @@ When asked how to improve adoption of Rust, many cited making Rust easier to lea When we asked respondents to rate their expertise in Rust, there was a clear peak at 7 out of 10. It’s hard to say how this compares across languages but it seems notable that relatively few are willing to claim full expertise. However, when compared with last year, the Rust community does seem to be gaining expertise in the language. -![How would you rate your expertise in Rust?](/images/2020-12-rust-survey-2020/rust-expertise-overall.svg) +![How would you rate your expertise in Rust?](../../../images/2020-12-rust-survey-2020/rust-expertise-overall.svg) We also asked about the difficulty of specific topics. The most difficult topic to learn according to survey results is somewhat unsurprisingly lifetime management with 61.4% of respondents saying that the use of lifetimes is either tricky or very difficult. -![Percent of respondents rating each topic as tricky or very difficult.](/images/2020-12-rust-survey-2020/topic-difficulty-ratings.svg) +![Percent of respondents rating each topic as tricky or very difficult.](../../../images/2020-12-rust-survey-2020/topic-difficulty-ratings.svg) It does seem that having C++ knowledge helps with 20.2% of respondents with at least some C++ experience noting lifetimes to be “very difficult” while 22.2% of those without C++ knowledge found the topic to be “very difficult”. Overall, systems programming knowledge (defined as at least some experience in C and C++), tends to make for more confident Rust users: those with systems programming experience rated themselves as 5.5 out of 10 on their Rust expertise, while those with experience in statically typed garbage collected languages like Java or C# rated themselves as 4.9 out of 10. Those with only experience in dynamically typed languages like Ruby or JavaScript rated themselves as 4.8 out of 10. Unsurprisingly, the more often people use Rust, the more they feel they are experts in the language with 56.3% of those who use Rust daily ranking themselves as 7 or more out of 10 on how much of an expert they are on Rust compared with 22% of those who use Rust monthly. -![How would you rate your expertise in Rust? (Daily Rust users)](/images/2020-12-rust-survey-2020/rust-expertise-daily.svg) +![How would you rate your expertise in Rust? (Daily Rust users)](../../../images/2020-12-rust-survey-2020/rust-expertise-daily.svg) ### Compile Times diff --git a/posts/2021-05-10-Rust-1.52.1.md b/posts/2021-05-10-Rust-1.52.1.md index e6568bf4b..5298d6c22 100644 --- a/posts/2021-05-10-Rust-1.52.1.md +++ b/posts/2021-05-10-Rust-1.52.1.md @@ -121,7 +121,7 @@ done under the assumption that the new verification would ship in 1.53, not It turns out `verify-ich` was turned on in version 1.52.0, which was [released recently][]. -[released recently]: /2021/05/06/Rust-1.52.0.html +[released recently]: ../../../2021/05/06/Rust-1.52.0.html Today's new release, 1.52.1, works around the breakage caused by the newly added verification by temporarily changing the defaults in the Rust compiler to disable diff --git a/posts/2021-06-17-Rust-1.53.0.md b/posts/2021-06-17-Rust-1.53.0.md index 0b6c46599..b198a9a1c 100644 --- a/posts/2021-06-17-Rust-1.53.0.md +++ b/posts/2021-06-17-Rust-1.53.0.md @@ -118,7 +118,7 @@ from a repository where the default branch is called `main`. ### Incremental Compilation remains off by default -As previously discussed on the [blog post for version 1.52.1](/2021/05/10/Rust-1.52.1.html), incremental compilation has been turned off by default on the stable Rust release channel. The feature remains available on the beta and nightly release channels. For the 1.53.0 stable release, the method for reenabling incremental is unchanged from 1.52.1. +As previously discussed on the [blog post for version 1.52.1](../../../2021/05/10/Rust-1.52.1.html), incremental compilation has been turned off by default on the stable Rust release channel. The feature remains available on the beta and nightly release channels. For the 1.53.0 stable release, the method for reenabling incremental is unchanged from 1.52.1. ### Stabilized APIs diff --git a/posts/2021-08-03-GATs-stabilization-push.md b/posts/2021-08-03-GATs-stabilization-push.md index 142130c6e..c640af4db 100644 --- a/posts/2021-08-03-GATs-stabilization-push.md +++ b/posts/2021-08-03-GATs-stabilization-push.md @@ -10,7 +10,7 @@ team: the Traits Working Group