the tradeoff for high level languages is supposed to be that you gain a lot of expressivity (requiring fewer lines for a developer to express their intent) and you lose performance because of the multiple layers of abstraction required.
10 million lines of code for an Android app, or family of apps, feels like the tradeoff has definitely not born fruit.
operating systems written in Assembly have far fewer lines of code than this.
I think the point stands: the amount of complexity involved in each little piece of app is huge when taking into account dozens of countries and customizations by city.
If it still doesn't seem worthy of 'thousands of engs', imagine breaking down every point in the list to the level of detail the author broke down payments. And then apply the logic in the top comment mentioning backend systems + teams to support other processes (and internal tools needed).
interesting how much of this is glue -- like if mobile had better support for inter-app handoff, these flows could be entirely delegated to external provider's app (paypal, venmo, support saas)
(though hard to generalize to other parts of the app, bc payments is inherently glue-y)
constantly wonder what kind of support layer would make UX integration user-friendly, but also developer-friendly
it really is. a sibling comment of yours points out some info posted by a former Uber engineer about why, and even considering that, 10 million lines seems extremely high.
Windows XP is smaller than the Facebook app for Android...
the tradeoff for high level languages is supposed to be that you gain a lot of expressivity (requiring fewer lines for a developer to express their intent) and you lose performance because of the multiple layers of abstraction required.
10 million lines of code for an Android app, or family of apps, feels like the tradeoff has definitely not born fruit.
operating systems written in Assembly have far fewer lines of code than this.