Last week, Facebook announced Graph Search, its own in-house search engine that will also link up to Microsoft's Bing engine for web-based search result. Today, the company announced it has developed its own programming language in an effort to help combat spam on the social networking service.
In a post on Facebook's blog, the company said, "Spam threats to Facebook's site integrity change on a daily, or even hourly, basis. Attackers peddling a 'free iPad 5' scam one day might tempt users with false promises of various gift certificates the next." So Facebook has created the Feature eXtraction Language to be a fast way to fight spam.
The company admits that creating a new programming language "is almost always a bad idea." In fact, FXL is described as " ... a narrowly-optimized implementation of a well-chosen subset of Standard ML (with some customized syntax)"
The blog posts some example FXL code to show how the language can be used to combat spam on Facebook. The post then gets highly technical as it describes how the code finds malicious URLs. The blog adds:
A conventional implementation would evaluate this code top to bottom, left to right. We would fetch data sequentially, conducting an excessive number of network round trips between the machine executing FXL and the reputation service. This is a classic problem of large computer systems: naively mixing business logic with data fetching logic, resulting in pathologically bad performance. A more sophisticated approach would find a way to batch these data fetches in a single network round trip. FXL was designed to do precisely this and automate these data fetches.
With Facebook now at over a billion users, it makes sense to create code that will find and do away with spam attacks. Facebook seems to think FXL does this job as fast and as efficiently as possible.
Source: Facebook | Image via Facebook