Chief Marketing Officer Practicum by Yandex, edtech expert, practicum.yandex.com
In the early 2000s, the future of Java looked doubtful. Other programming languages had emerged, and Java no longer looked as attractive as it once had, even though it was still very widely used. Along came Scala.
Scala had several ideas in mind:
Despite all those good things, Scala never took off as a mainstream language. In this article, I won’t dive into all the reasons why, but rather focus on whether a beginner should start with Scala or learn it in the first couple of years.
There’s a lot of talk about which languages beginners should choose. And it makes sense: if you go into programming, you want to learn a language that will serve you well for many years. But there’s a catch.
If you need a ‘hello world’ type of program that does simple computation and basic work with files, you can use any language. They all have the basic functionality to do those things in pretty much identical ways. Running loops, getting some user input, processing that input, even sending it somewhere — you can accomplish all of that in almost any language relatively easily. And since you’re only beginning to learn programming, you’ll be writing simple programs for months.
Scala isn’t the simplest language in the whole world to learn. For beginner tasks, however, Scala won’t be too different than Python, which is considered a very beginner-friendly language.
However, after some time with Scala, you’ll need to move on to more complex software. And here is where things get interesting.
Today’s software is complicated. A single program can have thousands of variables. It can require objects, classes of objects, and inheritance, which means basing objects and classes on other objects and classes. A single program may need parallel processes, asynchronous processes, and interface-related processes in which data is exchanged across boundaries. It can involve multiple views, different screens, and a whole bunch of other complexity.
For example, for a web app, you need something small and light to load in a browser over the web. For software embedded in hardware, you need to make the code as small as possible. For slower machines, you need to optimize the code for that specific hardware. Or maybe you have a library that you need to use, and that library is only accessible through a certain language.
It’s not like developers want to make their software complex on purpose. They need all this complexity for their products to work properly.
But to properly pick a language in these cases, you first need to:
Once you’ve reached that stage, then it finally makes sense to discuss whether to pick Scala over Java; or move to Python; or do it all in C++. It’s not like you choose Scala over Java. It’s more like…your experience and expertise lead you to a certain solution.
No, you shouldn’t start Scala as your first language because it’s not super beginner friendly.
When you need Scala, you’ll transition into it smoothly.
So, if you’re interested in coding, feel free to explore our educational resources. We offer online education and mentorship to help you build a successful career in tech. Beginners welcome!
Create your free account to unlock your custom reading experience.