1. A scalable language
Welcome to Introduction to Scala. Scala is a programming language that is sophisticated AND concise. It powers some of the world's largest websites, applications, and data engineering infrastructures. Historically, Scala was hard to learn. Not anymore.
2. Learn by doing
In this course, you'll master the basics of Scala by writing code for a real Scala program that plays Twenty-One, one of the most popular card games in the world. You'll answer the questions "What is Scala?" and the related "Why use Scala?" You'll answer "Who uses Scala?" by listing common applications of Scala in industry and academia. Starting from this course and proceeding to more advanced ones, you'll step-by-step ascend the stairway to Scala mastery in the world of data.
3. Staircase to mastery
Fun fact: "Scala" means "staircase" in Italian and the logo was inspired by a spiral staircase in the building where the language was born!
4. What is Scala?
Scala is a general-purpose programming language. Pause the video and read Wikipedia's answer to "What is Scala?" Some of that may not make sense, so let's go with an even shorter version for now: Scala is like a newer, improved Java. For context, Java was released in 1996, Scala in 2004.
5. What is Scala?
The next sentence might not make much sense right now either, but it's important. In bold, Scala source code runs on a Java virtual machine. This means Scala runs wherever Java code runs and that means on a LOT of existing infrastructure since Java is so popular.
6. Why use Scala?
The first answer to "Why use Scala?" is in its name: Scala stands for scalable language. It is designed to grow with the demands of its users, from writing small scripts (which you'll do in this course) to building massive systems for data processing, distributed computing, and more (just like the engineers at these companies do).
7. The cathedral vs. the bazaar
An analogy borrowed from Eric Raymond's The Cathedral and the Bazaar book is apt. A cathedral is a building with rigid perfection. It takes a long time to build and rarely changes after being built. A bazaar, on the other hand, is flexible. It is adapted and extended often by the people working in it. Scala is like a bazaar as it is designed to be adapted and extended by the people programming in it. It's not a perfectly complete language. Instead, everything is customizable to your program's requirements, whether a small script or a massive system, which often need different programming constructs.
8. Flexible and convenient
Yes, Scala the bazaar is flexible. In more advanced courses, you'll experience growing customized types, collections, and control structures that still feel native to the language. So yes, Scala's flexible, but it's also convenient. In this course, you'll use what's predefined in the Scala standard library, which cover the most popular use cases and are the foundations of the customized constructs you'll see later. Bottom line for now: your program won't outgrow Scala.
9. Who uses Scala?
If you search "Scala" on job boards, the most common job titles you'll see are variants of software engineer, including software developer, backend engineer, and others, and then data engineer. You'll also see data scientist and machine learning engineer more frequently as companies in all industries realize the challenges of analyzing big data. These companies are adopting Scala alongside data processing tools like Apache Spark, which is written in Scala!
10. Who uses Scala?
On DataCamp, we're focusing on the latter three roles in ALL industries.
11. Who uses Scala?
These high-paying roles combined with exploding demand and a relative scarcity of talent means those who use Scala get paid. Well.
12. Let's practice!
Let's reinforce what you now know about Scala with some conceptual exercises.