Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"oxidize" in the make process is confusing people. #13781

Closed
chris-morgan opened this issue Apr 26, 2014 · 21 comments
Closed

"oxidize" in the make process is confusing people. #13781

chris-morgan opened this issue Apr 26, 2014 · 21 comments
Labels
E-easy Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.

Comments

@chris-morgan
Copy link
Member

Quite some time back, we changed "compile_and_link" to "oxidize" (#12126).

I’ve given up counting the number of people that have been confused by it and wasted time trying to find out what it means.

It was a bit of fun that is, unfortunately, actively making things harder for people.

Can we please change it back to "compile_and_link"?

@liigo
Copy link
Contributor

liigo commented Apr 26, 2014

I like oxidize, don't want it to be changed. For developers who compile
rust itself, it's easy to understand what oxidize means. Even if he cannot
understand, it doesn't matter.
2014年4月26日 下午10:43于 "Chris Morgan" notifications@github.com写道:

Quite some time back, we changed "compile_and_link" to "oxidize".

I’ve given up counting the number of people that have been confused by it
and wasted time trying to find out what it means.

It was a bit of fun that is, unfortunately, actively making things harder
for people.

Can we please change it back to "compile_and_link"?


Reply to this email directly or view it on GitHubhttps://github.com//issues/13781
.

@lifthrasiir
Copy link
Contributor

If that is a big concern, how about simply using "build"? Rustc does not have a traditional notion of separate compilation and link phases anyway (even though it technically does), so the generic term would be more sufficient.

@Thiez
Copy link
Contributor

Thiez commented Apr 26, 2014

It confused me for some time. The change happened just before I tried building a crosscompiler for ARM for the first time, so I thought it was connected to that. Then it also said 'oxidize' when building normally. Much confusion, until I found the issue that changed compile_and_link to an incomprehensible in-joke.

Oxidize is cute but needlessly confusing.

@flaper87
Copy link
Contributor

I agree oxidize is confusing but I wouldn't mind keeping it. If we decide to keep it, we could document it somewhere - if it isn't already. @brson @alexcrichton thoughts?

@alexcrichton
Copy link
Member

If the one thing you don't understand about rust is what "oxidize" means, then I think you're doing quite well! Otherwise, there's probably more pressing issues to attend to...

@JustAPerson
Copy link
Contributor

If the one thing you don't understand about rust is what "oxidize" means, then I think you're doing quite well! Otherwise, there's probably more pressing issues to attend to...

It would be easy enough to change once a simple decision is reached.

$ git grep "oxidize"
mk/target.mk:   @$$(call E, oxidize: $$(@D)/lib$(4))
mk/target.mk:   @$$(call E, oxidize: $$@)
mk/tests.mk:    @$$(call E, oxidize: $$@)

Trying to contribute to rust, I found this somewhat confusing at first. Eventually I inferred that it simply meant that it was building each crate. I think changing oxidize to rustc would be more clear.

@nrc
Copy link
Member

nrc commented Apr 26, 2014

We should document it better (and make sure it is Google-able), but I think we should leave it - I think we should be confident about introducing little Rust-isms like this (as long as they don't hinder learning). They give the language its own feel and give a nice feeling of knowing your way around once you learn them

@nnethercote
Copy link
Contributor

Do you really want to have to explain this to every single new user? Cute names get tiresome quickly.

@kmag
Copy link

kmag commented Apr 26, 2014

For what it's worth, I originally thought that perhaps oxidize was a documentation extraction phase, similar to doxygen. If you get odd questions about documentation extraction, others may have similar misconceptions.

Also, Rust is the programming language, and going from "Rust code" to "bare metal machine code" would be a reduction reaction, not an oxidation reaction.

@rossmurray
Copy link

"compile_and_link" and "build" are more clear than "oxidize," and the change would be easy to make. What are the advantages to keeping oxidize? Are there any?

@huonw
Copy link
Member

huonw commented Apr 27, 2014

It's cute, "Rusty" and gives us character. BTW, I believe this is just a makefile thing, anyone using a binary installer or a package doesn't see it, only those building from source.

Also, Rust is the programming language, and going from "Rust code" to "bare metal machine code" would be a reduction reaction, not an oxidation reaction.

I think this is the real kicker: we wouldn't want to be wildly chemically inaccurate. :P

@ehsanul
Copy link
Contributor

ehsanul commented Apr 27, 2014

@nick29581 But part of the issue with cute things like this is that it makes things totally ungoogleable for newbies as well - the oxidization of Fe into Fe2O3 is all you'll find. Rust is already slightly painful for googling, why make it more so?

@liigo
Copy link
Contributor

liigo commented Apr 27, 2014

New users are not required to compile rust from source, there's pre-build
binary.

2014年4月27日 上午6:52于 "nnethercote" notifications@github.com写道:

Do you really want to have to explain this to every single new user? Cute
names get tiresome quickly.

—WY > Reply to this email directly or view it on GitHub.

@Thiez
Copy link
Contributor

Thiez commented Apr 27, 2014

@huonw Well I guess it's okay if it's "only those" who have an interest in contributing to Rust that are confused. After all, nobody likes those people anyway ;)

@richardrasu
Copy link

I wondered what 'oxidize' meant for a while during my first compilation until - call me slow - I remembered the name of the language was Rust.. then the penny dropped.

I do think it is non-obvious though. Cute, but non-obvious. And noobs googling I think would continue to find problems in finding results. Just my ha'penny..

@brson
Copy link
Contributor

brson commented Apr 30, 2014

This was my addition and I think we should change it. I do like sprinkling this kind of whimsical "character" throughout the product, but it's not at all worth the confusion it's caused. "build" or "compile" is fine.

@richo
Copy link
Contributor

richo commented Apr 30, 2014

FWIW, I built a rust before I actually wrote any rust code.

When I /had/ some rust that I wanted to build, I tried oxidize as a command, expecting to get a rust compiler. I persisted, but it wasn't exactly a pleasant way to find my way around the ecosystem.

@brson
Copy link
Contributor

brson commented Apr 30, 2014

One thing that i do kind of want is to distinguish Rust compilation from other compilation steps. "compile_and_link" served that purpose at the expense of being kind of silly since we know that building Rust crates involves linking.

@nrc
Copy link
Member

nrc commented Apr 30, 2014

On a slight tangent, it would be really good to show the whole command line when we build rather than just the target. Makes it much easier to debug (just copy and paste, rather than think) and makes it explicit what phase compiler is used for what.

@nrc
Copy link
Member

nrc commented Apr 30, 2014

Sorry, didn't mean to post that twice.

Anyway, I discovered -n so you can ignore the above comment.

@brson
Copy link
Contributor

brson commented May 21, 2014

@nick29581 VERBOSE=1 also shows commands.

@brson brson closed this as completed in 7c8c544 May 21, 2014
flip1995 pushed a commit to flip1995/rust that referenced this issue Jan 9, 2025
close rust-lang#13781

The `slow_vector_initialization` lint currently only suggests using the
`vec!` macro with size, but it does not suggest removing the `resize`
method call.

changelog: [`slow_vector_initialization`]: improve
`slow_vector_initialization` suggestion
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E-easy Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue.
Projects
None yet
Development

No branches or pull requests