Ask HN: Is there spaghetti code in e.g. iOS?
Whenever I work on software, I find that it usually has some parts that shine and others that smell.
This makes me wonder if there's also code smells in "big" software like iOS or Gmail that should be rewritten?
Any experience? I haven't touched Apple code in a few years, but in the past while doing development on their platforms, I've often downloaded code from opensource.apple.com or the darwin project, and I've usually encountered very high quality code (at least for the low level stuff I was looking at - primarily audio subsystems and objc language). You can actually learn quite a bit looking at these codebases, and I'm glad they opened up as much as they did. Did they have a choice to open up as much as they did? The instant questioning of motives has always bothered me. Starting from a position of distrust makes for poor cooperation, and lower productivity. It seems your questioning his motives as starting from a position of distrust, rather than curiosity :^) Not sure about spaghetti, but they sure as hell has shit tons of bug in iOS , https://openradar.appspot.com/ I'm currently working working with another publicly traded SF company that you've heard of, and yes. They have really big, old, codebases, and yes parts of them are nearly incomprehensible. The thing is, they recognize the bad parts and work to fix them when it makes sense. Companies with bad technical leadership will ignore the bad parts- like wallpapering over a crumbling wall.