Live data from Hacker News

iOS at Facebook [pdf]

static1.squarespace.com

51–60 of 111 posts

Re: iOS at Facebook [pdf]

#51
post #45
post #4

Earlier quoted context omitted.

Sloppy?! Those guys have needs the majority of us will never need to deal with. Did you read the presentation? If anything they're the opposite of sloppy.

Their needs don't explain all the redundant and unused code. It's slop, plain and simple.

It's not. It's just decoupling. Redundant code exists because different groups of people needed the same thing in different contexts (with probably slightly different requirements), and co-ordinating to keep this stuff centralised is hard, and most of all time-consuming.

This has two clear advantages. You don't need to fill a form every time you change the smallest of functions and when you mess up, you don't impact everyone else. Honestly, I don't get the negativity.

EDIT: I don't mention dead code because that can be, if really needed, removed by a tool so I think the point is moot.

Re: iOS at Facebook [pdf]

#52
It's all a bunch of bored engineers looking for ways to be clever but without anyone to take ownership of the codebase.

There is absolutely no reason for the Facebook app to be so large and have so many classes. The app itself doesn't do that much.

Re: iOS at Facebook [pdf]

#53
post #32

Earlier quoted context omitted.

That may be successful for the software companies. But pity the user who's stuck with old hardware and wants to know why used computers don't last as long as used cars. Maybe when Moore's Law finally becomes invalid...

Yep. 2005 G5 powermac. Totally usable machine. Can get a dual 2.5GHz boz with 4Gb of RAM for equivalent $40 in the UK. But no, it's stuck on OSX 10.5...

Sounds like a job for Debian!

Re: iOS at Facebook [pdf]

#54
So i guess maybe Apple didn't code their ios and ios apps using xcode, xcode-git, autolayout and coredata after all. Because their scale seems pretty big too.

Re: iOS at Facebook [pdf]

#55
post #33

Earlier quoted context omitted.

What keywords do you think the interviewer was looking for? Was it along the lines of "disruptive", "game-changing", "innovative", etc.?

I don't remember what all of them were, but I specifically remember one of them had the words "Toll Booth" in it, like "Toll Booth Blah", where blah is the key word I can't remember. It's some networking/communication concept, I think. The phone interview person had a fairly difficult accent too so I don't think I even heard the whole answer. I've only ever encountered the term once online since. I just tried to Goog…

Is it Toll-Free Bridging?

Re: iOS at Facebook [pdf]

#56

Earlier quoted context omitted.

I don't remember what all of them were, but I specifically remember one of them had the words "Toll Booth" in it, like "Toll Booth Blah", where blah is the key word I can't remember. It's some networking/communication concept, I think. The phone interview person had a fairly difficult accent too so I don't think I even heard the whole answer. I've only ever encountered the term once online since. I just tried to Goog…

Is it Toll-Free Bridging?

Yep, that was it. Man, I really misremembered that. It's an Objective-C thing, which makes sense, because it was for an iOS position. I knew the idea behind it, but I had never encountered the term. I do remember I ran into it again while preparing for interviews again a year ago. I'm deep in .NET territory for work and Python for fun right now, so my iOS knowledge has atrophied a bit.

Re: iOS at Facebook [pdf]

#57

It's interesting to note that this presentation strongly contradicts the advice of "The Pragmatic Programmer" and "Clean Code", which are highly respected by many. Does this mean that those books are wrong, or does it mean that Facebook will eventually come to regret their philosophy? Or maybe writing this kind of code is somehow fundamentally different, so the usual wisdom and rules of thumb don't apply. I really do…

I think what it means is that as it stands now, there is no definite good/bad way to make successful software. There are just opinions.

Re: iOS at Facebook [pdf]

#58
post #32

Earlier quoted context omitted.

Yep. 2005 G5 powermac. Totally usable machine. Can get a dual 2.5GHz boz with 4Gb of RAM for equivalent $40 in the UK. But no, it's stuck on OSX 10.5...

Sounds like a job for Debian!

Debian was a complete dick on my old ppc g4. It sort of put me off. The was going to try FreeBSD but I have to persuade the wife to let me buy a g5 yet as they're large, noisy and entirely unnecessary. I just want one to play with and go ooh and aah and stuff :)

I did the same with old SPARC kit a number of years ago too.

Re: iOS at Facebook [pdf]

#59
post #51
post #45

Earlier quoted context omitted.

Their needs don't explain all the redundant and unused code. It's slop, plain and simple.

It's not. It's just decoupling. Redundant code exists because different groups of people needed the same thing in different contexts (with probably slightly different requirements), and co-ordinating to keep this stuff centralised is hard, and most of all time-consuming. This has two clear advantages. You don't need to fill a form every time you change the smallest of functions and when you mess up, you don't impact…

> I don't mention dead code because that can be, if really needed, removed by a tool so I think the point is moot.

It can easily be cleaned up in an automated fashion and they don't do it. That's exactly what everyone means by slop. If you could pick up the clothes on your floor but don't, it's not because you're a hacker.

Update: not only do they not clean it up, they ship this shit to a billion people. Talk about lazy.

Re: iOS at Facebook [pdf]

#60
post #39

So the main purpose of most of the 18000 classes is to make it possible for the app to scale up to 18000 classes? :)

Partly! The tools they mentioned (IDE, Mercurial) don't impact the app itself though. Which makes them irrelevant and doesn't factor into why their codebase is massive.
Post reply on HN