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, but not anymore. In this course, you'll master the basics of Scala by writing code for a real Scala program that plays 21, one of the most popular card games in the world.
Throughout this course, you'll answer questions about what is Scala and why use Scala. You'll also identify who uses Scala by listing common applications of Scala in industry and academia, starting from this course and proceeding to more advanced ones. As you progress through the course, you'll step-by-step ascend the stairway to Scala mastery in the world of data.
Fun fact: Scala means staircase in Italian and the logo was inspired by a spiral staircase in the building where the language was born. This interesting tidbit gives a glimpse into the origins of the language and its unique name.
What is Scala?
For those who may not be familiar with Scala, let's take a look at Wikipedia's answer to what is Scala. As it turns out, some of that information may not make sense right now, so we'll focus on an even shorter version for now. According to this concise definition, Scala is like a newer improved Java. This comparison makes sense when considering the release dates of these programming languages: Java was released in 1996 and Scala in 2004.
One key point to note about Scala's source code is that it runs on a Java Virtual Machine (JVM). This means that Scala runs wherever Java code runs, which includes on a lot of existing infrastructure since Java is so popular. As a result, the first answer to why use Scala is indeed in its name: **Scala** stands for scalable language. It's designed to grow with the demands of its users, from writing small scripts to building massive systems for data processing, distributed computing, and more.
The Analogy of the Cathedral and the Bazaar
A helpful analogy to understand Scala's philosophy comes from Erich Raymond's book "The Cathedral and the Bazaar". In this analogy, a **Cathedral** is a building with rigid perfection that takes a long time to build and rarely changes after being built. On the other hand, a **Bazaar** is flexible, adapted, and extended often by the people working in it. Scala is like a bazaar as it's designed to be adaptable and extendable by its users.
This means that Scala is not a perfectly complete language; everything is customizable to your program's requirements, whether you need small scripts or massive systems with different programming constructs. Yes, Scala's bazaar is flexible, but it's also convenient in this course, where you'll use what's predefined in the Scala standard library, which covers the most popular use cases and are the foundations of the customized constructs you'll see later.
Job Opportunities with Scala
If you search Scala on job boards, you'll often see variants of software engineer, including software developer, back-end engineer, and others. You may also see data engineer, as well as data scientist and machine learning engineer more frequently. This is because companies in all industries are realizing the challenges of analyzing big data and adopting Scala alongside data processing tools like Apache Spark.
The latter three roles – software engineer, data engineer, and machine learning engineer – combined with exploding demand and a relative scarcity of talent, mean that those who use Scala get paid well. In this course, we'll be focusing on these high-paying roles in all industries, so let's reinforce what you need to know about naming your profession.
"WEBVTTKind: captionsLanguage: enwelcome 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 in this course you'll master the basics of Scala by writing code for a real Scala program that plays 21 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 fun fact Scala means staircase in Italian and the logo was inspired by a spiral staircase in the building where the language was born 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 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 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 an analogy borrowed from Erich 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 programs requirements whether a small script or a massive system which often need different programming constructs 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 is 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 if you search Scala on job boards the most common job titles you'll see are variants of software engineer including software developer back-end 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 on data camp we are focusing on the latter three roles in all industries these high-paying roles combined with exploding demand and a relative scarcity of talent means those who use Scala get paid well let's reinforce what you namewelcome 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 in this course you'll master the basics of Scala by writing code for a real Scala program that plays 21 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 fun fact Scala means staircase in Italian and the logo was inspired by a spiral staircase in the building where the language was born 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 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 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 an analogy borrowed from Erich 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 programs requirements whether a small script or a massive system which often need different programming constructs 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 is 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 if you search Scala on job boards the most common job titles you'll see are variants of software engineer including software developer back-end 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 on data camp we are focusing on the latter three roles in all industries these high-paying roles combined with exploding demand and a relative scarcity of talent means those who use Scala get paid well let's reinforce what you name\n"