Hacker News new | past | comments | ask | show | jobs | submit login

They wrote it the first time, didn't they? C isn't special, and training isn't special.



macOS runs the Darwin kernel (developed at NeXT using the Mach kernel, then at Apple). NeXTSTEP was based on a BSD UNIX fork. Development of BSD at Berkeley started in 1977. NeXT worked on their kernel and the BSD UNIX fork in the '80s and '90s before being purchased by Apple. NeXTSTEP formed the base of Mac OSX (which is why much of the Objective-C base libraries start with `NS-something`. There is 45 years worth of development on UNIX, and Linux is a completely different kernel with a completely different license. Linux kernel has been in development for about 31 years.

Languages and understanding them is not special, but decades of development of two different kernels is a huge time investment. Even though Linus Torvalds wrote the basic Linux kernel in 5 months, it was very simple at first.

I doubt writing an entire POSIX-compatible replacement for a kernel would be a small or quick endeavor, and Apple has shown resistance to adopting anything with a GPL 3 license iirc. That is why they switched to ZSH from Bash.


The earlier post seemed more focused on the userland, so we should very much consider excluding the kernel before we decide the idea is too hard.


Time is pretty special. iOS alone is over a decade old and a constantly evolving target and it's itself a direct descendant of a 30+ year old system.


> a constantly evolving target

That decreases the amount of code to replace, doesn't it?


How so? New not-in-safe-languages code is being added all the time.


For code added in the future, you need devs no matter what language they use, so switching their language is the easy part of this large hard project.

For code added in the past, more evolution means that for every X lines of code written, a smaller and smaller fraction of X still exists. Which means less work to replace the end product.


It took decades.


So make the initial goal a portion. It's not like Apple is going to go away any time soon. The second best time to start is now.

And a lot of that was design work that still holds, and a lot of that was code that has been obsoleted.


As far as I'm aware, every major company in the industry is working on exactly this. I'm telling you why we don't just have an all-memory-safe iPhone right now, despite Apple's massive checking account. I'm not arguing with you that the industry shouldn't (or isn't) moving towards memory safety.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: