3 ms·
It's interesting that inline assembly is your first bullet point, since there's nothing I can think of that ruins a code file more than inline assembly in a hos
by jsmthrowaway 12y ago
It's interesting that inline assembly is your first bullet point, since there's nothing I can think of that ruins a code file more than inline assembly in a host language. Put that crap in a .S file and link it in like everything else, for crying out loud. The one time you need inline assembly is when you don't want to build a function frame, such as a tight loop, but come on.
Also, even in systems, I can think of about once a decade I even need to write assembly, so... maybe grasping at straws a bit?
- pcwalton 12y agoI wouldn't lead with inline assembler as the selling point of Rust. The main selling point of Rust is memory safety without garbage collection; it still is the only industry language that allows this (as reference counting is a form of GC). That said, I think inline assembler is an important feature: > It's interesting that inline assembly is your first bullet point, since there's nothing I can think of that ruins a code file more than inline assembly in a host language. Put that crap in a .S file and link it in like everything else, for crying out loud. That's too slow. You need to give the optimizer more information than that, and the overhead of the procedure call can be significant. > The one time you need inline assembly is when you don't want to build a function frame, such as a tight loop, but come on. But that's a very important use case. > Also, even in systems, I can think of about once a decade I even need to write assembly, so... maybe grasping at straws a bit? It's all over the place in the Linux kernel.
- jsmthrowaway 12y ago> But that's a very important use case. For Rust. I didn't make the comparison to Rust, I merely was intrigued by the choice of features and in which order to defend the comparison made by someone else. I see Rust and Swift as targeting entirely different things, at least at first (which means that Swift can certainly evolve inline assembly if it is so needed), and any comparison at this stage is pointless. > It's all over the place in the Linux kernel. Cool, that's one piece of software. I'll save you the next few: drivers and a couple files in a game engine. You're disputing my point how, exactly?
- deleted 12y ago[deleted]
- haberman 12y ago> The one time you need inline assembly is when you don't want to build a function frame, such as a tight loop, but come on. This is hilarious. Like anyone would ever use inline assembly in a tight loop.
- kibwen 12y agoI'm confused that you seem to think that my bullet points are ordered from most to least important. It seems like quite a strange thing to attack! I'm sorry to disappoint you, but I do not run these comments by a team of editors first. :) That said, judging by your other comments, you seem to be of the impression that the Rust team has some sort of vendetta against Go, and have concocted a vendetta in kind. Again, I must sadly disappoint you, but I strive to encourage a culture of respect in all the forums that I visit (and moderate).
- jsmthrowaway 12y agoIf you find my comments disrespectful and think I'm implying you have a vendetta, you skimmed them and are disrespecting me by putting words in my mouth. I've simply noticed a trend of most commentary from Rust contributors taking the underdog position and participating in picking apart other (ostensibly) competing languages, and I think you guys should stop doing that. The last sentence of the comment to which you hint is my thesis. There is no subtext. It's easy to perceive negative opinions as attacks and create an adversary from the person writing the opinion, but it's also a little bit disingenuous. It also, conveniently, creates a platform upon which nobody can disagree with you lest they be hostile and aggressive. You can then exit on the "high ground," as you've done here. I meant no ill will. Best of luck, I guess.