This is the
talk page for discussing improvements to the
Rust (programming language) article. This is not a forum for general discussion of the article's subject. |
Article policies
|
Find sources: Google ( books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL |
Rust (programming language) has been listed as one of the Engineering and technology good articles under the good article criteria. If you can improve it further, please do so. If it no longer meets these criteria, you can reassess it. | ||||||||||||||||||||||
|
This article is rated GA-class on Wikipedia's
content assessment scale. It is of interest to multiple WikiProjects. | |||||||||||||||||||||||||||||||||||||||||||||
|
Daily pageviews of this article
A graph should have been displayed here but
graphs are temporarily disabled. Until they are enabled again, visit the interactive graph at
pageviews.wmcloud.org |
|
|||
This page has archives. Sections older than 365 days may be automatically archived by Lowercase sigmabot III when more than 4 sections are present. |
@ War: @ Ovinus: About the OO allusions (and there was also a statement about this in the GA review), I disagree that Rust is not OO. Rust is multi-paradigm and can be used for OO. See e.g. here. For that reason, I don't think we should emove mentions of objects, object system, etc. Is there something else we can do to clarify this better for readers? Caleb Stanford ( talk) 13:42, 16 July 2022 (UTC)
Thanks to everyone, especially deadbeef, for all the article improvement! Some ideas for further improvement (sorry that I missed the peer review!) that I'd like to get others' thoughts on, because frankly I only have cursory knowledge of Rust:
a+b
where a,b are integers panics on overflow without optimization, and is ignored otherwise, and also the existence of wrapping_add and friends. I think that's a good example of an easily sourcable difference between Rust and C.[3] [4] [5] [6] [7] 0x Deadbeef→∞ ( talk to me) 05:49, 7 May 2023 (UTC)
Rust, like C and C++ might have structured syntax, but that is different to being a high-level language. These are low-level system languages and should not be used for general application programming, or even higher-level OS programming. That results in poor separation of concerns — something C is very bad at. Ian.joyner ( talk) 19:56, 13 May 2023 (UTC)
I am disappointed at the lack of even a mention of the trans community since Rust is the most popular language in the trans community. I honestly feel like that's prejudicial. Vedisassanti ( talk) 08:48, 16 May 2023 (UTC)
Here are the PR comments that were not addressed. Feel free to pick them up or tick them off if no longer applicable/already fixed. 0x Deadbeef→∞ ( talk to me) 11:59, 7 July 2023 (UTC)
if
, while
, and for
statements; while their meaning is self-evident to anyone that has imperative programming experience, we can't assume the reader does.match
statement explaining that the underscore matches any value.
if
statement/expression, which in turn resolves to the last expression in whichever branch is triggered at runtime, but this two-step process may not be evident to the casual reader. I suggest splitting it into two examples, one showing a simple return like fn double(x: u64) -> u64 { 2 * x }
and another demonstrating that if
statements can be used as expressions.Option
values must be handled using syntactic sugar" – "Syntactic sugar" isn't the right term as constructs like match
and if let
aren't syntactic sugar but rather core parts of the language, but anyway this statement isn't true. I can call .unwrap()
on an Option
and it will blow up if it is None
. You should make it clearer here that while you can still crash your program in Rust by trying to access a null value, unlike in C or C++ this is handled by safely panicking instead of undefined behavior, segfaulting, or worse.let
in "Types and polymorphism" feels misplaced. Ditto the paragraph about type
aliases.rustup
?
#![no_std]
..." – Explain the difference between the three standard library crates and why no_std
would be desirable.
unsafe
to write faster code.exa
as that article seems likely to not meet Wikipedia's notability guidelines.
More substantive comments:
struct
and enum
is left to "Features"?Ex-programmer here (C, Smalltalk, Objective-C, Perl, etc) now working in another field. I really appreciated this article and learned a lot about rust from reading it carefully. I may choose to learn the language later. I wanted to point out that there were three spots I had to pause where some edits might be helpful to future readers:
Once again, appreciate the article. And as I don't know rust, I will leave it to others to consider changes. -- cmh T C 13:17, 22 July 2023 (UTC)
https://www.infoq.com/news/2019/03/rust-npm-performance/ 0x Deadbeef→∞ ( talk to me) 13:54, 19 November 2023 (UTC)
I agree with removing the Rust conferences section ( WP:NOTDIR)), but I think RustConf alone deserves mention in the community section as the most widely known community gathering. A bit hard to find secondary sources, I have 1 2 or we could use YouTube sources like 3. Might also be worth asking if we want to mention any of the recent RustFoundation related controversies, which got plenty of coverage. Caleb Stanford ( talk) 22:06, 29 November 2023 (UTC)
an AI enthusiast, and the description of crablang (an unofficial, unmaintained fork) makes me think that it leans toward the unreliable side. 0x Deadbeef→∞ ( talk to me) 23:58, 29 November 2023 (UTC)
Currently, the closure section throws a parser-specific syntax at the user (and is the only section to that making it somewhat jarring), is there any way we can remove it from the article ? (It seems to be a transclusion of a part of a different article that makes liberal use of the parser syntax, which seems fine). Sohom ( talk) 00:42, 11 December 2023 (UTC)
@ Wootery: I'm not sure I understand your recent edit -- the lead stated "without requiring the use of automated memory management techniques", so how are you reading this to imply Rust is hands off? It seems to be stating that Rust is hands on. Perhaps I don't know what you mean by "hands off". Thanks, Caleb Stanford ( talk) 19:31, 25 January 2024 (UTC)
Alright, after working on the article for some time I am optimistic that we would be able to push this to FA, making it the first ever featured article on a programming language. (which would make it featured eventually on the top left of Wikipedia's main page!!) Before we submit it to WP:FAC, here are some things to prepare:
To people watching this page: Please consider helping out! I'm a bit busy, but if more people contribute it will nudge me to contribute more as well. 0x Deadbeef→∞ ( talk to me) 13:40, 7 February 2024 (UTC)
Squizzler ( talk · contribs) made some improvements to the OS adoption section (adding r9 and Fuschia) and also removed the following content. I don't mind using the more abridged text as the article is quite long, but posting here in case there are other opinions.
For Linux:
Support for Rust (along with support for C and Assembly language) was officially added in version 6.1. [1]
And for Windows:
As of 2023 [update], DWriteCore, a system library for text layout and glyph render, has about 152,000 lines of Rust code and about 96,000 lines of C++ code, and saw a performance increase of 5 to 15 percent in some cases. [2]
Thanks! Caleb Stanford ( talk) 16:01, 10 March 2024 (UTC)
References
@ BOBROBMEBOYO: I reverted your edit because it's uncited and felt too brief. I think it's worth mentioning somewhere though. It should be made clear it's about the trademark policy and not Rust's source code license. I feel it should also touch on later events, like the foundation soliciting feedback and updating the policy, and it should include some dates. It might also make sense to put it under the Rust Foundation section. Maybe other editors can chime in. JamenMarz ( talk) 06:23, 26 March 2024 (UTC)
Comparable to the article Comparison of Pascal and C which could be used as an example. I know there is this comparison article for almost every language, but this all languages article is not the same as it only consists of tables and not actual code comparisons like the Pascal vs. C article. 84.140.194.104 ( talk) 21:47, 5 April 2024 (UTC)
@ LOLHWAT: I'm not getting what you mean by "intro section seems written by a rust contributor to an outside person". As per MOS:LEAD, the lead paragraph of an article provides an overview of the subject, and in this case it provides an overview of the language while highlighting the most significant features (enforcement of memory safety through lifetimes, rapid adoption, etc).
What part of that is non-neutral, in your opinion? 0x Deadbeef→∞ ( talk to me) 12:17, 23 April 2024 (UTC)
This is the
talk page for discussing improvements to the
Rust (programming language) article. This is not a forum for general discussion of the article's subject. |
Article policies
|
Find sources: Google ( books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL |
Rust (programming language) has been listed as one of the Engineering and technology good articles under the good article criteria. If you can improve it further, please do so. If it no longer meets these criteria, you can reassess it. | ||||||||||||||||||||||
|
This article is rated GA-class on Wikipedia's
content assessment scale. It is of interest to multiple WikiProjects. | |||||||||||||||||||||||||||||||||||||||||||||
|
Daily pageviews of this article
A graph should have been displayed here but
graphs are temporarily disabled. Until they are enabled again, visit the interactive graph at
pageviews.wmcloud.org |
|
|||
This page has archives. Sections older than 365 days may be automatically archived by Lowercase sigmabot III when more than 4 sections are present. |
@ War: @ Ovinus: About the OO allusions (and there was also a statement about this in the GA review), I disagree that Rust is not OO. Rust is multi-paradigm and can be used for OO. See e.g. here. For that reason, I don't think we should emove mentions of objects, object system, etc. Is there something else we can do to clarify this better for readers? Caleb Stanford ( talk) 13:42, 16 July 2022 (UTC)
Thanks to everyone, especially deadbeef, for all the article improvement! Some ideas for further improvement (sorry that I missed the peer review!) that I'd like to get others' thoughts on, because frankly I only have cursory knowledge of Rust:
a+b
where a,b are integers panics on overflow without optimization, and is ignored otherwise, and also the existence of wrapping_add and friends. I think that's a good example of an easily sourcable difference between Rust and C.[3] [4] [5] [6] [7] 0x Deadbeef→∞ ( talk to me) 05:49, 7 May 2023 (UTC)
Rust, like C and C++ might have structured syntax, but that is different to being a high-level language. These are low-level system languages and should not be used for general application programming, or even higher-level OS programming. That results in poor separation of concerns — something C is very bad at. Ian.joyner ( talk) 19:56, 13 May 2023 (UTC)
I am disappointed at the lack of even a mention of the trans community since Rust is the most popular language in the trans community. I honestly feel like that's prejudicial. Vedisassanti ( talk) 08:48, 16 May 2023 (UTC)
Here are the PR comments that were not addressed. Feel free to pick them up or tick them off if no longer applicable/already fixed. 0x Deadbeef→∞ ( talk to me) 11:59, 7 July 2023 (UTC)
if
, while
, and for
statements; while their meaning is self-evident to anyone that has imperative programming experience, we can't assume the reader does.match
statement explaining that the underscore matches any value.
if
statement/expression, which in turn resolves to the last expression in whichever branch is triggered at runtime, but this two-step process may not be evident to the casual reader. I suggest splitting it into two examples, one showing a simple return like fn double(x: u64) -> u64 { 2 * x }
and another demonstrating that if
statements can be used as expressions.Option
values must be handled using syntactic sugar" – "Syntactic sugar" isn't the right term as constructs like match
and if let
aren't syntactic sugar but rather core parts of the language, but anyway this statement isn't true. I can call .unwrap()
on an Option
and it will blow up if it is None
. You should make it clearer here that while you can still crash your program in Rust by trying to access a null value, unlike in C or C++ this is handled by safely panicking instead of undefined behavior, segfaulting, or worse.let
in "Types and polymorphism" feels misplaced. Ditto the paragraph about type
aliases.rustup
?
#![no_std]
..." – Explain the difference between the three standard library crates and why no_std
would be desirable.
unsafe
to write faster code.exa
as that article seems likely to not meet Wikipedia's notability guidelines.
More substantive comments:
struct
and enum
is left to "Features"?Ex-programmer here (C, Smalltalk, Objective-C, Perl, etc) now working in another field. I really appreciated this article and learned a lot about rust from reading it carefully. I may choose to learn the language later. I wanted to point out that there were three spots I had to pause where some edits might be helpful to future readers:
Once again, appreciate the article. And as I don't know rust, I will leave it to others to consider changes. -- cmh T C 13:17, 22 July 2023 (UTC)
https://www.infoq.com/news/2019/03/rust-npm-performance/ 0x Deadbeef→∞ ( talk to me) 13:54, 19 November 2023 (UTC)
I agree with removing the Rust conferences section ( WP:NOTDIR)), but I think RustConf alone deserves mention in the community section as the most widely known community gathering. A bit hard to find secondary sources, I have 1 2 or we could use YouTube sources like 3. Might also be worth asking if we want to mention any of the recent RustFoundation related controversies, which got plenty of coverage. Caleb Stanford ( talk) 22:06, 29 November 2023 (UTC)
an AI enthusiast, and the description of crablang (an unofficial, unmaintained fork) makes me think that it leans toward the unreliable side. 0x Deadbeef→∞ ( talk to me) 23:58, 29 November 2023 (UTC)
Currently, the closure section throws a parser-specific syntax at the user (and is the only section to that making it somewhat jarring), is there any way we can remove it from the article ? (It seems to be a transclusion of a part of a different article that makes liberal use of the parser syntax, which seems fine). Sohom ( talk) 00:42, 11 December 2023 (UTC)
@ Wootery: I'm not sure I understand your recent edit -- the lead stated "without requiring the use of automated memory management techniques", so how are you reading this to imply Rust is hands off? It seems to be stating that Rust is hands on. Perhaps I don't know what you mean by "hands off". Thanks, Caleb Stanford ( talk) 19:31, 25 January 2024 (UTC)
Alright, after working on the article for some time I am optimistic that we would be able to push this to FA, making it the first ever featured article on a programming language. (which would make it featured eventually on the top left of Wikipedia's main page!!) Before we submit it to WP:FAC, here are some things to prepare:
To people watching this page: Please consider helping out! I'm a bit busy, but if more people contribute it will nudge me to contribute more as well. 0x Deadbeef→∞ ( talk to me) 13:40, 7 February 2024 (UTC)
Squizzler ( talk · contribs) made some improvements to the OS adoption section (adding r9 and Fuschia) and also removed the following content. I don't mind using the more abridged text as the article is quite long, but posting here in case there are other opinions.
For Linux:
Support for Rust (along with support for C and Assembly language) was officially added in version 6.1. [1]
And for Windows:
As of 2023 [update], DWriteCore, a system library for text layout and glyph render, has about 152,000 lines of Rust code and about 96,000 lines of C++ code, and saw a performance increase of 5 to 15 percent in some cases. [2]
Thanks! Caleb Stanford ( talk) 16:01, 10 March 2024 (UTC)
References
@ BOBROBMEBOYO: I reverted your edit because it's uncited and felt too brief. I think it's worth mentioning somewhere though. It should be made clear it's about the trademark policy and not Rust's source code license. I feel it should also touch on later events, like the foundation soliciting feedback and updating the policy, and it should include some dates. It might also make sense to put it under the Rust Foundation section. Maybe other editors can chime in. JamenMarz ( talk) 06:23, 26 March 2024 (UTC)
Comparable to the article Comparison of Pascal and C which could be used as an example. I know there is this comparison article for almost every language, but this all languages article is not the same as it only consists of tables and not actual code comparisons like the Pascal vs. C article. 84.140.194.104 ( talk) 21:47, 5 April 2024 (UTC)
@ LOLHWAT: I'm not getting what you mean by "intro section seems written by a rust contributor to an outside person". As per MOS:LEAD, the lead paragraph of an article provides an overview of the subject, and in this case it provides an overview of the language while highlighting the most significant features (enforcement of memory safety through lifetimes, rapid adoption, etc).
What part of that is non-neutral, in your opinion? 0x Deadbeef→∞ ( talk to me) 12:17, 23 April 2024 (UTC)