Learn how to effortlessly install the Scala programming language on Linux 9 with our comprehensive guide. Unlock the power of functional programming and scalable application development with this step-by-step tutorial tailored for seamless integration on your Linux environment. #centlinux #linux #scala
Scala is a strong statically typed high-level general-purpose programming language that supports both object-oriented programming and functional programming. Designed to be concise, many of Scala’s design decisions are aimed to address criticisms of Java.
Scala source code can be compiled to Java bytecode and run on a Java virtual machine (JVM). Scala can also be compiled to JavaScript to run in a browser, or directly to a native executable. On the JVM Scala provides language interoperability with Java so that libraries written in either language may be referenced directly in Scala or Java code. Like Java, Scala is object-oriented, and uses a syntax termed curly-brace which is similar to the language C. Since Scala 3, there is also an option to use the off-side rule (indenting) to structure blocks, and its use is advised. Martin Odersky has said that this turned out to be the most productive change introduced in Scala 3.
Unlike Java, Scala has many features of functional programming languages (like Scheme, Standard ML, and Haskell), including currying, immutability, lazy evaluation, and pattern matching. It also has an advanced type system supporting algebraic data types, covariance and contravariance, higher-order types (but not higher-rank types), anonymous types, operator overloading, optional parameters, named parameters, raw strings, and an experimental exception-only version of algebraic effects that can be seen as a more powerful version of Java’s checked exceptions.
The name Scala is a portmanteau of scalable and language, signifying that it is designed to grow with the demands of its users. (Source: Wikipedia)
Scala is a versatile programming language that is used for a wide range of purposes. Some common uses of Scala include:
Overall, Scala’s combination of object-oriented and functional programming features, along with its interoperability with Java, makes it a versatile language suitable for a wide range of applications across different domains.
Scala and Java are both popular programming languages with their own strengths and use cases. Here’s a comparison between the two:
In summary, Scala and Java are both powerful programming languages with their own strengths and trade-offs. Scala offers concise syntax, powerful functional programming features, and interoperability with Java, making it suitable for expressive and scalable applications. Java, on the other hand, is known for its stability, performance, and extensive ecosystem, making it a popular choice for a wide range of applications. The choice between Scala and Java depends on factors such as project requirements, team expertise, and personal preferences.
Recommended Online Training: Scala Programming Language
We are using a minimal Rocky Linux 9 virtual machine with following specifications.
It is a best practice to update your Linux operating system, before installing a new software.
By using a ssh client, connect with your Rocky Linux server as root user.
Refresh your Yum cache by using dnf command.
# dnf makecache Rocky Linux 9 - BaseOS 1.3 kB/s | 4.1 kB 00:03 Rocky Linux 9 - AppStream 1.2 kB/s | 4.5 kB 00:03 Rocky Linux 9 - Extras 974 B/s | 2.9 kB 00:03 Metadata cache created.
Execute following command at Linux bash prompt to update your Linux operating system.
# dnf update -y
If the above command update software packages related to Linux Kernel.
Then, you should reboot your Linux operating system with new Linux Kernel before installing Scala 3 software.
# reboot
After reboot, check the versions of your Linux Kernel and Linux operating system.
# cat /etc/rocky-release Rocky Linux release 9.1 (Blue Onyx) # uname -r 5.14.0-162.12.1.el9_1.0.2.x86_64
Scala 3 requires JVM (Java Virtual Machine). Therefore, you may install Oracle Java or OpenJDK, which is available in standard yum repositories, by using dnf command.
# dnf install -y wget gzip java-17-openjdk
We have also install wget and gzip software packages to download and unzip the Coursier software.
After installation, verify the version of Java.
# java --version openjdk 17.0.6 2023-01-17 LTS OpenJDK Runtime Environment (Red_Hat-17.0.6.0.10-3.el9_1) (build 17.0.6+10-LTS) OpenJDK 64-Bit Server VM (Red_Hat-17.0.6.0.10-3.el9_1) (build 17.0.6+10-LTS, mixed mode, sharing)
Execute wget command to download Coursier setup straight from the Linux commandline.
# wget https://github.com/coursier/launchers/raw/master/cs-x86_64-pc-linux.gz --2023-02-14 21:46:28-- https://github.com/coursier/launchers/raw/master/cs-x86_64-pc-linux.gz Resolving github.com (github.com)... 20.207.73.82 Connecting to github.com (github.com)|20.207.73.82|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://raw.githubusercontent.com/coursier/launchers/master/cs-x86_64-pc-linux.gz [following] --2023-02-14 21:46:29-- https://raw.githubusercontent.com/coursier/launchers/master/cs-x86_64-pc-linux.gz Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.111.133, 185.199.109.133, 185.199.110.133, ... Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.111.133|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 20759374 (20M) [application/octet-stream] Saving to: ‘cs-x86_64-pc-linux.gz’ cs-x86_64-pc-linux. 100%[===================>] 19.80M 1.12MB/s in 19s 2023-02-14 21:46:49 (1.04 MB/s) - ‘cs-x86_64-pc-linux.gz’ saved [20759374/20759374]
Now, use gunzip command to extract Coursier zip file.
# gunzip cs-x86_64-pc-linux.gz
Rename the extracted file to cs for better accessibility. Also grant the execute privilege to cs file.
# mv cs-x86_64-pc-linux cs # chmod +x cs
Execute cs command to initiate Scala 3 installation on Rocky Linux server.
# ./cs setup Checking if a JVM is installed Found a JVM installed under /usr/lib/jvm/java-17-openjdk-17.0.6.0.10-3.el9_1.x86_64. Checking if ~/.local/share/coursier/bin is in PATH Should we add ~/.local/share/coursier/bin to your PATH via ~/.profile, ~/.bash_profile? [Y/n] Y Checking if the standard Scala applications are installed Installed ammonite Installed cs Installed coursier Installed scala Installed scalac Installed scala-cli Installed sbt Installed sbtn Installed scalafmt
Execute .bash_profile to setup Scala environment for your current Bash shell.
# source ~/.bash_profile
To verify Scala 3 installation, check the version of Scala software as follows.
# scala -version Scala code runner version 3.2.2 -- Copyright 2002-2023, LAMP/EPFL
By using vim text editor, create a Scala source file.
# vi HelloWorld.scala
Add following code in this file.
object HelloWorld { def main(args: Array[String]) = { println("HelloWorld!") } }
By using scalac command compile your Scala source file into Java byte code.
# scalac HelloWorld.scala
After successful compilation, you can execute your HelloWorld program.
# scala HelloWorld HelloWorld!
Empower your programming journey by mastering the installation of the Scala programming language on Linux 9. With our comprehensive guide, dive into the world of functional programming and unleash your creativity in building scalable and robust applications. Let this tutorial be your gateway to a new realm of software development possibilities.
Puppy Linux is a fast, lightweight OS designed for speed and simplicity, perfect for old…
Learn how to change Apache document root in Linux by following this step-by-step guide. Adjust…
Discover how to change Apache port in Linux easily. Follow our simple guide to modify…
Learn how to create a virtual host in Apache Server with this comprehensive guide. Set…
Discover 10 practical tasks for the RHCSA exam with step-by-step solutions. Boost your Linux skills…
Discover the ultimate Fail2ban configuration guide. Learn how to set up, customize, and optimize Fail2ban…
This website uses cookies.