Scala in the Commercial Ventures
It’s generally believed that Scala is used in the vast array of the enterprise-connected situations as a multitude of prominent companies exploits the functionality of such a programming language. Although, it’s also clear that there is an abundance of skepticism related to the practicality of Scala, particularly in regards to the real-life commercial use. To this end, it may be helpful to figure out the essence of Scala, the ideology behind it, as well as to see the concrete cases of Scala’s use in the context of business.
The nature of Scala
In its entity, Scala is a programming language that combines two quite distinct programming paradigms, containing the features of both object-oriented and function-oriented languages. Such a technical spectrum undoubtedly has at least two main advantages. First of all, it allows for the exploitation of stability, omnipresence, features, and reputation of any general programming language as it runs on JVM (Java Virtual Machine). Secondly, Scala still provides access to Java libraries, both of third parties and of your own, ultimately granting any borrowing of the matter. Scala easily expands via libraries to tackle various problems, thereby “scaling” in size as its name finally suggests.
Cases in the Enterprise
It’s worth noting that the functionality of Scala long-assured the support form multiple big companies all across the globe. The reasons for that will become apparent after the careful analysis of the real-world business cases:
LinkedIn is the most massive expert networking site, and it has been well-known for integrating Scala into its operating principles. The purest example of so would be Norbert, a framework basing itself in Scala that allows for writing a fast and easy client-server message-based applications, which is thereby implemented in the real-time Social Graph and the Search Engine of LinkedIn. Chris Conrad, a Head of Engineering Team, even says that the “killer feature [of Scala] is the seamless integration of Java and Scala, making it low risk to introduce, and reduces the overhead to experiment. It makes software development a lot less frustrating.” In turn, Scala is merely a much better Java that eases the overall coding process: it’s more clear, concise, re-usable with mixins and traits, and makes up for a simultaneous Actors use. Thus, the choice of Scala over the other programming languages was entirely justified.
When talking about Twitter, a widely recognized social network, it’s vital to realize how majorly it relies on Scala in an array of infrastructure groups. Social adjacency store, name search, “whom to follow,” streaming API, storage systems, and geo service — all are just a few examples of how overreaching is the Scala for Twitter. Factually speaking, Twitter partially switched from Ruby to Scala because of the latter’s flexibility of the language, reliability and high performance. If comparing to Ruby, Scala provides a more robust and stable ground for Twitter’s longly-lived servers, something that can be entirely contributed to the language’s basis in JVM.
Airbnb is an online marketplace where people can easily rent a property for an endured period. It’s a huge platform that’s built with the help of the different programming languages, notably Scala. For the most part, Scala is used in AirBnB for the financial reporting pipeline, a system that calculates the economic impact of different products at distinct points in their cycle. Airbnb primarily exploited Scala because of its immutability, ease of use, and lazy evaluation, thus allowing to address each product separately and make the proper accounting conclusions of it.
Thatcham is a research-focused company that provides various data to help vehicle producers to reduce the costs of insurance claims. The company wants to deliver the data in regards to the safe and cost-effective repair of vehicles, to which end it uses Scala to satisfy its premises. The choice of Scala seemed evident to Thatcham as it allows for more work with less code, has concurrence-ready concepts, and gives an ability to build upon the existing Java models. To this end, the site and the research principles of Thatcham are focused on Scala.
Tumblr, a microblogging social network, has faced a major scaling challenge as it continued to gain popularity all across the globe. One strategy that the platform found appealing was the implementation of microservices, though it failed to organize a well-structured infrastructure. To this end, a company developed Colosseum, a framework built on Scala that aims to address the challenges of the past and provide a clear and concise model for building a high-quality, stable, and reliable microservices to scale. Tumblr found the ability to write mostly expressive codes and design maximally simple DSL with minimum boilerplates appealing, which is why it relied on Scala for such a purpose.
Netflix, the largest movie and TV Show streaming site, is no exception for using Scala in its architecture and design. As the officials of the company claim, Scala plays it out well with the Netflix Platform and the JVM Ecosystem, while simultaneously allowing for borrowing the existing Groovy and Java code. Likewise, lots of powerful Java libraries existing out there in the Netflix’s toolbelt can be easily accessed with Scala, something that the company finds appealing. Scala is the right fit for creating the restful and stable API with different tools that thereby improve the searching algorithms, service’s ML-based watching recommendations, as well as allow for the interactive experimentation.
By looking at the real-life cases of the major firms and companies, it’s possible to note that Scala is an incredibly useful tool for the variety of tasks. Scala allows for constructing the massive-scale projects that are not only highly productive in their nature but also scaled, accordingly to needs. Creating the microservices, exporting the base from the Java libraries, as well as organizing huge, stable, and reliable infrastructures – all is possible with the help of Scala. As the code is always simple, coherent, and concise, it’s no surprise that the multitude of companies continue to exploit Scala.