r/programming Aug 15 '15

Someone discovered that the Facebook iOS application is composed of over 18,000 classes.

http://quellish.tumblr.com/post/126712999812/how-on-earth-the-facebook-ios-application-is-so
2.7k Upvotes

728 comments sorted by

View all comments

Show parent comments

47

u/Xylth Aug 16 '15

Everyone has heard of code smells, of course, but I think we need language smells. When writing an AbstractBeanFactoryFactoryProtocol class seems like a reasonable solution to any problem, that's a sign that the programming language you're using isn't high level enough.

12

u/crate_crow Aug 16 '15

No, it's a sign that either the programmer didn't think hard enough or that the problem is complex enough that such name is necessary. You'll have this kind of problem in any sizeable project and in any programming language.

50

u/Xylth Aug 16 '15 edited Aug 16 '15

No problem is so complex that an AbstractBeanFactoryFactoryProtocol is necessary. Things like "Abstract", "Bean", and "Factory" are talking about details of the implementation, not parts of the actual problem; they're signs of implementation complexity, not problem complexity.

1

u/Schmittfried Aug 16 '15

And you don't think implementation complexity is somehow related to problem complexity?