3 ms·
Some people seem to wonder how Apple could be 10 years behind. How about this, lets look at application programming language. Apple uses objC, Microsfot incre
by mindstab 14y ago
Some people seem to wonder how Apple could be 10 years behind.
How about this, lets look at application programming language. Apple uses objC, Microsfot increasingly uses C#. What does this one metric get us?
I believe it was Paul Graham himself who 10 years ago mentioned that to scale a company you should have your top developers just develop the tools the rest use. This was also around the time Microsoft was at the height of the buffer over flow bugs.
Slowly they transitioned much of their code to the memory managed language of C# that their best developers made.
Their entire development process, developer allocation and development language changed in part in order to meet security needs.
Mean while Apple still develops everything in un memmory managed objC.
That's just one example of how long Microsoft has been transitioning the entire company to new more security focused practices.
The point is, to be really good at security, you have to be really focused on it, at all levels, in an all encompassing way. Microsoft has been transitioning to that for a long time and it's paid off. Apple hasn't even started. And that kind of massive corporate change in companies this big doesn't happen over night. And look how much public shaming it took to kick it off for Microsoft. I think we can look forward to a new golden age of Mac insecurity over the next few years before the process even kicks off.
And this is probably how Kaspersky Lab came to say that Apple is 10 years behind Microsoft on security.
- shadesandcolour 14y agoTo be fair, Mac OS X is transitioning to Automatic Reference Counting in the next version 10.8 and iOS has had ARC and Garbage Collection for a version or two now. Apple does exactly what Paul Graham said in a different way. Their top developers make the tools that everyone else uses. Just because they haven't transitioned to a different memory management scheme doesn't mean they aren't doing it. We also might want to take a statement on the security of a platform by a company that makes their money securing people's computers with a grain of salt or two
- DrJokepu 14y agoThis is nitpicking but OS X 10.7 already ships with full ARC (and it works on 10.6 too in a somewhat limited manner). However, garbage collection was never enabled on iOS.
- nirvana 14y agoUnquestionably, Apple has the top people on their development tools. It is a far superior platform for development, and this goes all the way back to the NeXT days. Further, its astounding the amount of fear mongering I've seen from security firms and windows "security experts" over the past several decades. Literally they make their money by scaring people into buying tools. I believe you need those tools if you run Windows, but you don't need them if you run Linux or OS X.
- nirvana 14y agoWhile Microsoft was just starting to develop C#, Apple already had buffer overflow detection (of some type) in Objective-C. Objective-C has long had a garbage collected version and memory management even before then was superior to most languages. The idea that C# is superior (and by the way, the OS is not written in C#) to Objective-C for security is asinine.
- m0th87 14y agoNot only that, but Microsoft tried to develop parts of their OS in C# for Longhorn and gave up. Office doesn't use C#/.NET either.
- cooldeal 14y agoWhy do your posts almost never contain any references but are almost always chockful of outlandish wild claims? Are they unsupportable?
- taligent 14y agoWhich part confuses you. He is absolutely right. The way Objective-C has been handling memory management since its inception is far better than most of the other languages around. And the decision to have deliberate mutable/immutable data structures is something ALL languages should have.
- deleted 14y ago[deleted]
- cameronh90 14y agoAre Microsoft really transitioning to C#? I think it's more of an alternative to use where appropriate, but they are still supporting and encouraging new development in C++. I actually really like C#, but most applications written in it tend to be rather slow feeling and memory hungry, particularly GUI apps. Early in the Vista dev cycle, Microsoft's intention was to write much of it in .NET until they decided it was too slow. Even the apps that Microsoft themselves have written (e.g. SCOM) are pretty poor. That's fine for enterprise software, servers and so on where you can easily throw more hardware at the problem, but I'm very thankful that of the 100-ish processes running on my laptop at the moment, most are not written in C#. Also, Microsoft have recently been stating their intention to bring back some focus to native (C++) development for Windows. Though, I feel C++ is sub-optimal as a native language, given how easy it is to shoot yourself in the foot. It doesn't have to be so dangerous to write performant native code. Why is it that D never really took off?
- throwaway64 14y agoi wonder how many of the people that mention D have ever really used it.
- lucisferre 14y agoI'd love to have a source for all this conjecture. I'm not aware of very many Microsoft products that are actually written in C#. Most of people I know from there are still working in C++ for most things.
- albertzeyer 14y agoI don't think that C# is related to any of that. After all, they don't really use it for Windows, at least not for the core. (I'm actually not fully up-to-date. Are parts of the user space stuff now coded in C#? I don't think so...) Btw., interestingly, Apple starts to use ObjC more and more on MacOSX. E.g., since 10.6, Finder (the main fs browser) is a Cocoa application now. I guess the Windows Explorer is still C++?