Live data from Hacker News

Apple is looking for engineers to convert its code from C to Rust

jobs.apple.com

171–180 of 240 posts

Re: Apple is looking for engineers to convert its code from C to Rust

#171
post #98

Earlier quoted context omitted.

people who are very good at C or C++ will be able to learn Rust pretty quickly yes. People who LIKE C probably won't like Rust though. Its more like C++.

For what it's worth, I used to be big on C, and grew to very dislike C++ (because it's simple insane). Rust is my language of choice for years now. IMO, Rust shares the same inner-simplicity that C has, but combined with ability to build and use bulletproof higher-level abstractions. The same way I roughly knew what machine instructions (roughly) my C code produces, I know what machine instructions my Rust code produ…

Rust definitely does not share the simplicity of C.

It is the equivalent of C++, not C. You can write code which you cannot guess the machine code, as soon as you use any of the abstractions, just like C++.

Re: Apple is looking for engineers to convert its code from C to Rust

#172

doesn't Apple prevent engineers from having related engineering hobbies when they sign the contract ?

Apple makes you sign the same contract that e.g. google makes you sign, which says basically "I sign away all rights to anything I create to the maximum extent legally permissible under California law" (You can look up what those exceptions). For companies like Apple, this basically means they own everything you might do, since their "area of business" in essentially limitless.

However, once I signed away my rights, the experience at Google and Apple was quite different. At Apple, I waited months, with multiple follow up pings, to get approval from a lawyer for a one line trivial patch for an OSS project. I had to give an argument that my contribution provided a direct business benefit to Apple, and generating goodwill in the community was explicitly listed as a reason that is not valid. I couldn't contribute to any Google run OSS projects either (some issue with the CLA, not sure of the blame, TBH).

In contrast, at Google you are encouraged to contribute, don't need any approval for normal OSS projects, and I have easily gotten approval to release two personal projects.

Re: Apple is looking for engineers to convert its code from C to Rust

#173
post #2

Seems like a tough role to fill.

For Apple or for employees you mean? I would imagine that many people are going to apply. I would have loved to write Rust at Apple, if I ever got the chance to. And Canada is on my list of countries I would like to live in already anyway.

Not everyone who applies is qualified.

Re: Apple is looking for engineers to convert its code from C to Rust

#174
post #127

Earlier quoted context omitted.

The vast majority of Apple’s data centre systems run on Linux.

Swift compiles and runs on Linux.

It’s only supported on Ubuntu, not Linux in general, and it still lacks. The corporate backing is missing, and IBM going away from the Server-side Swift deal doesn’t spread confidence. The whole ecosystem just isn’t there (yet?).

This rewrite isn’t only related to the current situation on Linux, but also to Swift’s current performance characteristics. Lack of full Linux support is just another hindrance, before you can consider Swift for this type of work at all.

Re: Apple is looking for engineers to convert its code from C to Rust

#175
post #164

Earlier quoted context omitted.

> Not Rust level capabilities And you answered your own question. If you aim for performance, "pretty good" doesn't cut it.

Sad but true, performance is possible in swift but it’s not very idiomatic and usually not safe. Rust still looks like Rust and it’s still safe when you have performant code.

> Sad but true, performance is possible in swift but it’s not very idiomatic and usually not safe.

There's nothing sad about it. You pick the right tool for the job. Swift is not designed to be a reference tool in performance-sensitive applications, thus you pick the tools that are.

There is no need to shoe-horn the wrong tool just because it's popular of fancy. A tool is just a way for technicians to express their skills, and just because someone is skilled at developing front-ends that doesn't mean he is a competent at developing performant systems-level application. Specialization matters, not only in tools.

Re: Apple is looking for engineers to convert its code from C to Rust

#177
post #127

Earlier quoted context omitted.

The vast majority of Apple’s data centre systems run on Linux.

Swift compiles and runs on Linux.

Being useful and performant and effective, especially for a use case as critical and sensitive as security software, requires clearing a much higher bar than just 'compiles and runs'.

Re: Apple is looking for engineers to convert its code from C to Rust

#179

Why wouldn't they use Swift? Seems odd.

Why is this downvoted? It's a valid question. Chris Lattner, the creator of Swift, has stated many times his goal of Swift being the best language for all uses.

Either you misquote him or he has no idea what he is talking about. Maybe in a walled garden as Apple's it could come pretty close in many instances but One Language To Rule Them All is naive at best.

Re: Apple is looking for engineers to convert its code from C to Rust

#180
post #164

Earlier quoted context omitted.

Sad but true, performance is possible in swift but it’s not very idiomatic and usually not safe. Rust still looks like Rust and it’s still safe when you have performant code.

> Sad but true, performance is possible in swift but it’s not very idiomatic and usually not safe. There's nothing sad about it. You pick the right tool for the job. Swift is not designed to be a reference tool in performance-sensitive applications, thus you pick the tools that are. There is no need to shoe-horn the wrong tool just because it's popular of fancy. A tool is just a way for technicians to express their s…

> There's nothing sad about it.

Why? It's a drop-in replacement for Objective-C that allowed you to dip into C and C++ code in the same code file, even in one function.

Now Swift is faster for most higher level scenarios a front-end developer deals with but it's slower than the C performance Objective-C allowed.

Post reply on HN