D now has an Ownership/Borrowing system implemented (though it is in its early stages). It will work with existing code, including DasBetterC code. You're able to incrementally adapt a program to O/B rather than rewrite it.
Thank you for responding. There's always a room for an awesome programming language. I've never used D but as a professional c++ programmer, I admire what you set out to do. (Assuming you are the creator....) Please ignore the naysayers. HN is diverse in degree and area of knowledge and some people even think electron is the only cross platform gui framework.
Apple is looking for engineers to convert its code from C to Rust
151–160 of 240 posts
Re: Apple is looking for engineers to convert its code from C to Rust
#152Why wouldn't they use Swift? Seems odd.
Why would they use Swift? It doesn't seem like the most fitting replacement for C level infrastructure.
Not Rust level capabilities, but pretty good.
Re: Apple is looking for engineers to convert its code from C to Rust
#153Earlier quoted context omitted.
Just throwing some info out there since I graduated from this exact program. We may graduate with an engineering degree, but we technically cannot use the word engineer in our title (in Canada) until we get our accreditations, which require a couple years working in Canada under a somebody else with their P.Eng license. The vast majority of us (definitely > 90% of my class) have moved to the US after graduation where…
Question for you then: Can you work under someone who's a P.Eng mechanical or civil engineer, and then get your own P.Eng license that way (as a software engineer)?
Re: Apple is looking for engineers to convert its code from C to Rust
#154Earlier quoted context omitted.
Just throwing some info out there since I graduated from this exact program. We may graduate with an engineering degree, but we technically cannot use the word engineer in our title (in Canada) until we get our accreditations, which require a couple years working in Canada under a somebody else with their P.Eng license. The vast majority of us (definitely > 90% of my class) have moved to the US after graduation where…
> we technically cannot use the word engineer in our title Just for completeness: it’s OK to use the title “B. Eng.”, which means you have a Bachelor’s in engineering, without implying anything about being a professional engineer.
Re: Apple is looking for engineers to convert its code from C to Rust
#155Why wouldn't they use Swift? Seems odd.
Swift is not yet a zero-abstraction-cost language like C or Rust which might be one of their concerns.
Re: Apple is looking for engineers to convert its code from C to Rust
#156Earlier quoted context omitted.
It said Rust and/or C though, and I imagine learning Rust is pretty easy compared to C from what I've seen.
Arguably not. Rust has a lot of things that C doesn't, like classes, lifetimes, and the borrow checker, which can be jarring to deal with for programmers used to other languages. And, unlike most other languages I've seen, you can't just sit down and write a "bad" Rust program and then refine your abilities; the compiler won't let you do the "bad" things, so you have to get everything write from the word go.
Re: Apple is looking for engineers to convert its code from C to Rust
#157Earlier quoted context omitted.
Need a degree from an accredited school in engineering + pass the engineering licensing requirements. In Ontario, where I live, that means passing an ethics exam + some years of work that is overseen by someone with a P.Eng. The challenge in software is usually the last part.
Would this mean an engineer in the US who moves to Canada would not be able to practice without getting work accreditation and a license?
In other cases, they look at your academic and work history, and may ask you to take FE and/or PE exams and/or an ethics exam and may ask you to complete specific engineering courses. It's actually possible to obtain accreditation through work experience alone (10 years IIRC).
You can even take the FE and PE exams in Canada for this purpose (and for Canadian grads that want to work in the US). Note that if you get an engineering degree in Canada, you don't have to take the FE exam or equivalent to start as an engineer in training, because the engineering schools themselves are accredited with very similar curriculum.
Personal anecdote: I have a Canadian engineering degree but I personally had no problem using work experience abroad as part of my four years experience towards my P. Eng.
Re: Apple is looking for engineers to convert its code from C to Rust
#158Earlier quoted context omitted.
Why would they use Swift? It doesn't seem like the most fitting replacement for C level infrastructure.
I don't see any obvious arguments why. It integrates very well with existing C code, a lot can be done with structs and static dispatch, there are pointers, etc. Not Rust level capabilities, but pretty good.
And you answered your own question.
If you aim for performance, "pretty good" doesn't cut it.
Re: Apple is looking for engineers to convert its code from C to Rust
#159Re: Apple is looking for engineers to convert its code from C to Rust
#160doesn't Apple prevent engineers from having related engineering hobbies when they sign the contract ?
Apple seems to have inherited Microsoft's previous institutional paranoia about open-source software: the legal dept is concerned that if an employee casually browses GitHub and is inspired by some GPLv3 code that they could rewrite themselves for use in a proprietary Apple product then the lawyers consider that Apple product now possibly tainted (as rewriting code or being "inspired" by other code still legally counts as a derivative work, even if absolutely nothing was copy and pasted).
Microsoft lost that attitude around the same time Satya became CEO - I was at Microsoft when the transition happened and it was a refreshing change of policy that really came top-down. Of course we still had annual SBC training to remind us to always verify the licenses of any third-party or open-source components we use (and GPL is generally a big no-no, of course, without special dispensation from LCA) but the idea that a product's legal status could be tainted by casual browsing went by the wayside. I think a lot of the change came from a wave of sanity at the C-level when they realised the company was not actually being actively destroyed by meritorious - and meritless - open-source copyright violation lawsuits, and the few incidents that did occur (like the Windows ISO-to-USB tool debacle) were overblown with minimal impact to the company.
But Apple's paranoia isn't just about legal matters, but also out of concern that if Apple-watchers know who works for Apple and monitor their GitHub accounts then they'd be able to see which areas of technology interest those people, which may in-turn drop-hints about what Apple is working on (e.g. if we suddenly see a bunch of Apple folks Starring and forking LiDAR libraries for private use then that hints Apple is working on a LiDAR product... which they announced this week that they are: https://www.theverge.com/2020/3/18/21185959/ipad-pro-lidar-s...
Now, as someone who believes they'd otherwise make a great contribution to Apple as a valuable SE asset (yes, I'm being self-aggrandizing) this policy of theirs is a huge deal-killer for me. Not just because I own some popular GitHub repos with GPL licenses, but because I also have popular (and profitable) side-projects that only use a few hours of my time each month - and Apple is just as paranoid about those things as open-source projects are as vectors for leaking company movements, even unintentionally.
Heh - I remember shortly after I did NEO at MSFT and filled-out the "prior inventions" paperwork for my side-projects, my team lead admonished me for wasting his time looking at my dumb Google AdWords-supported websites - though he did agree the definition of "prior invention" was too vague.
(Footnote: if you're a recruiter or hiring-manager at Apple and you're reading this, and you agree that my side activities won't be a problem, please reply to this comment - I'd love to work on WebKit or Darwin at Apple :D!)