What is Code Response
Paul Ford’s writing provided a nuanced look into the culture of and concepts behind coding, as well as a pretty funny example of coder VP relations, and several amusing, although occasionally frustrating, little games to play with. What I’m really interested in however is his section on algorithms, both because I’m still unsure about part of it, and because I’m fascinated by the concept of efficiency that seems to be such an important part of Computer Science. I appreciate the explanation of how an algorithm becomes software, and the idea that programming languages are just algorithm management systems really made the whole thing click for me. What I still don’t get is what do we call “Facebook’s Algorithm” know? I always thought it was in reference to how Facebook sorts what is newsworthy for each individual person, which sounds to me like it is following an algorithm (especially because Mr. Ford describes a hypothetical language detection app as an algorithm). I understand that it is not called an algorithm, but my question is what exactly is it doing? How does Facebook determine what to show, and what is the process called?
Paul Ford’s description of algorithms also helped me better understand several aspects of code. The reusability and modularity of these libraries of functions makes the whole process sound much more approachable, for many tasks there exists some kind of reasonable, and pre made, solution. The modularity returns later when he talks about SDKs and modular libraries, as well as the great wealth of online resources that seem to exist solely to provide pieces of code that work and can be repurposed. The cool part is that all of this modularity then comes at the expense of time. You never consider that it takes your computer anytime to do the math behind the scenes, or that its actually terrible at math, but the fact that that time becomes no only noticeable, but overwhelming when you reach the scale of millions of users totally destroys the approachability of a modular system. Suddenly you have to know all the tips and tricks to efficiency, the best language for a given task, and even what machine (physical or virtual) to run it on. Programming, in so far as it is the repurposing of premade bits and pieces to do what you want, seems understandable, maybe even doable, like a 3,000 piece puzzle. You don’t have the time for it, but it makes sense, and you know people do it. Computer science, however, seems absolutely terrifying.